
Power Alert Systemは、停電のためにネットワークを監視するように設計されたPythonスクリプトです。モデムとルーターがオンラインであるかどうかを確認します。もしそうなら、それは他の指定されたデバイスを監視するようになります。スクリプトは、デバイスがオフラインになったり、オンラインで戻ったりしたときに電子メール通知を送信し、ネットワークのステータスを更新し続けます。
推奨事項:このスクリプトは、ネットワークインフラストラクチャ(モデム、ルーター、サーバー)が監視対象のデバイスとは別のシステムに特に役立ちます。これにより、コアネットワークが完全に動作する場合にのみ監視が開始されることが保証されます。信頼性を向上させるには、監視に少なくとも2つのデバイスを使用することをお勧めします。1つはイーサネットを介して接続され、別のデバイスをWi-Fiで使用します。このセットアップは、1つの接続タイプに影響するネットワークの問題がネットワークの問題の検出を妨げないようにするのに役立ちます。 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に基づいてライセンスされています - 詳細については、ライセンスファイルを参照してください。