สารบัญ:

Arduino ตรวจสอบการเปิดประตูผ่าน Gmail: 6 ขั้นตอน
Arduino ตรวจสอบการเปิดประตูผ่าน Gmail: 6 ขั้นตอน

วีดีโอ: Arduino ตรวจสอบการเปิดประตูผ่าน Gmail: 6 ขั้นตอน

วีดีโอ: Arduino ตรวจสอบการเปิดประตูผ่าน Gmail: 6 ขั้นตอน
วีดีโอ: ระบบปลดล็อกประตูรหัส 6 หลักด้วย Arduino 2024, ธันวาคม
Anonim
Arduino ตรวจสอบการเปิดประตูผ่าน Gmail
Arduino ตรวจสอบการเปิดประตูผ่าน Gmail

ในบทช่วยสอนนี้ ฉันจะแสดงวิธีตรวจจับเหตุการณ์เปิดประตูและส่งการแจ้งเตือนผ่าน Gmail โดยใช้ Arduino Uno

หากคุณเป็นมือใหม่ คุณสามารถเรียนรู้เกี่ยวกับ wifi และเซ็นเซอร์ในบทช่วยสอน Arduino - WiFi และ Arduino - เซ็นเซอร์ประตู

มาเริ่มกันเลย!

การตรวจจับเหตุการณ์เปิดประตู เซ็นเซอร์แม่เหล็กที่ฉันใช้ประกอบด้วยสองส่วน: เซ็นเซอร์และแม่เหล็ก เมื่อสองส่วนอยู่ใกล้กัน พินเอาต์พุตของเซ็นเซอร์จะสูง มิฉะนั้น พินเอาต์พุตจะต่ำ ด้วยการใช้ประโยชน์จากคุณสมบัตินี้ ฉันจึงติดตั้งเซ็นเซอร์ส่วนหนึ่งที่บานประตูและอีกส่วนหนึ่งไว้ที่วงกบประตู โดยการตรวจสอบสถานะของพินเอาต์พุต เราสามารถตรวจจับได้เมื่อประตูถูกเปิด จากนั้นจึงแจ้งเตือนหรือส่งการแจ้งเตือน

การจัดการเหตุการณ์

เมื่อเกิดเหตุการณ์เปิดประตู การแจ้งเตือนจะถูกส่งผ่าน Gmail

ขั้นตอนที่ 1: สิ่งที่เราต้องการ

สิ่งที่เราต้องการ
สิ่งที่เราต้องการ

1. Arduino UNO หรือ Genuino UNO

2. PHPoC Shield สำหรับ Arduino

3. เซนเซอร์แม่เหล็ก

ขั้นตอนที่ 2: การประกอบ

การประกอบ
การประกอบ

1. สแต็ค PHPoC Shield บน Arduino

2. ต่อสาย LAN เข้ากับตัวป้องกันสำหรับอีเธอร์เน็ต

3. ปักหมุดสายไฟระหว่าง Arduino และเซนเซอร์

----5v -------- หมุดสีแดง

----A0------- หมุดดำ

ขั้นตอนที่ 3: ติดตั้งชุดนี้ที่ประตู

ติดตั้งชุดนี้ที่ประตู
ติดตั้งชุดนี้ที่ประตู

1. ติดส่วนเซ็นเซอร์, ชุด Arduino (รวมถึงโล่ PHPoC) เข้ากับวงกบประตู

2. ติดส่วนแม่เหล็กที่บานประตู

3. พาวเวอร์ Arduino

4. เชื่อมต่ออินเทอร์เน็ตผ่านสาย LAN หรือ USB Wifi Dongle

ขั้นตอนที่ 4: ดาวน์โหลดและติดตั้งไลบรารีบน Arduino

ติดตั้งไลบรารี PHPoC และ ezButton

ขั้นตอนที่ 5: รหัส Arduino

#รวม

#include อีเมล PhpocEmail; ปุ่ม ezButton (A0); // สร้างปุ่มวัตถุที่แนบกับขา A0; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); // Phoc.beginIP6(); ยกเลิกหมายเหตุบรรทัดนี้หากคุณจะใช้ IPv6 button.setDebounceTime(100); // ตั้งเวลา debounce เป็น 100 มิลลิวินาที } void loop() { button.loop(); // ต้องเรียกใช้ฟังก์ชันลูป () ก่อนถ้า (button.isPressed ()) { // ถ้าประตูเปิดอยู่… email.setOutgoingServer ("smtp.gmail.com", 587); email.setOutgoingLogin("Google ID", "รหัสผ่าน Google"); email.setFrom("ที่อยู่ Gmail ", "ชื่อผู้ส่ง"); email.setTo("ที่อยู่อีเมลของผู้รับ", "ชื่อผู้รับ"); email.setSubject("ประตูถูกเปิด [#905]"); // Mail Subject // เนื้อหาเมล email.beginMessage(); email.println("#905"); email.println(""); email.println("ประตูถูกเปิด"); email.endMessage(); if (email.send() > 0) // ส่งอีเมล Serial.println("จดหมายของคุณถูกส่งเรียบร้อยแล้ว"); อื่น Serial.println("จดหมายของคุณไม่ได้รับการส่ง"); } else if (button.isReleased()) { // if door is closed… // เขียนโค้ดในลักษณะเดียวกัน } }

ขั้นตอนที่ 6: การอ้างอิงฟังก์ชัน

  • วน ()
  • ติดตั้ง()
  • Serial.begin()
  • Serial.println()
  • ล่าช้า()
  • สำหรับวง
  • ในขณะที่วง
  • ถ้าอย่างอื่น
  • สตริง.toInt()

แนะนำ: