import time
import sys
import network
import urequests
from math import pow
from machine import Pin, Timer, ADC
ldr = ADC(34)
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASSWORD = ""
def analog_to_lux(analog_value):
GAMMA = 0.7
RL10 = 33
voltage = analog_value / 4096. * 3.3;
resistance = 2000 * voltage / (1 - voltage / 3.3);
lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
return lux
def connect_to_wifi():
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.disconnect()
wifi.connect(WIFI_SSID,WIFI_PASSWORD)
if not wifi.isconnected():
print('Conectando..')
timeout = 0
while (not wifi.isconnected() and timeout < 10):
print(10 - timeout)
timeout = timeout + 1
time.sleep(1)
if(wifi.isconnected()):
print('Conectado!')
else:
print('NÃO Conectado!')
sys.exit()
print('Config. da rede', wifi.ifconfig())
connect_to_wifi()
HTTP_HEADERS = {'Content-Type': 'application/json'}
THINGSPEAK_WRITE_API_KEY = 'C80JAXRALD4PCGJM'
while True:
lux = analog_to_lux(ldr.read())
print(f'Lux: {lux}')
json = {'field1': lux}
req = urequests.post(f'http://api.thingspeak.com/update?api_key={THINGSPEAK_WRITE_API_KEY}', json=json, headers=HTTP_HEADERS)
print(req.status_code)
req.close()
print(json)
print(f'| Dados enviados |')
time.sleep(10)