
Система оповещения о мощности - это скрипт Python, предназначенный для мониторинга вашей сети для отключений электроэнергии. Он проверяет, если ваш модем и маршрутизатор онлайн. Если они есть, он продолжает следить за другими указанными устройствами. Скрипт отправляет уведомления по электронной почте, когда устройства выйдут в автономном режиме или возвращаются в Интернет, сохраняя вас в курсе статуса вашей сети.
Рекомендация : Этот сценарий особенно полезен для систем, где сетевая инфраструктура (модем, маршрутизатор и сервер) отделен от контролируемых устройств. Это гарантирует, что мониторинг начинается только после того, как основная сеть будет полностью работой. Для повышения надежности рекомендуется использовать как минимум два устройства для мониторинга: одно подключено через Ethernet, а другое через Wi-Fi. Эта настройка помогает гарантировать, что сетевые проблемы, влияющие на один тип подключения, не предотвращают обнаружение проблем сети. Протестировано на Raspberry Pi 4.


smtplib , email , locale (включены в Python) Конфигурация электронной почты:
Сценарий поддерживает отправку электронных писем с использованием различных серверов SMTP. Вы можете настроить скрипт для использования предпочтительной службы электронной почты, настраивая настройки SMTP. Вот несколько примеров:
Обязательно замените значения заполнителей на фактические настройки электронной почты:
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 = 587Устройство IPS:
Установите IP -адреса устройств, которые вы хотите контролировать:
device_ips = [ '192.168.0.23' , '192.168.0.9' ]Настройте IP -адреса для вашего модема и маршрутизатора:
modem_ip = '192.168.1.254'
router_ip = '192.168.0.1'Настройка локализации: сценарий настроен на использование локали по умолчанию для форматирования даты и времени, в частности «C», чтобы обеспечить последовательное поведение в разных системах. Если вам нужен другой локаль, вы можете настроить следующую строку:
locale . setlocale ( locale . LC_TIME , 'C' ) # Default locale Запустите сценарий:
Выполнить скрипт с помощью Python:
python power_alert . pyПоведение скрипта:

Надежность использования услуг: этот скрипт предназначен для того, чтобы быть надежным для использования в качестве услуги. Это гарантирует, что процессы мониторинга и уведомлений устойчивы к изменениям сетевой инфраструктуры. Конкретно:
Убедитесь, что у вас есть сетевой доступ к указанным устройствам и почтовому серверу.
Отрегулируйте интервал time.sleep(10) по мере необходимости для вашей частоты мониторинга.
Этот проект лицензирован по лицензии Apache 2.0 - см. Файл лицензии для получения подробной информации.