import network
import time
import machine
import urequests
from machine import Pin
from time import sleep_us,sleep
from hcsr04 import HCSR04
#Configuração do Sensor
sensor1 = HCSR04(trigger_pin=5, echo_pin=18) #Av Vilarinho (-19.809982736785624, -43.965388504423665 )
sensor2 = HCSR04(trigger_pin=19, echo_pin=21) #Av Tereza Cristina (-19.95650382509821, -43.991704460513596)
#Definir variáveis com o nível normal do RIO (em cm)
# Configuração do ThingSpeak
THINGSPEAK_API_KEY = '8Z5GK69UFH6VIKKN'
thingspeak_url = 'https://api.thingspeak.com/update'
#Configuração para o Telegram
TOKEN = "7379889518:AAGBJxMrCIm-or9XNzN41Qx9vk_CryXweZc" #token do BOT
telegram_url = f"https://api.telegram.org/bot{TOKEN}/"
CHAT_ID = "-4272691627" #ID do Grupo do Telegram
def send_message(text, chat_id):
telegram_url_params = f"{telegram_url}sendMessage?text={text}&chat_id={chat_id}"
response = urequests.get(telegram_url_params)
content = response.text
return content
# Conectar à rede Wi-Fi (usando o Public IoT Gateway)
print("Conectando-se ao Wi-Fi", 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(" Conectado!")
while True:
distancia1 = sensor1.distance_cm()
print(f"Distância: {distancia1} cm")
distancia2 = sensor2.distance_cm()
print(f"Distância: {distancia2} cm")
# Envio para o ThingSpeak
thingspeak_url_params = f"{thingspeak_url}?api_key={THINGSPEAK_API_KEY}&field1={distancia1}&field2={distancia2}"
try:
response = urequests.get(thingspeak_url_params) # Remove o argumento 'params'
response.close()
print("Dados enviados para o ThingSpeak!")
except Exception as e:
print(f"Erro ao enviar dados: {e}")
#Envio de mensagem para o Telegram
print(send_message("Aviso: Nivel do rio elevado", CHAT_ID))
time.sleep(15)
#https://randomnerdtutorials.com/micropython-hc-sr04-ultrasonic-esp32-esp8266/