
El sistema de alerta de potencia es un script de Python diseñado para monitorear su red para cortes de energía. Verifica si su módem y enrutador están en línea. Si lo son, procede a monitorear otros dispositivos especificados. El script envía notificaciones por correo electrónico cuando los dispositivos se desconectan o vuelven en línea, manteniéndolo actualizado sobre el estado de su red.
Recomendación : Este script es particularmente útil para sistemas donde la infraestructura de red (módem, enrutador y servidor) está separada de los dispositivos monitoreados. Asegura que el monitoreo solo comience una vez que la red central está completamente operativa. Para una mejor confiabilidad, se recomienda usar al menos dos dispositivos para el monitoreo: uno conectado a través de Ethernet y otro a través de Wi-Fi. Esta configuración ayuda a garantizar que los problemas de red que afecten un tipo de conexión no eviten la detección de problemas de red. Probado en Raspberry Pi 4.


smtplib , email , locale (incluido con Python) Configuración de correo electrónico:
El script admite enviar correos electrónicos utilizando varios servidores SMTP. Puede configurar el script para usar su servicio de correo electrónico preferido ajustando la configuración SMTP. Aquí hay algunos ejemplos:
Asegúrese de reemplazar los valores del marcador de posición con su configuración de correo electrónico real:
sender_email = "SENDER_EMAIL"
sender_password = "SENDER_EMAIL_PASSWORD"
receiver_emails = [ "RECEIVER_EMAIL_1" , "RECEIVER_EMAIL_2" ]
smtp_server = "SMTP_SERVER" # e.g., smtp.office365.com for Outlook
smtp_port = 587Dispositivo IP:
Establezca las direcciones IP de los dispositivos que desea monitorear:
device_ips = [ '192.168.0.23' , '192.168.0.9' ]Configurar las direcciones IP para su módem y enrutador:
modem_ip = '192.168.1.254'
router_ip = '192.168.0.1'Configuración local: el script está configurado para usar una localidad predeterminada para el formato de fecha y hora, específicamente 'C', para garantizar un comportamiento consistente en diferentes sistemas. Si necesita una localidad diferente, puede ajustar la siguiente línea:
locale . setlocale ( locale . LC_TIME , 'C' ) # Default locale Ejecute el guión:
Ejecute el script usando Python:
python power_alert . pyComportamiento del guión:

Robustez para el uso del servicio: este script está diseñado para ser confiable para su uso como servicio. Asegura que los procesos de monitoreo y notificación sean resistentes a los cambios de infraestructura de red. Específicamente:
Asegúrese de tener acceso de red a los dispositivos y al servidor de correo electrónico especificado.
Ajuste el intervalo de time.sleep(10) según sea necesario para su frecuencia de monitoreo.
Este proyecto tiene licencia bajo la licencia APACHE 2.0; consulte el archivo de licencia para obtener más detalles.