import network
from machine import I2C, Pin
import ssd1306
import urequests
import ujson
# Configuração da conexão Wi-Fi
WIFI_SSID = "SeuSSID"
WIFI_PASSWORD = "SuaSenha"
# Configuração do display OLED
i2c = I2C(-1, scl=Pin(22), sda=Pin(21))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# URL para obter os dados JSON
api_url = "https://api.thingspeak.com/channels/2295867/feeds.json?api_key=1WO0C8C2TDGUDHP4&results=10"
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
if not wlan.isconnected():
print("Conectando ao Wi-Fi...")
wlan.active(True)
wlan.connect(WIFI_SSID, WIFI_PASSWORD)
while not wlan.isconnected():
pass
print("Conectado ao Wi-Fi")
def http_get_request(url):
response = urequests.get(url)
return response.text
def main():
connect_wifi()
# Fazer a solicitação HTTP e analisar o JSON
response = http_get_request(api_url)
data = ujson.loads(response)
if "feeds" in data:
feeds = data["feeds"]
for feed in feeds:
temperature = feed.get("field1")
created_at = feed.get("created_at")
# Exiba a temperatura e a data no display OLED
oled.fill(0)
oled.text("Temp: {} C".format(temperature), 0, 0)
oled.text("Date: {}".format(created_at), 0, 20)
oled.show()
# Adicione aqui o código para desenhar o gráfico com base nos valores lidos
# Você pode usar os comandos do display OLED para desenhar o gráfico.
# Aguarde um intervalo de tempo (por exemplo, 5 segundos)
utime.sleep(5)
if __name__ == "__main__":
main()