Recuperem les dades de Thingspeak i mostrem-les en la consola
Evitarem l'ús de pauses bloquejants (sleep):
ticks_ms() permet comptar el temps que ha passat sense bloquejar l’execució
Recuperem les dades de Thingspeak i mostrem-les en la consola
Evitarem l'ús de pauses bloquejants (sleep):
ticks_ms() permet comptar el temps que ha passat sense bloquejar l’execució
# --- llibreries
import urequests # per fer peticions http
import miwifi # llibreria pròpia per connectar a WiFi
from time import ticks_ms, ticks_diff # per gestionar el temps sense sleep
# --- Variables de temps
interval = 10000 # actualització cada 10 segons (10.000 ms)
# actualització definitiva cada 5 min = 300 s (300.000 ms)
last_update = ticks_ms()
# --- Configuració Wi-Fi i ThingSpeak
ssid = 'xxx'
psw = 'yyy'
# adreça de recuperació de dades del canal:
url = 'https://api.thingspeak.com/channels/1825502/feeds.json?results=1'
miwifi.connecta_wifi(ssid, psw) # connecta a WiFi
def recupera():
global temp, pres, hum, lux, uv # per poder utilitzar els valors fora de la funció
# Fer consulta a ThingSpeak
consulta = urequests.get(url)
data = consulta.json()
consulta.close()
# recuperar les dades
temp = data["feeds"][0]["field1"]
pres = data["feeds"][0]["field2"]
hum= data["feeds"][0]["field3"]
lux= data["feeds"][0]["field4"]
uv = data["feeds"][0]["field5"]
def mostra_consola():
# mostra les dades recuperades en la consola
print("Temperatura:",temp)
print("Pressio:",pres)
print("Humitat:",hum)
print("Iluminacio:",lux)
print("UV:",uv)
print('....')
while True:
ara = ticks_ms()
if ticks_diff(ara, last_update) >= interval:
try: # l'estructura try / except fa que si hi ha errors el programa continui funcionant
recupera()
mostra_consola()
last_update = ara
except Exception as e:
print("Error:", e)