สารบัญ:
- ขั้นตอนที่ 1: สร้างวงจรเพื่อเชื่อมต่อ ESP-01 และ Door Chime
- ขั้นตอนที่ 2: แหล่งจ่ายไฟ 3.3VDC สำหรับ ESP-01
- ขั้นตอนที่ 3: กระพริบ ESP-01
- ขั้นตอนที่ 4: ทดสอบการทำงาน
- ขั้นตอนที่ 5: การรวมบอร์ดและพาวเวอร์ซัพพลายเข้ากับ Chime
- ขั้นตอนที่ 6: สัมผัสสุดท้าย
วีดีโอ: MQTT/กริ่งประตูหน้าแรกของ Google โดยใช้ ESP-01: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
คุณเคยพลาดการตอบรับแขกที่กดกริ่งประตูของคุณเพียงเพราะคุณอยู่ในส่วนหนึ่งของบ้านที่ไกลเกินกว่าจะได้ยินเสียงกริ่งประตูหรือไม่? เช่น ห้องใต้ดิน ห้องนอนแบบปิด หรือบางทีคุณอาจกำลังดูทีวีหรือฟังเพลงอยู่
เช่นเดียวกับฉัน คุณมีลำโพง Google Home อย่างน้อยหนึ่งตัวในหลายตำแหน่งทั่วทั้งบ้าน คำแนะนำนี้อาจเป็นสิ่งที่คุณต้องการ
ในคำแนะนำนี้ ฉันจะแสดงวิธีเพิ่มไคลเอนต์ MQTT ให้กับกริ่งประตูที่มีอยู่เพื่อสื่อสารกับนายหน้า MQTT พร้อมประกาศไปยัง google home / pushbullet โดยใช้ NodeRED โปรเจ็กต์นี้ไม่ได้แทนที่สวิตช์กริ่งประตูหรือกริ่ง มันยังคงใช้ปุ่มกดแบบกลไกปกติสำหรับกริ่งประตู
เราจะเพิ่มโมดูล ESP-01 ลงในระบบออด 16VAC ที่มีอยู่ โดยเพิ่มฟังก์ชัน MQTT เพื่อส่งข้อความไปยังโบรกเกอร์ MQTT (เมื่อกดสวิตช์ออด) โบรกเกอร์ MQTT จะส่งต่อข้อความไปยัง NodeRED เมื่อได้รับข้อความ MQTT แล้ว NodeRED จะส่งประกาศไปยังอุปกรณ์ Google Home หลายเครื่อง และยังเลือกที่จะส่งข้อความไปยังโทรศัพท์มือถือ/เบราว์เซอร์ผ่าน pushbullet
ฉันมีความหลงใหลในระบบอัตโนมัติภายในบ้าน DIY และค่อยๆ เพิ่ม IOT ในบ้านของฉัน หน้าแรกของ Google เป็นหนึ่งในฟังก์ชันหลักในระบบอัตโนมัติในบ้านของฉัน
ลูกชายของฉันให้แนวคิดสำหรับโครงการนี้แก่ฉัน เมื่อเขาถามฉันว่าฉันสามารถทำให้ Google Home ประกาศทุกครั้งที่มีคนกดกริ่งประตูของเราหรือไม่ เรามีบ้าน 2 ชั้น + สร้างบ้านชั้นใต้ดิน และหลายครั้งที่เราไม่ได้ยินเสียงกระดิ่งเวลาเราอยู่ในห้องใต้ดินหรือชั้นบนในห้องนอนที่มีประตูปิดหรือเปิดทีวี
เรามี google home mini 4 เครื่องในบ้านของเราวางไว้ในสถานที่/ห้องต่างๆ และด้วยการใช้ Google homes เพื่อประกาศกริ่งประตู เรารู้ทันทีว่าที่ไหนในบ้านถ้ามีคนกดกริ่ง
ในบ้านของฉัน ฉันใช้ RaspberryPi ZeroW เพื่อโฮสต์เซิร์ฟเวอร์ Mosquitto MQTT และ NodeRED มันทำงานมานานกว่าหนึ่งปีโดยไม่มีปัญหาใด ๆ
ข้อมูลอ้างอิง:
- แผนภาพการเดินสายกริ่งประตู:
- ติดตั้ง Mosquitto MQTT Broker บน Raspberry Pi:
- ติดตั้ง NodeRED บน Raspberry Pi:
ขั้นตอนที่ 1: สร้างวงจรเพื่อเชื่อมต่อ ESP-01 และ Door Chime
ขั้นตอนแรกคือการสร้างวงจรที่จะเป็นส่วนต่อประสานระหว่าง ESP-01 และ Door Chime กริ่งประตูทั่วไปจะเปิดใช้งานเมื่อมี 16VAC ระหว่างพิน "TRANS (อดีต)" และ "FRONT/REAR" ตามที่แสดงในภาพแรกของฉัน แรงดันไฟฟ้าแสดงบนหมุดเหล่านั้นเมื่อกดปุ่มกริ่งประตู
วงจรที่ฉันออกแบบคือตรวจจับสัญญาณ 16VAC นี้และแปลงเป็นสัญญาณดิจิตอลประมาณ 3.3VDC เป็นวงจรเรียงกระแสแบบครึ่งคลื่นพื้นฐานที่สร้างโดย D1 และ C1 เราไม่จำเป็นต้องมีวงจรเรียงกระแสแบบฟูลเวฟในสถานการณ์นี้ เนื่องจากมีโหลดไปยังเอาต์พุต DC น้อยมาก ทำให้เราประหยัดอสังหาริมทรัพย์บนกระดานได้เล็กน้อย ฉันต้องการทำให้กระดานน้อยที่สุดเท่าที่จะทำได้ เพื่อที่ฉันจะได้วางมันไว้ในกริ่งที่มีอยู่
R1 และ R2 สร้างตัวแบ่งแรงดันไฟฟ้าเพื่อลดแรงดัน DC สูงสุดลงไปที่ประมาณ 3.3V
R3, TR1 และ R4 สร้างอินเวอร์เตอร์เพื่อให้ตรรกะย้อนกลับสำหรับ ESP-01 GPIO-2 นี่เป็นสิ่งจำเป็นเพื่อให้ลอจิก HIGH ระหว่างการบู๊ต (ด้วย pull-up R4 และ R5) สำหรับ ESP-01 เพื่อบู๊ตจากแฟลช เมื่อกดปุ่มกริ่งประตูจะแสดงลอจิก LOW ไปที่ GPIO-2. TR1 อาจเป็นทรานซิสเตอร์ NPN กำลังไฟฟ้าขนาดเล็ก ในกรณีของฉันฉันใช้ 2N3904
V1 เป็นแหล่งจ่ายไฟ 3.3VDC ที่ฉันสร้างขึ้นโดยใช้เครื่องชาร์จโทรศัพท์มือถือ 5V แบบเก่า ร่วมกับตัวควบคุม AMS1117 3.3VDC ที่ฉันจะแสดงในขั้นตอนต่อไป
สำหรับซ็อกเก็ต ESP-01 ฉันใช้ซ็อกเก็ต IC มาตรฐาน 8 พิน และตัดสะพานพลาสติกที่สร้างช่องว่างระหว่างแถว แล้วกาว 2 แถวเข้าด้วยกัน
ขั้นตอนที่ 2: แหล่งจ่ายไฟ 3.3VDC สำหรับ ESP-01
ในขั้นตอนนี้ เราจะสร้างแหล่งจ่ายไฟ 3.3VDC สำหรับ ESP-01 ฉันมีอะแดปเตอร์ชาร์จ USB 500mA และ 700mA 5VDC รุ่นเก่าสองสามตัวที่ฉันนำมาใช้ใหม่สำหรับโครงการนี้ นอกจากนี้เรายังต้องการตัวควบคุม 3.3VDC เพื่อลดแรงดันไฟฟ้า 5V เป็น 3.3V สำหรับสิ่งนี้ฉันใช้โมดูลตัวควบคุม AMS1117 ที่สร้างไว้ล่วงหน้าราคาถูกซึ่งฉันซื้อจากอีเบย์ คุณสามารถค้นหา "โมดูล 3.3V AMS1117" และค้นหาสิ่งที่เหมาะกับคุณได้
โมดูลควบคุม 3.3V นี้มีขนาดเล็กมากจนฉันสามารถใส่ไว้ในกล่องชาร์จ USB 5V ดั้งเดิมทำให้ปลอดภัยจากการลัดวงจรที่อาจเกิดขึ้น ฉันถอดปลั๊กผนัง AC ออกจากโมดูลอุปกรณ์ชาร์จแล้วแทนที่ด้วยสายเคเบิลสองเส้นที่จะเชื่อมต่อกับ 120VAC จากผนังด้านหลังกริ่งที่มีอยู่ แต่อย่าถอดง่ามในขั้นตอนนี้จนกว่าเราจะทดสอบการทำงานในขั้นตอนต่อไป
หากมีเต้ารับติดผนังอยู่ใกล้ๆ หรือหากคุณไม่สะดวกในการเดินสายไฟของแหล่งจ่ายไฟตรงไปยังสายไฟในบ้าน คุณสามารถเลือกเพียงแค่เสียบปลั๊กไฟที่ดัดแปลงเข้ากับปลั๊กผนัง แล้วเดินสายไปที่เสียงกริ่ง อาจดูไม่สะอาดเท่าการต่อเข้ากับสายไฟบ้านโดยตรง
ดูรูปถ่ายของฉันเพื่อดูว่าหลังกริ่งของฉันคือสายไฟ 120VAC และหม้อแปลง 16VAC สำหรับกริ่ง
เอาต์พุตจากตัวควบคุม 3.3V จะเชื่อมต่อกับบอร์ดอินเทอร์เฟซ ESP-01 ตามขั้นตอนก่อนหน้า
ขั้นตอนที่ 3: กระพริบ ESP-01
ในขั้นตอนนี้ เราจะแฟลช ESP-01 ด้วยภาพสเก็ตช์ Arduino หากคุณไม่เคยแฟลชโมดูล ESP-01 คุณสามารถทำตามคำแนะนำของฉันเพื่อเริ่มต้นใช้งาน:
คุณสามารถค้นหาภาพสเก็ตช์ของฉันได้ในหน้า github ของฉัน:
ในแบบร่าง อย่างน้อยที่สุด คุณต้องเปลี่ยนข้อมูลต่อไปนี้ที่เกี่ยวข้องกับเครือข่ายในบ้าน/การตั้งค่าของคุณ:
#define MQTT_SERVER "10.0.0.30"const char* ssid1 = "SSID";const char* password1 = "MYSSIDpassword";const char* ssid2 = "SSID1";const char* password2 = "MYSSIDpassword";
ในเครือข่ายในบ้านของฉัน ฉันมีจุดเชื่อมต่อ 2 จุดที่เผยแพร่ SSID ที่แตกต่างกัน 2 ตัว และแบบร่างนี้จะอนุญาตให้มีความซ้ำซ้อนโดยเชื่อมต่อกับ SSID ถัดไป หากการสื่อสารไปยัง AP ปัจจุบันหายไป หากคุณมี SSID เพียงอันเดียว ให้เติมทั้ง ssid1 และ ssid2 ด้วยค่าเดียวกัน
เมื่อคุณทำการแก้ไขแล้ว ให้อัปโหลดภาพสเก็ตช์ไปที่ ESP-01 และเสียบ ESP-01 เข้ากับบอร์ดอินเทอร์เฟซ
ขั้นตอนที่ 4: ทดสอบการทำงาน
จากขั้นตอนที่ 1 เราได้สร้างบอร์ดอินเทอร์เฟซ ESP-01 และจากขั้นตอนที่ 2 เรามีแหล่งจ่ายไฟ 3.3V สำหรับบอร์ด ESP-01 ตอนนี้เราเชื่อมต่อเอาต์พุตของแหล่งจ่ายไฟกับบอร์ดตามแผนภาพวงจรที่แสดงเป็น V1
ตอนนี้ ขั้นตอนต่อไปคือการเชื่อมต่อเทอร์มินอล Trans/Door ของ chime กับการเชื่อมต่อบอร์ดอินเทอร์เฟซที่แสดงเป็น "Door Chime Terminals" เนื่องจากเสียงกริ่งของฉันติดตั้งอยู่สูงบนผนัง สำหรับการทดสอบ ฉันจึงใช้สายเคเบิลยาวคู่หนึ่งจากขั้วกริ่งไปยังบอร์ดชั่วคราว เพื่อที่ฉันจะได้เสียบปลั๊กไฟ
เพื่อทดสอบว่า contraption ของเราทำงานหรือไม่ วิธีที่ง่ายที่สุดคือการตรวจสอบข้อความ MQTT ในเครือข่าย ในการทำเช่นนั้น คุณต้องเปิดเซสชัน SSH ให้กับโบรกเกอร์ mosquitto และออกคำสั่งต่อไปนี้:
mosquitto_sub -v -t '#'
คำสั่งข้างต้นจะช่วยให้เราเห็นข้อความ MQTT ทั้งหมดที่เข้ามาในโบรกเกอร์
ตอนนี้ เสียบปลั๊กไฟเข้ากับเต้ารับที่ผนัง และหากทุกอย่างทำงานได้ อย่างน้อยในไม่กี่วินาที คุณควรเห็นข้อความ MQTT ต่อไปนี้:
สถิติ/ออด/LWT ออนไลน์
ออกไปข้างนอกแล้วกดกริ่งประตู แล้วคุณจะเห็นข้อความนี้:
เปิดเทเล/ออด
หากคุณเห็นข้อความเหล่านั้น แสดงว่าโครงการของคุณประสบความสำเร็จ
ฉันยังรวมหัวข้อ MQTT ที่มีประโยชน์ไว้ในแบบร่างที่คุณสามารถใช้ได้:
"stat/DoorBellInfo": ข้อความนี้จะถูกส่งทุกนาทีเพื่อแจ้งเวลาทำงานและข้อมูลอื่นๆ
"cmnd/DoorBellInfo": ESP-01 จะส่งข้อมูลหากได้รับหัวข้อนี้ด้วยค่า '1' (ascii=49)"cmnd/DoorBellCPUrestart": ESP-01 จะรีสตาร์ทหากได้รับหัวข้อนี้ด้วยค่า '1 ' (ascii=49)"cmnd/DoorBellCPUReset": ESP-01 จะรีเซ็ตหากได้รับหัวข้อนี้ด้วยค่า '1' (ascii=49)
"tele/FrontDoorBell": ESP-01 จะส่ง msg ในหัวข้อนี้ด้วยค่า 'ON' หากกดกริ่งประตู
ขั้นตอนที่ 5: การรวมบอร์ดและพาวเวอร์ซัพพลายเข้ากับ Chime
ตอนนี้เราทดสอบสำเร็จแล้ว เราจำเป็นต้องประกอบบอร์ดและแหล่งจ่ายไฟภายในกริ่งประตูของเรา (ถ้าเป็นไปได้) ในเสียงกริ่งที่มีอยู่ของฉัน มีตู้เปล่าที่ฉันสามารถตัดเปิดและใส่แหล่งจ่ายไฟภายในพื้นที่นั้นได้ บอร์ด ESP-01 ไม่พอดีกับพื้นที่เล็กๆ นั้น แต่ยังคงพอดีกับกล่องเสียงกริ่งโดยรวม ฉันเพิ่งใช้เทปกาวสองหน้าแบบหนาเพื่อยึดบอร์ดอินเทอร์เฟซ ESP-01
ตอนนี้ เราสามารถถอดขาโลหะออกจากที่ชาร์จ USB ของเราแล้วแทนที่ด้วยสายเคเบิลที่หนากว่าซึ่งเราสามารถเชื่อมต่อกับสายไฟภายในบ้านได้ อย่าลืมปิดเซอร์กิตเบรกเกอร์ที่จ่ายไฟฟ้าให้กับวงจรกริ่ง
หากมีพื้นที่ไม่เพียงพอสำหรับโปรเจ็กต์ของเรากับกริ่งประตูที่มีอยู่ คุณจะต้องใส่มันลงในกล่องแยกต่างหากและติดตั้งไว้ใกล้กับกริ่งประตู
ขั้นตอนที่ 6: สัมผัสสุดท้าย
ตอนนี้ เรามีโปรเจ็กต์ที่ทำงานและสามารถเผยแพร่ข้อความ MQTT ไปยังนายหน้าได้ ขั้นตอนต่อไปคือการคิดว่าจะทำอย่างไรกับสิ่งนั้น
ในโครงการของฉัน ฉันใช้ Node-RED เพื่อฟัง/สมัครรับข้อมูลหัวข้อ MQTT ของออดนั้นและประกาศให้ผู้พูดในบ้านของ Google หลายคนทราบ นอกจากนั้น ฉันยังเชื่อมโยงโฟลว์กับโหนด pushbullet เพื่อส่งการแจ้งเตือนไปยังโทรศัพท์ Android ของฉัน ดังนั้นฉันจึงรู้ว่ามีใครกดกริ่งประตูหรือไม่ แม้ว่าฉันจะไม่อยู่บ้านก็ตาม การแจ้งเตือนแบบ Pushbullet นั้นไม่มีประโยชน์สำหรับบางคน แต่มันค่อนข้างมีประโยชน์มากสำหรับฉัน ประกอบกับกล้องวิดีโอที่ระเบียงหน้าบ้านของฉัน ฉันสามารถดูได้ว่าใครมาส่งของ ฉันไม่สามารถพึ่งพาคุณสมบัติการตรวจจับการเคลื่อนไหวของกล้องได้มากนักเนื่องจากการรบกวนต่างๆ โดยเฉพาะเงาของต้นไม้ที่กำลังเคลื่อนที่
รูปภาพในขั้นตอนนี้แสดงโฟลว์ Node-RED เพื่อทำสิ่งนี้ให้สำเร็จ คุณยังสามารถวางโฟลว์จากหน้า github ของฉันลงใน Node-RED ของคุณ:
การประกาศหน้าแรกของ Google เป็นเพียงตัวอย่างหนึ่งสำหรับโครงการนี้ แต่ฉันคิดว่ามันมีประโยชน์และใช้งานได้จริงมากที่สุด คุณสามารถเชื่อมต่อกับผู้ฟัง MQTT อื่นได้ตลอดเวลา หรือแม้แต่ใช้ IFTTT เพื่อขับเคลื่อนอุปกรณ์อื่นๆ เมื่อกดกริ่งประตู
มีความสุข…
แนะนำ:
MAX7219 LED Matrix MQTT โดยใช้ Esp8266: 6 ขั้นตอน
MAX7219 LED Matrix MQTT การใช้ Esp8266: ฉันกำลังพยายามเชื่อมต่อจอแสดงผล LED MAX7219 ของฉันกับเซิร์ฟเวอร์ MQTT และได้รับข้อความจากการสมัครสมาชิก MQTT เพื่อแสดง แต่ฉันไม่ได้รับรหัสที่เหมาะสมบนอินเทอร์เน็ต ดังนั้นฉันจึงเริ่มสร้างรหัสของตัวเอง …และผลออกมาค่อนข้างดี…คุณสามารถได
วิธีสร้าง ESP Talk หลายรายการผ่าน ESP-NOW โดยใช้ ESP32 และ ESP8266: 8 ขั้นตอน
วิธีสร้าง ESP Talk หลายรายการผ่าน ESP-NOW โดยใช้ ESP32 และ ESP8266: ในโครงการที่กำลังดำเนินการอยู่ ฉันต้องการ ESP หลายรายการเพื่อพูดคุยกันโดยไม่ต้องใช้เราเตอร์ ในการทำเช่นนี้ ฉันจะใช้ ESP-NOW เพื่อสื่อสารแบบไร้สายระหว่างกันโดยไม่ต้องใช้เราเตอร์บน ESP
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C | เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C การใช้ Arduino IDE: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LED หรือแถบนำหรือเมทริกซ์นำหรือวงแหวน LED พร้อมบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะทำ ลายรุ้งกับมัน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E | การสร้างการควบคุมระยะไกล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างรีโมทคอนโทรล RADIO โดยใช้โมดูลตัวรับส่งสัญญาณ 433mhz พร้อมการเข้ารหัส HT12E & IC ถอดรหัส HT12D ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้ส่วนประกอบราคาถูกมาก เช่น HT
เริ่มต้นใช้งาน Esp 8266 Esp-01 ด้วย Arduino IDE - การติดตั้งบอร์ด Esp ใน Arduino Ide และการเขียนโปรแกรม Esp: 4 ขั้นตอน
เริ่มต้นใช้งาน Esp 8266 Esp-01 ด้วย Arduino IDE | การติดตั้งบอร์ด Esp ใน Arduino Ide และการเขียนโปรแกรม Esp: ในคำแนะนำนี้ เราจะได้เรียนรู้วิธีติดตั้งบอร์ด esp8266 ใน Arduino IDE และวิธีตั้งโปรแกรม esp-01 และอัปโหลดโค้ดในนั้น เนื่องจากบอร์ด esp ได้รับความนิยมอย่างมาก และคนส่วนใหญ่ประสบปัญหา