# import network
# import time
# from machine import Pin
# import dht
# import ujson
# from umqtt.simple import MQTTClient
# # MQTT Server Parameters
# MQTT_CLIENT_ID = "micropython-weather-demo"
# MQTT_BROKER = "broker.mqttdashboard.com"
# MQTT_USER = ""
# MQTT_PASSWORD = ""
# MQTT_TOPIC = "wokwi-weather"
# sensor = dht.DHT22(Pin(15))
# print("Connecting to WiFi", end="")
# sta_if = network.WLAN(network.STA_IF)
# sta_if.active(True)
# sta_if.connect('Wokwi-GUEST', '')
# while not sta_if.isconnected():
# print(".", end="")
# time.sleep(0.1)
# print(" Connected!")
# print("Connecting to MQTT server... ", end="")
# client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
# client.connect()
# print("Connected!")
# prev_weather = ""
# while True:
# print("Measuring weather conditions... ", end="")
# sensor.measure()
# message = ujson.dumps({
# "temp": sensor.temperature(),
# "humidity": sensor.humidity(),
# })
# if message != prev_weather:
# print("Updated!")
# print("Reporting to MQTT topic {}: {}".format(MQTT_TOPIC, message))
# client.publish(MQTT_TOPIC, message)
# prev_weather = message
# else:
# print("No change")
# time.sleep(1)
import network
import time
import urequests
from machine import Pin
from leitura import SenaiDHT
# from wifi import conectaWifi
# Configurações do ThingSpeak
THINGSPEAK_WRITE_API_KEY = 'BMQBVQY5VYRT47UH' # Substitua pela sua chave de gravação do ThingSpeak
# THINGSPEAK_URL = 'http://api.thingspeak.com/update'
THINGSPEAK_URL = 'https://api.thingspeak.com/update'
# Configurações da rede Wi-Fi
SSID = 'Wokwi-GUEST'
PASSWORD = ''
# Função para enviar dados ao ThingSpeak
def enviaThingspeak(temp, umid):
try:
print("Enviando dados ao ThingSpeak...")
# Cria a URL de requisição GET
url = f'{THINGSPEAK_URL}?api_key={THINGSPEAK_WRITE_API_KEY}&field1={temp}&field2={umid}'
response = urequests.get(url)
print(f'Resposta do servidor: {response.text}')
response.close()
except Exception as e:
print(f'Erro ao enviar dados: {e}')
# # Inicializa Wi-Fi
# if not conectaWifi(SSID, PASSWORD):
# raise Exception("Falha ao conectar no Wi-Fi")
# sensor = dht.DHT22(Pin(15))
# print("Connecting to WiFi", end="")
# sta_if = network.WLAN(network.STA_IF)
# sta_if.active(True)
# sta_if.connect('Wokwi-GUEST', '')
# while not sta_if.isconnected():
# print(".", end="")
# time.sleep(0.1)
# print(" Connected!")
# print("Connecting to MQTT server... ", end="")
# client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
# client.connect()
# print("Connected!")
print("Connecting to WiFi")
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("Wokwi-GUEST", "")
while not wlan.isconnected():
print(".", end="")
time.sleep(0.1)
print(" Connected!")
print(wlan.ifconfig())
# print("Connecting to MQTT server... ", end="")
# client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
# client.connect()
# print("Connected!")
# Inicializa o sensor e LED
led = Pin(6, Pin.OUT)
senai = SenaiDHT(15)
while True:
led.on()
print('\nMedindo...')
time.sleep(1)
led.off()
# Obtém temperatura e umidade
temp = senai.getTemperature()
umid = senai.getHumidity()
print(f'Temperatura: {temp:.1f} °C, Umidade: {umid:.1f}%')
# Envia para o ThingSpeak
enviaThingspeak(temp, umid)
# Aguarda antes da próxima leitura (o ThingSpeak permite atualizações a cada 15 segundos)
time.sleep(15)