- วัสดุที่ต้องการ:
- คำอธิบายโมดูล:
- แผนผังและฮาร์ดแวร์
- การสร้าง API เพื่อส่งอีเมลโดยใช้ IFTTT:
- โปรแกรม Arduino
- -CircuitDigest
- กำลังทำงาน
นี่เป็นอีกหนึ่งโครงการ IOT ที่น่าสนใจซึ่งเราจะสร้างระบบรักษาความปลอดภัยซึ่งสามารถเรียกใช้อีเมลเมื่อตรวจพบใครบางคน โครงการนี้ได้ผสมผสานพลังของ ESP8266, เซ็นเซอร์ PIR และโมดูลเสียง ISD1820 เข้าด้วยกัน ในตอนท้ายของบทความนี้คุณจะต้องสร้างระบบรักษาความปลอดภัยที่ใช้งานได้เต็มรูปแบบซึ่งสามารถติดอาวุธ / ปลดอาวุธ (เปิดใช้งาน / ปิดใช้งาน) จากระยะไกลผ่านอินเทอร์เน็ต คุณสามารถบันทึกคลิปเสียงของคุณเองซึ่งจะเล่นเมื่อตรวจพบการเคลื่อนไหวและยังส่งอีเมลพร้อมวันที่และเวลาไปยังรหัสอีเมลที่ระบุการบุกรุก เด็ดพอ….. !!! ??
ให้เราสร้างมัน..
วัสดุที่ต้องการ:
วัสดุที่จำเป็นในการสร้างโครงการนี้แสดงอยู่ด้านล่าง
- ESP8266
- เซ็นเซอร์ PIR
- ISD1820 โมดูลเสียง
- LM317, LM7805
- BC547 (2Nos)
- ตัวต้านทาน 1K, 200ohm, 330ohm
- ตัวเก็บประจุ 10uf และ 0.1uf
- อะแดปเตอร์ 12V / แบตเตอรี่ 9V เพื่อเปิดเครื่องการตั้งค่า
คำอธิบายโมดูล:
โครงการประกอบด้วยส่วนประกอบที่สำคัญสามอย่าง ได้แก่ โมดูล ESP8266, เซ็นเซอร์ PIR และโมดูลเสียง ISD1820 หากคุณคุ้นเคยกับโมดูลเหล่านี้คุณสามารถข้ามส่วนนี้ไปยัง schematics ได้ แต่ถ้าคุณต้องการทราบว่ามันทำงานอย่างไรอ่านต่อ
ESP8266 โมดูล:
ฉันแน่ใจว่าคุณคงเจอโมดูลนี้มาบ้างแล้ว เป็นโมดูล WiFi ที่มีชื่อเสียงและทรงพลังซึ่งส่วนใหญ่จะใช้ในโครงการ IOT
โครงการนี้ถือว่าคุณรู้วิธีการตั้งโปรแกรมโมดูล ESP8266 หากไม่ได้โปรดไปที่บทช่วยสอนสองบทด้านล่างซึ่งฉันได้อธิบายวิธีเริ่มต้นกับ ESP8266 และวิธีการตั้งโปรแกรมโดยใช้ Arduino IDE คุณต้องรู้สิ่งนี้เพื่อทำโครงการให้เสร็จ
- เริ่มต้นกับ ESP8266
- การเขียนโปรแกรม ESP8266 โดยใช้ Arduino IDE
เซ็นเซอร์ PIR:
เซ็นเซอร์ PIR ย่อมาจากเซ็นเซอร์อินฟราเรดแบบพาสซีฟ เป็นเซ็นเซอร์ราคาประหยัดที่สามารถตรวจจับการมีอยู่ของมนุษย์หรือสัตว์ได้ มีวัสดุสำคัญสองชนิดที่มีอยู่ในเซ็นเซอร์ชิ้นหนึ่งคือคริสตัลไพโรอิเล็กทริกซึ่งสามารถตรวจจับลายเซ็นความร้อนจากสิ่งมีชีวิต (มนุษย์ / สัตว์) และอีกชิ้นคือเลนส์เฟรสซึ่งสามารถขยายช่วงของเซ็นเซอร์ได้ นอกจากนี้โมดูลเซ็นเซอร์ PIR ยังมีตัวเลือกบางอย่างในการปรับการทำงานของเซ็นเซอร์ดังแสดงในภาพด้านล่าง
โพเทนชิโอมิเตอร์สองตัว (สีส้ม) ใช้เพื่อควบคุมความไวและทริกเกอร์ตามเวลาของเซ็นเซอร์ โดยทั่วไปขา Dout ของเซ็นเซอร์จะอยู่ระหว่างหมุด Vcc และ Gnd โมดูลทำงานบน 3.3V แต่สามารถขับเคลื่อนด้วย 5V ได้เช่นกัน ที่มุมบนซ้ายยังมีการตั้งค่าพินทริกเกอร์ซึ่งสามารถใช้เพื่อให้โมดูลทำงานในสองโหมดที่แตกต่างกัน โหมดหนึ่งคือโหมด“ H” และอีกโหมดหนึ่งคือโหมด“ ฉัน”
ในโหมด "H" ขาเอาต์พุต Dout จะสูง (3.3V) เมื่อตรวจพบบุคคลในระยะและไปต่ำหลังจากเวลาใดเวลาหนึ่ง (เวลาถูกกำหนดโดยโพเทนชิออมิเตอร์) ในโหมดนี้ขาเอาต์พุตจะสูงขึ้นโดยไม่คำนึงว่าบุคคลนั้นยังคงอยู่ในช่วงหรือออกจากพื้นที่ไปแล้ว เรากำลังใช้โมดูลของเราในโหมด“ H” ในโครงการของเรา
ในโหมด“ I” ขาเอาต์พุต Dout จะสูง (3.3V) เมื่อตรวจพบบุคคลในระยะและจะอยู่ในระดับสูงตราบเท่าที่เขา / เธออยู่ภายในขอบเขตเซนเซอร์ที่ จำกัด เมื่อบุคคลออกจากพื้นที่แล้วหมุดจะลดลงหลังจากเวลาที่กำหนดซึ่งสามารถตั้งค่าได้โดยใช้โพเทนชิออมิเตอร์
หมายเหตุ:ตำแหน่งของโพเทนชิโอมิเตอร์หรือพินอาจแตกต่างกันไปขึ้นอยู่กับผู้จำหน่ายเซ็นเซอร์ PIR ของคุณ ปฏิบัติตามหน้าจอไหมเพื่อกำหนดพินของคุณ
ISD1820 โมดูลเสียง:
โมดูล ISD 1820 Voice เป็นโมดูลที่ยอดเยี่ยมที่สามารถเพิ่มสีสันให้โครงการของคุณด้วยการประกาศด้วยเสียง โมดูลนี้สามารถบันทึกคลิปเสียงเป็นเวลา 10 วินาทีจากนั้นจึงเล่นเมื่อจำเป็น ตัวโมดูลมาพร้อมกับไมโครโฟนและลำโพง (8 โอห์ม 0.5 วัตต์) และควรมีลักษณะดังนี้ที่แสดงด้านล่าง
โมดูลทำงานบน + 5V และสามารถขับเคลื่อนโดยใช้แท่งเบอร์กทางด้านซ้าย นอกจากนี้ยังมีปุ่มสามปุ่มที่ด้านล่างซึ่งเป็นปุ่ม Rec ปุ่ม PlayE. ปุ่มและ PlayL ปุ่มตามลำดับ คุณสามารถบันทึกเสียงของคุณได้โดยกดปุ่ม Rec และเล่นโดยใช้ปุ่ม PlayE PlayL จะเล่นเสียงตราบเท่าที่คุณกดปุ่มค้างไว้ เมื่อเชื่อมต่อกับ MCU หรือ ESP เราสามารถใช้หมุดทางด้านซ้าย หมุดเหล่านี้ทนได้ 3V-5V และด้วยเหตุนี้จึงสามารถขับเคลื่อนโดยตรงโดย Arduino / ESP8266 ในโครงการของเราเรากำลังควบคุมพิน PLAYE โดยใช้พิน GPIO 0 ของโมดูล ESP8266 ของเรา เพื่อให้เราสามารถเล่นเสียงที่บันทึกไว้เมื่อตรวจพบผู้บุกรุก
แผนผังและฮาร์ดแวร์
แผนผังทั้งหมดของโครงการระบบรักษาความปลอดภัย IoTนี้แสดงไว้ด้านล่าง:
วงจรประกอบด้วยตัวควบคุมแรงดันไฟฟ้าสองตัว หนึ่งคือตัวควบคุม 3.3V ที่ออกแบบโดยใช้ LM317 และอีกตัวเป็นตัวควบคุม 5V ที่ทำโดยใช้ไอซี Regulator 7805 LM317 เป็นตัวควบคุมแรงดันไฟฟ้าแบบแปรผันที่มีการตั้งค่าเอาต์พุตเป็น 3.3V โดยใช้ตัวต้านทาน 200ohm และ 330ohm หน่วยงานกำกับดูแลทั้งสองใช้พลังงานจากอะแดปเตอร์ 12V การใช้พลังงานของวงจรนี้น้อยมากดังนั้นจึงสามารถใช้แบตเตอรี่ 9V แทนอะแดปเตอร์ 12V ได้
เซ็นเซอร์ PIR และโมดูลเสียงเปิดอยู่โดยทำให้ GPIO 2 พินสูง พินนี้จะขับ BC547 ผ่านตัวต้านทาน จำกัด กระแส 1k และทำวงจรไฟฟ้าสำหรับทั้งสองโมดูล พิน GPIO_0 ใช้เป็นพินอินพุต เชื่อมต่อกับ Dout pin ของเซ็นเซอร์ PIR อย่างละเอียดกับทรานซิสเตอร์ BC547 เมื่อพินนี้สูงขึ้นเราจะเรียกอีเมลที่ระบุการบุกรุกผ่านโปรแกรม Arduino ของเรา
กระแสต้นทางของพินเอาต์พุต (Dout, GPIO_2 และ GPIO2) นั้นน้อยกว่าด้วยเหตุนี้ฉันจึงใช้ทรานซิสเตอร์ในการขับเคลื่อน นอกจากนี้ต้องไม่โหลดพิน GPIO ของ ESP8266 เมื่อโมดูลเปิดอยู่มิฉะนั้นโมดูลจะเข้าสู่ลูปรีเซ็ตแบบไม่มีที่สิ้นสุด เพื่อหลีกเลี่ยงสิ่งนี้ฉันได้วางสวิตช์สองตัวเพื่อตัดการเชื่อมต่อชั่วคราวขณะเปิดเครื่อง
คุณสามารถบัดกรีวงจรข้างต้นกับบอร์ด Perf หรือใช้เขียงหั่นขนม ฉันใช้แท่งเบอร์กตัวเมีย / ตัวผู้เพื่อที่จะได้หลีกเลี่ยงการบัดกรีในโมดูล เมื่อเสร็จแล้วบอร์ดของคุณควรมีลักษณะดังนี้
การสร้าง API เพื่อส่งอีเมลโดยใช้ IFTTT:
เมื่อฮาร์ดแวร์พร้อมแล้วให้สร้าง API (Application Program Interface) ที่สามารถส่งอีเมลไปยัง E-mail ID เฉพาะได้ ซึ่งสามารถทำได้อย่างง่ายดายด้วยความช่วยเหลือของเว็บไซต์ที่เรียกว่า IFTTT.com ฉันได้กล่าวถึงโครงการที่สามารถส่ง SMS โดยใช้ ESP8266 และอีเมลโดยใช้ไมโครคอนโทรลเลอร์ PIC ซึ่งใช้บริการ IFTTT เดียวกัน
หากคุณยังไม่เคยใช้ IFTTT ไปที่วิดีโอในตอนท้ายของบทช่วยสอนนี้หากคุณคุ้นเคยเพียงทำตามขั้นตอนด้านล่าง
1. เข้าสู่บัญชี IFTTT ของคุณ
2. ค้นหา“ Maker Web hooks” และคลิกที่เชื่อมต่อ
3. ตอนนี้ค้นหา "Gmail" และคลิกที่เชื่อมต่อและทำตามขั้นตอนเพื่อให้สิทธิ์การเข้าถึง
4. จากนั้นสร้าง Applet โดยคลิกที่ My Applet-> New Applet
5. ที่นี่ฟังก์ชัน“ นี้” จะใช้สำหรับบริการ web makerhooks และฟังก์ชัน“ นั้น” จะเป็นบริการ Gmail
6. คลิกที่“ นี่” ค้นหาและเลือก Web Maker hooks มันจะถามชื่อเหตุการณ์ที่ฉันตั้งชื่อกิจกรรมของฉันว่า "123" คุณสามารถตั้งชื่ออะไรก็ได้
7. จากนั้นคลิกที่“ นั่น” ค้นหาและเลือก Gmail จากนั้นป้อนหัวเรื่องและเนื้อหาของอีเมล
8. เมื่อกรอกรายละเอียดที่จำเป็นทั้งหมดแล้ว Apple ของคุณควรพร้อมและควรมีลักษณะดังนี้ด้านล่าง
9. ตอนนี้ค้นหาและเข้าสู่ Web Maker Hooks อีกครั้งแล้วคลิกที่“ เอกสารประกอบ” จากนั้นภายใต้ชื่อเหตุการณ์ให้ป้อนชื่อเหตุการณ์ที่เราใช้ในแอพเพล็ต ในกรณีของฉันคือ "123" และคัดลอก URL เนื่องจากเราจะต้องใช้ในโปรแกรม Arduino ของเรา URL ควรมีลักษณะดังนี้ด้านล่าง
10. คุณสามารถคลิกที่ปุ่ม“ ทดสอบ” เพื่อตรวจสอบว่าลิงก์ของคุณทำงานถูกต้องหรือไม่และคุณควรได้รับอีเมลทดสอบโดยทำเช่นนั้น
โปรแกรม Arduino
โปรแกรม Arduino สำหรับโครงการนี้ง่ายและสะดวก เราต้องทำให้ ESP ทำหน้าที่เป็น AP และ STA จากนั้นสร้างเว็บเพจโดยใช้โค้ด HTML ซึ่งเราสามารถ ARM / DISARM ระบบ Alarm โค้ดที่สมบูรณ์จะได้รับในตอนท้ายของบทช่วยสอนนี้นอกจากนี้ยังมีการอธิบายรหัสโดยใช้บรรทัดความคิดเห็น นอกจากนี้ยังมีการอธิบายบรรทัดสำคัญเพิ่มเติมด้านล่าง
const char * ssid = "บ้าน BPAS"; // ป้อน SSID ของ Wifi ที่นี่ const char * password = "cracksen"; // ใส่รหัสผ่านของคุณที่นี่
ในบรรทัดด้านบนของรหัสให้เปลี่ยนชื่อ SSID และรหัสผ่านเป็นชื่อ SSID ของเราเตอร์และรหัสผ่านที่เกี่ยวข้อง
หากคุณต้องการค้นหาว่า IP ใดเชื่อมต่อกับ ESP8266 ของคุณคุณสามารถค้นหาได้โดยการเปิดจอภาพแบบอนุกรมรหัสบรรทัดต่อไปนี้จะพิมพ์ IP ของคุณบนจอภาพอนุกรม Arduino IDE
Serial.println (""); Serial.print ("เชื่อมต่อกับ"); Serial.println (ssid); Serial.print ("ที่อยู่ IP:"); Serial.println (WiFi.localIP ()); // Serial monitor จะให้ที่อยู่ IP ของโมดูล ESP ของคุณ
โค้ด HTML ซึ่งรับผิดชอบในการสร้างเว็บเพจมีให้ด้านล่าง คุณสามารถปรับแต่งหน้าเว็บของคุณด้วยรหัสของคุณเอง ฉันได้แก้ไขส่วนคำติชมเพื่อรับทราบผู้ใช้หากโหลดเพจสำเร็จ
// โค้ด HTML สำหรับหน้าเว็บ // mainPage + = "
ระบบรักษาความปลอดภัยที่ใช้ IOT
-CircuitDigest
สถานะการเตือน:
"; ข้อเสนอแนะ ="คลิกที่ ARM เพื่อเปิดใช้งานระบบรักษาความปลอดภัย
"; // สิ้นสุดโค้ด HTML //บรรทัดด้านล่างของรหัสเป็นตัวกำหนดสิ่งที่ควรทำเมื่อนาฬิกาปลุกติดอาวุธหรือปลดอาวุธ ในโปรแกรมของฉันฉันได้เปลี่ยนส่วนข้อเสนอแนะของโค้ด HTML และทำให้ GPIO 2 พินสูง / ต่ำตามปุ่มดังที่แสดงด้านล่าง
server.on ("/ switch2On", () {feedback = "
นาฬิกาปลุกทำงานแล้ว
"; // การแก้ไขโค้ด HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // เปิดโมดูล PIR และ Voice power_module = จริงล่าช้า (1000);}); server.on ("/ switch2Off", () {feedback = "นาฬิกาปลุกไม่ทำงาน
"; // การแก้ไขโค้ด HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // ปิด PIT และโมดูลเสียง power_module = เท็จล่าช้า (1000);});อีกบรรทัดสำคัญที่ต้องเปลี่ยนแปลงเพื่อให้ระบบทำงานได้อย่างถูกต้องคือบรรทัดสตริง URL คุณวางบรรทัด (หลัง” / ทริกเกอร์”) ที่คุณคัดลอกมาจากเว็บไซต์ IFTTT ที่นี่ ฉันได้แสดงของฉันไว้ด้านล่าง แต่อย่าใช้คีย์ API ของฉันใช้ของคุณเองที่นี่
สตริง url = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // ต้องเปลี่ยนเป็น URL API ของคุณ
ส่วนที่เหลือของรหัสเป็นคำอธิบายในตัวเองหากคุณมีข้อสงสัยใด ๆ คุณสามารถใช้ส่วนความคิดเห็นและเราจะช่วยคุณ
กำลังทำงาน
เมื่อคุณพร้อมกับฮาร์ดแวร์และรหัสแล้วคุณสามารถอัปโหลดโปรแกรมไปยังโมดูล ESP8266 ของคุณโดยใช้บอร์ด FTDI หากคุณไม่แน่ใจว่าจะอัปโหลดโปรแกรมไปยัง ESP8266 โดยใช้ Arduino IDE ได้อย่างไรให้ไปที่บทช่วยสอนนี้
หลังจากอัปโหลดโปรแกรมแล้วให้คลิกที่จอภาพอนุกรมและคุณจะเห็นสิ่งนี้ด้านล่าง หากไม่รีเซ็ตโมดูล ESP8266 ของคุณแล้วลองอีกครั้ง
คุณยังสามารถจดบันทึกที่อยู่ IP ที่จัดสรรให้กับโมดูล ESP8266 ของคุณได้ที่นี่ จากนั้นคุณสามารถใช้ IP เพื่อโหลดหน้าเว็บบนเบราว์เซอร์ของคุณและแขน / ปลดอาวุธระบบ IoT Securityของคุณจากที่นั่นดังที่แสดงในภาพด้านล่าง
เมื่อคุณตรวจสอบสิ่งเหล่านี้แล้วคุณสามารถโอน ESP8266 ของคุณไปยังบอร์ด Perf และเปิดเครื่องจากนั้นจึงทำให้สวิตช์สั้นลงตามที่แสดงในวิดีโอ
หลังจากเปิดเครื่องคุณสามารถใช้ IP เพื่อเข้าสู่หน้าเว็บที่แสดงด้านบนและเปิดใช้งานระบบ Securtiy หลังจากเปิดใช้งานให้รอ 50-60 วินาทีเพื่อให้เซ็นเซอร์ PIR ปรับเทียบ
ตอนนี้โปรเจ็กต์ของคุณพร้อมสำหรับการดำเนินการแล้วคุณสามารถทิ้งไว้ในสถานที่ที่คุณต้องการและหากมีใครข้ามสถานที่นั้นและตกอยู่ในระยะของเซ็นเซอร์ PIR ข้อความเสียงจะถูกกระตุ้นและอีเมลจะถูกส่งไปยังอีเมลของคุณ รหัสที่มีวันที่และเวลาที่เขา / เธอขีดฆ่า อีเมลแสดงอยู่ด้านล่าง
ก็นั่นแหละ.. หวังว่าคุณจะชอบโครงการนี้และจะสนุกกับการทำของคุณเอง การทำงานที่สมบูรณ์ของโครงการแสดงอยู่ในวิดีโอด้านล่าง หากคุณมีข้อสงสัยหรือข้อเสนอแนะคุณสามารถเขียนไว้ในส่วนความคิดเห็นด้านล่างและเราจะตอบกลับให้มากที่สุด