สารบัญ:

เซ็นเซอร์ประตูและล็อคโรงเก็บของที่ใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT: 4 ขั้นตอน (พร้อมรูปภาพ)
เซ็นเซอร์ประตูและล็อคโรงเก็บของที่ใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เซ็นเซอร์ประตูและล็อคโรงเก็บของที่ใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เซ็นเซอร์ประตูและล็อคโรงเก็บของที่ใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: สร้างระบบ Internet of Things (IoT)ด้วย Raspberry Pi - EP.1 2024, กรกฎาคม
Anonim
เซ็นเซอร์ประตูโรงเก็บและล็อคแบบใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT
เซ็นเซอร์ประตูโรงเก็บและล็อคแบบใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT
เซ็นเซอร์ประตูโรงเก็บและล็อคแบบใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT
เซ็นเซอร์ประตูโรงเก็บและล็อคแบบใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT
เซ็นเซอร์ประตูโรงเก็บและล็อคแบบใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT
เซ็นเซอร์ประตูโรงเก็บและล็อคแบบใช้แบตเตอรี่ Solar, ESP8266, ESP-Now, MQTT

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

โมดูลได้รับการออกแบบสำหรับการทำงานที่ใช้พลังงานต่ำและทำงานบน ESP-07S ในสภาวะหลับลึก ซึ่งจะปลุกและตรวจสอบตำแหน่งประตูและล็อคทุกนาที อย่างไรก็ตาม เมื่อเปิดประตู โมดูลจะถูกปลุกด้วยวงจรฮาร์ดแวร์ง่ายๆ เพื่อส่งข้อมูล 'เปิดประตู' ทันที โมดูลสื่อสารผ่าน ESP-Now ซึ่งใช้เวลาในการส่งข้อมูลสั้นมาก โดยใช้พลังงานเพียงเล็กน้อย

ระบบอัตโนมัติในบ้านของฉันที่ทำงานบน Openhab และ Mosquitto จะจัดการข้อความและส่งข้อความที่น่าตกใจผ่าน Telegram หากการเตือนเปิดอยู่

เสบียง

ส่วนประกอบทั้งหมดซื้อจาก Aliexpress

  • โมดูล ESP-07S ถูกเลือกสำหรับการเชื่อมต่อที่ง่ายดายของเสาอากาศภายนอกเพื่อเพิ่มช่วง ESP-Now
  • บอร์ดชาร์จ TP4056 พร้อมระบบป้องกันแบตเตอรี่
  • แบตเตอรี่ LiPo 18650
  • สวิตช์กก (NO เพื่อตรวจสอบตำแหน่งประตู)
  • สวิตช์สัมผัส (ตำแหน่งล็อคจอภาพ)
  • แผงโซลาร์เซลล์ (6V, 0.6W)
  • ทรานซิสเตอร์ ตัวต้านทาน ไดโอด คอนเนคเตอร์ (ดูแผนผัง)

ขั้นตอนที่ 1: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์

แผนผังที่สร้างขึ้นจะรวมเป็นรูปภาพ ก่อนอื่นฉันสร้างต้นแบบวงจรบนเขียงหั่นขนม จากนั้นฉันก็บัดกรีส่วนประกอบทั้งหมดบนบอร์ดที่สมบูรณ์แบบ

ฉันใช้โมดูล ESP-07S ESP8266 เนื่องจากมีการเชื่อมต่อเสาอากาศภายนอก เนื่องจากโรงจอดรถของฉันอยู่ข้างนอก สัญญาณ WiFi จึงต้องผ่านกำแพงคอนกรีต ฉันพบว่าเสาอากาศภายนอกเพิ่มช่วงของ ESP-Now อย่างมาก ค่อนข้างสมเหตุสมผลเนื่องจากเป็นสัญญาณ WiFi

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

สำหรับเซ็นเซอร์ล็อค ฉันใช้สวิตช์หน้าสัมผัสที่มีการเชื่อมต่อ botn NO และ NC เมื่อปิดล็อค สลักล็อคจะเปิดสวิตช์ ดังนั้นทั้งเซ็นเซอร์ประตูและเซ็นเซอร์ล็อคจึงเปิดตามปกติ (NO)

แบตเตอรี่ชาร์จผ่านแผงชาร์จ TP4056 พร้อมตัวป้องกันแบตเตอรี่ติดอยู่กับแผงโซลาร์เซลล์ขนาดเล็ก 6V

ฉันจะอธิบายบางส่วนของวงจรด้านล่าง

รีเซ็ตวงจร

วงจรรีเซ็ตที่มี 2N7000 Mosfet เชื่อมต่อกับพินรีเซ็ตของ ESP8266 ถ้าประตูปิด หน้าสัมผัสจะเปิด ทั้งเกทและต้นทางของทรานซิสเตอร์จะสูงและปิดมอสเฟต ตัวเก็บประจุที่เชื่อมต่อกับเกตมีประจุบวก ESP8266 รีด GPIO12 เป็น HIGH = ปิด

เมื่อเปิดประตู แหล่งกำเนิดของมอสเฟตจะเชื่อมต่อกับกราวด์ เนื่องจากเกตอยู่สูง มอสเฟตจึงถูกเปิดและดึงพินรีเซ็ตลงกราวด์ ส่งผลให้ ESP8266 รีเซ็ต ตัวเก็บประจุจะคายประจุผ่าน R7 จากนั้นจึงปิดมอสเฟต ดูภาพหน้าจอของออสซิลโลสโคปของฉันสำหรับชีพจรต่ำ 50 มิลลิวินาที หลังจากชีพจรแล้ว ESP8266 ก็เริ่มทำงาน ESP8266 รีด GPIO12 เป็น LOW = เปิด

