from machine import Pin
from utime import sleep, gmtime, time
from datos import apikey, telefono
import urequests
import network
import ntptime
import os
boton = Pin(25, Pin.IN, Pin.PULL_UP)
ssid = "Wokwi-GUEST"
password = ""
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
while not wlan.isconnected():
print("Conectando...")
sleep(1)
print("Conectado a Wi-Fi:", wlan.ifconfig())
# Sincronizar con el servidor NTP
ntptime.host = "pool.ntp.org" # Puedes cambiar esto por la IP del servidor NTP de tu router si está disponible
ntptime.settime()
# Obtener el tiempo UTC en segundos desde Epoch
tiempo_utc = time()
# Ajustar a la zona horaria de Argentina (UTC-3)
desfase_horario = -3 * 3600 # -3 horas en segundos
tiempo_arg = tiempo_utc + desfase_horario
# Obtener la fecha y hora ajustada
año, mes, dia, hora, minuto, segundo, _, _ = gmtime(tiempo_arg)
def url_encode(data):
encoded_data = []
for key, value in data.items():
encoded_key = key.replace(" ", "%20")
encoded_value = value.replace(" ", "%20")
encoded_data.append(f"{encoded_key}={encoded_value}")
return "&".join(encoded_data)
def enviar_mensaje():
url = "https://api.callmebot.com/whatsapp.php"
data = {
"phone": telefono,
"text": f"Alerta enviada a las {hora:02d}:{minuto:02d}:{segundo:02d} - {dia:02d}/{mes:02d}/{año:04d} . Boton activado.",
"apikey": apikey
}
data_encoded = url_encode(data)
full_url = f"{url}?{data_encoded}"
response = urequests.post(full_url)
print("Respuesta del servidor:", response.text)
response.close()
while True:
if boton.value() == 0: # Si el botón está presionado
print("Mandando mensaje")
enviar_mensaje()
sleep(0.5)