
ระบบการแจ้งเตือนพลังงาน เป็นสคริปต์ Python ที่ออกแบบมาเพื่อตรวจสอบเครือข่ายของคุณสำหรับการหยุดทำงานของพลังงาน ตรวจสอบว่าโมเด็มและเราเตอร์ของคุณออนไลน์หรือไม่ หากเป็นเช่นนั้นจะดำเนินการตรวจสอบอุปกรณ์ที่ระบุอื่น ๆ สคริปต์ส่งการแจ้งเตือนทางอีเมลเมื่ออุปกรณ์ออฟไลน์หรือกลับมาออนไลน์ทำให้คุณอัปเดตสถานะเครือข่ายของคุณ
คำแนะนำ : สคริปต์นี้มีประโยชน์อย่างยิ่งสำหรับระบบที่โครงสร้างพื้นฐานเครือข่าย (โมเด็มเราเตอร์และเซิร์ฟเวอร์) แยกออกจากอุปกรณ์ที่ตรวจสอบ ช่วยให้มั่นใจได้ว่าการตรวจสอบจะเริ่มขึ้นเมื่อเครือข่ายหลักทำงานได้อย่างสมบูรณ์ สำหรับความน่าเชื่อถือที่ได้รับการปรับปรุงขอแนะนำให้ใช้อุปกรณ์อย่างน้อยสองตัวสำหรับการตรวจสอบ: หนึ่งเชื่อมต่อผ่านอีเธอร์เน็ตและอีกทางหนึ่งผ่าน 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 License 2.0 - ดูไฟล์ใบอนุญาตสำหรับรายละเอียด