파이썬 웹훅을 활용한 실시간 도난 방지 시스템 구축하기
소개
도난은 누구에게나 발생할 수 있는 위험한 사건입니다. 파이썬을 이용하여 웹훅(Webhook)을 활용하여 실시간 도난 방지 시스템을 구축하는 방법을 살펴보겠습니다. 이 시스템을 통해 도난 상황이 감지되면 즉시 이메일 알림을 받을 수 있습니다.
준비물
- Raspberry Pi 또는 기타 모니터링 장치
- PIR 센서 (Passive Infrared Sensor)
- 이메일 계정
PIR 센서 연결
PIR 센서를 Raspberry Pi에 연결합니다. GPIO 핀 배치에 따라 연결하며, 다음과 같은 연결 방법을 사용할 수 있습니다:
- VCC: 5V
- GND: GND
- OUT: 사용할 GPIO 핀
파이썬 코드 작성
다음은 PIR 센서의 동작을 감지하고 이메일로 알림을 보내는 파이썬 코드입니다:
import RPi.GPIO as GPIO
import time
import smtplib
# GPIO 핀 번호 설정
GPIO_PIN = 14
# 이메일 발신자 및 수신자 설정
sender_email = "your_email@gmail.com"
receiver_email = "recipient_email@gmail.com"
# SMTP 서버 설정
smtp_server = "smtp.gmail.com"
smtp_port = 587
smtp_username = "your_email@gmail.com"
smtp_password = "your_password"
# GPIO 초기화
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN, GPIO.IN)
def send_email():
message = "도난이 감지되었습니다!"
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(smtp_username, smtp_password)
server.sendmail(sender_email, receiver_email, message)
try:
while True:
if GPIO.input(GPIO_PIN):
send_email()
time.sleep(10)
except KeyboardInterrupt:
GPIO.cleanup()
웹훅 설정
웹훅은 액션을 트리거하는 이벤트 발생 시점에 HTTP POST 요청을 보내는 방식입니다. 파이썬 코드를 실행하여 도난 감지 이벤트가 발생할 때 웹훅을 호출합니다. 웹훅을 사용하여 서버나 클라우드 서비스에 알림을 보낼 수 있습니다.
시스템 테스트
위의 파이썬 코드를 실행하여 도난 감지 시스템을 테스트할 수 있습니다. PIR 센서가 감지한 동작은 이메일로 알림이 전송되어야 합니다. 이메일을 확인하고 도난 감지 알림이 정상적으로 동작하는지 확인하세요.
결론
파이썬 웹훅을 활용하여 실시간 도난 방지 시스템을 구축하는 방법을 알아보았습니다. 이를 통해 강력한 보안 메커니즘을 갖춘 도난 방지 시스템을 구축할 수 있습니다. 이러한 시스템은 가정이나 사무실, 상업적인 환경 등 여러 곳에서 적용할 수 있습니다.
#python #웹훅 #도난방지