- ส่วนประกอบที่ต้องการ:
- คำอธิบายการทำงาน:
- คำอธิบายวงจร:
- การกำหนดค่า Raspberry Pi และคำอธิบายการเขียนโปรแกรม:
ในโลกของ Internet of Things (IoT) เมื่อเรามีเทคโนโลยีทั้งหมดที่จะปฏิวัติชีวิตของเราเป็นความคิดที่ดีในการพัฒนาระบบที่สามารถควบคุมและตรวจสอบได้จากทุกที่ มีระบบรักษาความปลอดภัยและกล้องที่ดีหลายประเภทสำหรับการรักษาความปลอดภัยภายในบ้าน แต่มีราคาแพงมากดังนั้นวันนี้เราจะสร้างระบบแจ้งเตือนผู้บุกรุกที่ใช้Raspberry Piแบบง่ายๆราคาประหยัดซึ่งไม่เพียง แต่แจ้งเตือนคุณทางอีเมลเท่านั้น แต่ยังส่งรูปภาพของ ผู้บุกรุกเมื่อตรวจพบใด ๆ
ในการนี้ IOT ตามโครงการเราจะสร้างระบบรักษาความปลอดภัยหน้าแรกโดยใช้เซนเซอร์ PIR และ PI กล้อง ระบบนี้จะตรวจจับการมีอยู่ของ Intruder และแจ้งเตือนผู้ใช้อย่างรวดเร็วโดยส่งอีเมลแจ้งเตือน เมลนี้จะมีรูปภาพของผู้บุกรุกซึ่งถ่ายโดยกล้อง Pi Raspberry Pi ใช้ในการควบคุมทั้งระบบ ระบบนี้สามารถติดตั้งได้ที่ประตูหลักของบ้านหรือที่ทำงานของคุณและคุณสามารถตรวจสอบได้จากทุกที่ในโลกโดยใช้อีเมลของคุณผ่านอินเทอร์เน็ต
ส่วนประกอบที่ต้องการ:
- ราสเบอร์รี่ Pi
- พี่กล้อง
- เซ็นเซอร์ PIR
- LED
- คณะกรรมการขนมปัง
- ตัวต้านทาน (1k)
- การเชื่อมต่อสายไฟ
- แหล่งจ่ายไฟ
คุณสามารถซื้อส่วนประกอบทั้งหมดที่ใช้ในโครงการนี้ได้จากที่นี่
คำอธิบายการทำงาน:
การทำงานของโครงการนี้ง่ายมาก เซ็นเซอร์ PIR ใช้เพื่อตรวจจับการมีอยู่ของบุคคลใด ๆ และกล้อง Pi ใช้เพื่อจับภาพเมื่อตรวจพบการมีอยู่
เมื่อใดก็ตามที่ใครหรือผู้บุกรุกมาในช่วงของเซ็นเซอร์ PIR, PIR เซนเซอร์เรียกกล้อง Pi ผ่าน Raspberry Pi Raspberry pi ส่งคำสั่งไปยังกล้อง Pi เพื่อคลิกรูปภาพและบันทึก หลังจากนั้น Raspberry Pi จะสร้างอีเมลและส่งไปยังที่อยู่อีเมลที่กำหนดพร้อมภาพที่คลิกล่าสุด จดหมายดังกล่าวมีข้อความและรูปภาพของผู้บุกรุกเป็นไฟล์แนบ ที่นี่เราได้ใช้ข้อความ "โปรดค้นหาไฟล์แนบ" คุณสามารถเปลี่ยนแปลงได้ตามรหัสที่ระบุในตอนท้าย
ที่นี่รูปภาพจะถูกบันทึกไว้ใน Raspberry Pi ด้วยชื่อซึ่งมีเวลาและวันที่เข้า เพื่อให้เราสามารถตรวจสอบเวลาและวันที่ของผู้บุกรุกได้โดยดูที่ชื่อรูปภาพตรวจสอบภาพด้านล่าง หากคุณยังใหม่กับ Pi Camera ลองดูบทช่วยสอนก่อนหน้านี้เกี่ยวกับ Visitor Monitoring System ด้วย Pi Camera
คุณยังสามารถปรับระยะการตรวจจับหรือระยะห่างของระบบนี้โดยใช้โพเทนชิโอมิเตอร์ของเซ็นเซอร์ PIR เรียนรู้เพิ่มเติมเกี่ยวกับเซ็นเซอร์ PIR ที่นี่เพื่อปรับช่วงและตรวจสอบสัญญาณกันขโมยตามเซ็นเซอร์ PIR
คำอธิบายวงจร:
ในระบบแจ้งเตือนผู้บุกรุกนี้เราจำเป็นต้องเชื่อมต่อโมดูลกล้อง Pi และเซ็นเซอร์ PIR กับ Raspberry Pi 3เท่านั้น Pi Camera เชื่อมต่อที่ช่องกล้องของ Raspberry Pi และ PIR เชื่อมต่อกับ GPIO pin 18 LED ยังเชื่อมต่อกับ GPIO pin 17 ผ่านตัวต้านทาน 1k
การกำหนดค่า Raspberry Pi และคำอธิบายการเขียนโปรแกรม:
เรากำลังใช้ ภาษา Python ที่นี่สำหรับโปรแกรม ก่อนที่จะเข้ารหัสผู้ใช้ต้องกำหนดค่า Raspberry Pi คุณควรใช้สองบทช่วยสอนสำหรับการเริ่มต้นกับ Raspberry Pi และการติดตั้งและกำหนดค่า Raspbian Jessie OS ใน Pi
- เริ่มต้นกับ Raspberry Pi - บทนำ
- เริ่มต้นกับ Raspberry Pi - การกำหนดค่า
หลังจากติดตั้ง Raspbian OS บน Raspberry Pi เรียบร้อยแล้วเราจำเป็นต้อง ติดตั้งไฟล์ไลบรารีกล้อง Piเพื่อรันโปรเจ็กต์นี้ใน Raspberry pi ในการทำสิ่งนี้เราต้องทำตามคำสั่งที่กำหนด:
$ sudo apt-get ติดตั้ง python-picamera $ sudo apt-get installpython3-picamera
หลังจากนั้นผู้ใช้จะต้อง เปิดใช้งานกล้อง Raspberry Pi โดยใช้เครื่องมือกำหนดค่าซอฟต์แวร์ Raspberry Pi (raspi-config):
$ sudo raspi-config
จากนั้นเลือก เปิดใช้งานกล้อง และเปิดใช้งาน
จากนั้นผู้ใช้ต้อง รีบูต Raspberry Piโดยการออก sudo reboot เพื่อให้สามารถตั้งค่าใหม่ได้ ตอนนี้กล้อง Pi ของคุณพร้อมใช้งานแล้ว
หลังจากตั้งค่า Pi Camera แล้วเราจะติดตั้งซอฟต์แวร์สำหรับส่งอีเมล ที่นี่เราจะใช้ ssmtp ซึ่งเป็นวิธีที่ง่ายและดีสำหรับการส่งจดหมายโดยใช้บรรทัดคำสั่งหรือการใช้สคริปต์หลามเราจำเป็นต้องติดตั้งสองไลบรารีเพื่อส่งอีเมลโดยใช้ SMTP:
sudo apt-get install ssmtp sudo apt-get install mailutils
หลังจากติดตั้งไลบรารีแล้วผู้ใช้จะต้องเปิดไฟล์ ssmtp.conf และแก้ไขไฟล์คอนฟิกูเรชันตามที่แสดงในรูปภาพด้านล่างจากนั้นจึงบันทึกไฟล์ ในการบันทึกและออกจากไฟล์ให้กด 'CTRL + x' จากนั้น 'y' จากนั้นกด 'enter'
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = YES UseTLS = YES
นอกจากนี้เรายังสามารถทดสอบได้โดยการส่งอีเมลทดสอบโดยออกคำสั่งด้านล่างคุณจะได้รับอีเมลตามที่อยู่อีเมลดังกล่าวหากทุกอย่างทำงานได้ดี:
echo "สวัสดีซัดดัม" - mail -s "การทดสอบ… " [email protected]
โปรแกรม Python ของโครงการนี้มีบทบาทสำคัญมากในการดำเนินการทั้งหมด ก่อนอื่นเรารวมไลบรารีที่จำเป็นสำหรับอีเมลเริ่มต้นตัวแปรและกำหนดพินสำหรับ PIR, LED และส่วนประกอบอื่น ๆ สำหรับการส่งอีเมลธรรมดา smtplib ก็เพียงพอแล้ว แต่ถ้าคุณต้องการส่งอีเมลด้วยวิธีที่สะอาดกว่าด้วยหัวเรื่องไฟล์แนบและอื่น ๆ คุณต้องใช้ MIME (Multipurpose Internet Mail Extensions)
นำเข้า RPi.GPIO เป็น gpio นำเข้า picamera เวลานำเข้า smtplib จากอีเมล MIMEM Multipart นำเข้า MIMMultipart จากอีเมล MIMEText นำเข้า MIMET ข้อความจากอีเมล MIMEBase นำเข้า MIMEBase จากตัวเข้ารหัสการนำเข้าอีเมลจาก email.mime.image นำเข้า MIMEImage
หลังจากนั้นเราได้เริ่มต้นจดหมายและกำหนดที่อยู่อีเมลและข้อความ:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Attachment" body = "โปรดค้นหาไฟล์แนบ"
จากนั้นเราได้สร้าง ฟังก์ชัน def sendMail (data) สำหรับส่งเมล:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (รูปภาพ) เซิร์ฟเวอร์ = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "your password") text = mail as_string () server.sendmail (fromaddr, toaddr, ข้อความ) server.quit ()
ฟังก์ชัน def capture_image () ถูกสร้างขึ้นเพื่อ จับภาพของผู้บุกรุก พร้อมเวลาและวันที่
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) พิมพ์ข้อมูล camera.capture ('% s. ข้อมูล jpg '%) camera.stop_preview () time.sleep (1) sendMail (data)
จากนั้นเราเริ่มต้นPicameraด้วยการตั้งค่าบางอย่าง:
กล้อง = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
และในตอนนี้เราได้อ่านเอาท์พุทเซ็นเซอร์ PIR แล้วและเมื่อ Raspberry Pi สูงขึ้นเรียกใช้ ฟังก์ชัน capture_image () เพื่อจับภาพผู้บุกรุกและส่งข้อความแจ้งเตือนพร้อมรูปภาพของผู้บุกรุกเป็นไฟล์แนบ เราใช้ ฟังก์ชัน sendmail () insdie capture_image () ในการส่งอีเมล
ในขณะที่ 1: ถ้า gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () ในขณะที่ (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (led, LOW) เวลานอน (0.01)
ดังนั้นวิธีการทำงานของระบบรักษาความปลอดภัย Raspberry Piนี้คุณยังสามารถใช้เซ็นเซอร์อัลตราโซนิกหรือเซ็นเซอร์ IR เพื่อตรวจจับการมีขโมยหรือผู้บุกรุกได้ ตรวจสอบโค้ดฉบับเต็มและวิดีโอสาธิตเพิ่มเติมด้านล่าง