
نظام تنبيه الطاقة هو نص Python مصمم لمراقبة شبكتك لانقطاع التيار الكهربائي. يتحقق مما إذا كان المودم والموجه الخاص بك على الإنترنت. إذا كانت كذلك ، فسيتم مراقبة الأجهزة المحددة الأخرى. يرسل البرنامج النصي إخطارات البريد الإلكتروني عندما تصل الأجهزة إلى الإنترنت أو تعود عبر الإنترنت ، مما يجعلك محدثًا على حالة الشبكة الخاصة بك.
التوصية : يعد هذا البرنامج النصي مفيدًا بشكل خاص للأنظمة التي تكون فيها البنية التحتية للشبكة (المودم ، جهاز التوجيه ، والخادم) منفصلة عن الأجهزة التي يتم مراقبتها. إنه يضمن أن المراقبة تبدأ فقط بمجرد تشغيل الشبكة الأساسية بالكامل. لتحسين الموثوقية ، يوصى باستخدام جهازين على الأقل للمراقبة: أحدهما متصل عبر Ethernet وآخر عبر Wi-Fi. يساعد هذا الإعداد في ضمان أن مشكلات الشبكة التي تؤثر على نوع الاتصال لا تمنع اكتشاف مشاكل الشبكة. تم اختباره على التوت PI 4.


smtplib ، email ، locale (المدرجة مع بيثون) تكوين البريد الإلكتروني:
يدعم البرنامج النصي إرسال رسائل البريد الإلكتروني باستخدام خوادم 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 = 587IPS الجهاز:
اضبط عناوين 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 - راجع ملف الترخيص للحصول على التفاصيل.