เมื่อปิดประตูอีกครั้ง ตัวต้านทาน R6 จะดึงแหล่งสัญญาณและ GPIO12 ขึ้น

การตรวจสอบแบตเตอรี่

แรงดันไฟฟ้าของแบตเตอรี่อ่านผ่านตัวแบ่งแรงดันระหว่าง VBat และ GND อย่างไรก็ตาม ฉันไม่ต้องการการเชื่อมต่อแบบถาวรระหว่าง VBat และ GND เพราะจะทำให้แบตเตอรี่หมด ดังนั้นฉันจึงใส่มอสเฟต P-channel ที่ด้านสูงของตัวแบ่งแรงดันและดึงเกทของมอสเฟตขึ้น ดังนั้นมอสเฟตจึงปิด เฉพาะเมื่อ GPIO14 ต่ำ มอสเฟตจะถูกเปิดและ ESP8266 สามารถรีดแรงดันไฟฟ้าด้วย ADC ได้

ขั้นตอนที่ 2: ซอฟต์แวร์

โมดูล ESP8266 ส่วนใหญ่อยู่ในโหมดหลับลึกเพื่อประหยัดพลังงาน

ทุกๆ 60 วินาที โมดูลจะบู๊ตโดยปิดใช้งาน WiFi และวัดตำแหน่งล็อคและประตู และตรวจสอบว่าตำแหน่งเหล่านี้เปลี่ยนไปหรือไม่เมื่อเทียบกับค่าที่เก็บไว้ในหน่วยความจำ RTC หากตำแหน่งมีการเปลี่ยนแปลง โมดูลจะเข้าสู่โหมดสลีปเป็นเวลาขั้นต่ำและปลุกด้วยการเปิดใช้งาน WiFi เพื่อส่งตำแหน่งใหม่ผ่าน ESP-Now และแน่นอนว่าตำแหน่งใหม่จะถูกเก็บไว้ในหน่วยความจำ RTC หากไม่มีอะไรเปลี่ยนแปลง โมดูลก็จะเข้าสู่โหมดสลีปอีกครั้งและปลุกโดยปิด WiFi

ดูคำแนะนำอื่น ๆ ของฉันที่ฉันอธิบายวิธีที่ฉันใช้ ESP-Now เพื่อส่งข้อความและแปลงเป็นข้อความ MQTT

หาก 'วงจร OTA' ถูกปิดด้วยตนเองผ่านจัมเปอร์ โมดูลจะทำงานและเชื่อมต่อกับเครือข่าย WiFi ของฉันเพื่อรอการอัปเดต OTA ผ่าน ESP8266HTTPUpdateServer

ทุกๆ 30 นาที แรงดันไฟฟ้าของแบตเตอรี่จะถูกวัดและเผยแพร่

มันทำงานเป็นเครื่องของรัฐ สถานะถูกกำหนดไว้ในโปรแกรมที่เผยแพร่บน Github ของฉัน

STATE_CHECK: ปลุกโดยปิดวิทยุ (ปิด WiFi) เพียงตรวจสอบว่ามีอะไรเปลี่ยนแปลงหรือไม่

STATE_INIT: ปลุกโดยเปิดวิทยุ (เปิด WiFi) และส่งสถานะประตูและล็อค

STATE_DOOR: ตื่นขึ้นมาพร้อมกับเปิดวิทยุ เผยแพร่ doorstate ครั้งหน้าที่เปิดขึ้น

STATE_LOCK: ปลุกโดยเปิดวิทยุ เผยแพร่สถานะล็อกในครั้งต่อไปที่บูทขึ้น

STATE_VOLTAGE: ปลุกโดยเปิดวิทยุ เผยแพร่แรงดันไฟฟ้าในครั้งต่อไปที่บูทขึ้น

STATE_OTA 5: ปลุกโดยเปิดวิทยุ ไปที่โหมด OTA

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

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

ฉันใช้ขั้วต่อสกรูและขั้วต่อ DC ตัวผู้/ตัวเมียเพื่อให้สามารถประกอบและถอดแยกชิ้นส่วนโครงการของฉันได้ ฉันใส่ชิ้นส่วนทั้งหมดในกล่อง ABS ขนาดเล็กดูรูปภาพ ฉันห่อหุ้มชิ้นส่วนด้วยเทป Kapton เพื่อแยกไฟฟ้า

ฉันเชื่อมต่อแผงโซลาร์เซลล์ผ่านปลั๊ก DC ตัวผู้ (5.5 x 2.1) กับไดโอด 1N5817 ซึ่งมีแรงดันไฟฟ้าไปข้างหน้าต่ำ

สวิตช์กกติดอยู่ในกล่องและติดแม่เหล็กที่ประตูในตำแหน่งที่ถูกต้อง

หน้าสัมผัสล็อคถูกป้อนจากด้านข้างดูรูป

ขั้นตอนที่ 4: โมดูลการทำงาน

โมดูลการทำงาน
โมดูลการทำงาน
โมดูลการทำงาน
โมดูลการทำงาน

ข้อมูลที่ได้รับจะถูกอ่านโดยระบบอัตโนมัติภายในบ้านของ Openhab ฉันชอบฉันสามารถโพสต์ไฟล์ Openhab

ฉันตรวจสอบ:

  • แรงดันไฟฟ้าของแบตเตอรี่ (ด้วยความคงอยู่ดังนั้นฉันจึงเห็นแรงดันไฟฟ้าเมื่อเวลาผ่านไปในกราฟ)
  • ตำแหน่งประตูและล็อค
  • เวลาที่ตำแหน่งมีการเปลี่ยนแปลง

ด้วยวิธีนี้ เมื่อฉันเข้านอน ฉันสามารถดูได้อย่างง่ายดายว่าเพิงทั้งหมดถูกล็อคหรือไม่

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

แนะนำ: