
Power Alert System은 정전을 위해 네트워크를 모니터링하도록 설계된 Python 스크립트입니다. 모뎀과 라우터가 온라인 상태인지 확인합니다. 그렇다면 다른 지정된 장치를 모니터링합니다. 스크립트는 장치가 오프라인으로 이동하거나 온라인으로 돌아올 때 이메일 알림을 보냅니다. 네트워크 상태에 대한 업데이트를 유지합니다.
권장 사항 :이 스크립트는 특히 네트워크 인프라 (모뎀, 라우터 및 서버)가 모니터링 된 장치와 분리 된 시스템에 특히 유용합니다. 핵심 네트워크가 완전히 작동하면 모니터링이 시작되도록합니다. 신뢰성을 향상시키기 위해 모니터링을 위해 최소 2 개의 장치를 사용하는 것이 좋습니다 : 하나는 이더넷을 통해 연결되어 있고 다른 하나는 Wi-Fi를 통해 연결됩니다. 이 설정은 하나의 연결 유형에 영향을 미치는 네트워크 문제가 네트워크 문제의 감지를 방해하지 않도록합니다. Raspberry 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 = 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에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.