#URL = 'https://proyecto2-cc4da-default-rtdb.firebaseio.com/.json'
#r = urequests.patch(URL, data = '{"LED": {"led1": "RED", "led2": "GREEN"}')
#results = r.json()
#print(results)
import network
import urequests
from machine import I2C, Pin
from time import sleep,time
import dht
import json
from i2c_lcd import I2cLcd
AddressOfLcd = 0x27
i2c = I2C(scl=Pin(22), sda=Pin(21), freq=400000) # connect scl to GPIO 22, sda to GPIO 21
lcd = I2cLcd(i2c, AddressOfLcd, 2, 16) #(connection, address, rows, columns)
cod_sensor = 1;
sensor = dht.DHT22(Pin(15))
led = Pin(2, Pin.OUT)
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("Wokwi-GUEST", "") #(ssid, password)
while not wlan.isconnected():
pass
URL = 'https://proyecto2-cc4da-default-rtdb.firebaseio.com/Sensor/.json'
while True:
try:
sleep(2)
sensor.measure()
temp = sensor.temperature()
ct = 20220910
if (temp <= 15):
stat = 0
elif (temp > 15 and temp <= 25):
stat = 1
else:
stat = 2
r = urequests.patch(URL, data = '{"Timestamp":' + f"{ct}," + '"ID":' + f"{cod_sensor}," + '"Temperature":' + f"{temp}," + '"Status":' + f"{stat}" + '}')
results = r.json()
for i in range(5):
led.value(1)
sleep(0.5)
led.value(0)
sleep(0.5)
lcd.putstr("Successful Upload")
sleep(1)
lcd.clear()
lcd.putstr("ID:")
lcd.move_to(0,1)
lcd.putstr(str(results["ID"]))
sleep(1)
lcd.clear()
lcd.putstr("Temperature:")
lcd.move_to(0,1)
lcd.putstr(str(results["Temperature"]) + " C")
sleep(1)
lcd.clear()
lcd.putstr("Status:")
lcd.move_to(0,1)
lcd.putstr(str(results["Status"]))
sleep(1)
lcd.clear()
lcd.putstr("Timestamp:")
lcd.move_to(0,1)
ct = str(results["Timestamp"])
lcd.putstr(ct[0:4] + '-' + ct[4:6] + '-' + ct[6:8])
sleep(1)
lcd.clear()
except OSError as e:
print("Failed to read sensor !!!")