
Le système d'alerte de puissance est un script Python conçu pour surveiller votre réseau pour les pannes de courant. Il vérifie si votre modem et votre routeur sont en ligne. S'ils le sont, il continue de surveiller d'autres dispositifs spécifiés. Le script envoie des notifications par e-mail lorsque les appareils sont hors ligne ou revenez en ligne, vous en tirant au courant de l'état de votre réseau.
Recommandation : Ce script est particulièrement utile pour les systèmes où l'infrastructure réseau (modem, routeur et serveur) est distincte des appareils surveillés. Il garantit que la surveillance commence uniquement une fois que le réseau central est pleinement opérationnel. Pour une fiabilité améliorée, il est recommandé d'utiliser au moins deux appareils pour la surveillance: un connecté via Ethernet et un autre via Wi-Fi. Cette configuration permet de garantir que les problèmes de réseau affectant un type de connexion n'empêchent pas la détection des problèmes de réseau. Testé sur Raspberry Pi 4.


smtplib , email , locale (inclus avec Python) Configuration des e-mails:
Le script prend en charge l'envoi d'e-mails à l'aide de divers serveurs SMTP. Vous pouvez configurer le script pour utiliser votre service de messagerie préféré en ajustant les paramètres SMTP. Voici quelques exemples:
Assurez-vous de remplacer les valeurs d'espace réservé par vos paramètres de messagerie réels:
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 = 587IPS de l'appareil:
Définissez les adresses IP des appareils que vous souhaitez surveiller:
device_ips = [ '192.168.0.23' , '192.168.0.9' ]Configurez les adresses IP pour votre modem et routeur:
modem_ip = '192.168.1.254'
router_ip = '192.168.0.1'Paramètre des paramètres régionaux: Le script est configuré pour utiliser un paramètre par défaut pour la mise en forme de date et d'heure, en particulier le «C», pour garantir un comportement cohérent sur différents systèmes. Si vous avez besoin d'un lieu différent, vous pouvez ajuster la ligne suivante:
locale . setlocale ( locale . LC_TIME , 'C' ) # Default locale Exécutez le script:
Exécutez le script à l'aide de Python:
python power_alert . pyComportement du script:

Robustesse pour l'utilisation du service: ce script est conçu pour être fiable pour une utilisation en tant que service. Il garantit que les processus de surveillance et de notification sont résistants aux changements d'infrastructure réseau. Spécifiquement:
Assurez-vous d'avoir un accès réseau aux appareils et au serveur de messagerie spécifié.
Ajustez l'intervalle de time.sleep(10) .
Ce projet est concédé sous licence Apache 2.0 - Voir le fichier de licence pour plus de détails.