Talaan ng mga Nilalaman:

MQTT / Google Home DoorBell Gamit ang ESP-01: 6 Mga Hakbang
MQTT / Google Home DoorBell Gamit ang ESP-01: 6 Mga Hakbang

Video: MQTT / Google Home DoorBell Gamit ang ESP-01: 6 Mga Hakbang

Video: MQTT / Google Home DoorBell Gamit ang ESP-01: 6 Mga Hakbang
Video: ESP-01 WiFi Control Buzzer Alarm DIY Module (Filipino) 2024, Nobyembre
Anonim
MQTT / Google Home DoorBell Gamit ang ESP-01
MQTT / Google Home DoorBell Gamit ang ESP-01

Napalampas mo na ba ang pagsagot sa isang panauhin na nag-ring ng iyong doorbell dahil lamang nasa isang bahagi ka ng bahay na napakalayo na maririnig ang tunog ng doorbell? tulad ng basement, saradong pinto ng kwarto, o baka nanonood ka ng TV o nakikinig ng musika.

Kung kagaya ko, mayroon kang isa o higit pang mga nagsasalita ng google sa bahay sa maraming lokasyon sa buong bahay mo, maaaring matuto ito ng kailangan mo.

Sa Instructable na ito ipapakita ko sa iyo kung paano magdagdag ng kliyente ng MQTT sa isang umiiral na doorbell chime upang makipag-usap sa MQTT broker na may anunsyo sa google home / pushbullet, gamit ang NodeRED. Hindi pinalitan ng proyektong ito ang switch ng doorbell o ang chime. Gumagamit pa rin ito ng regular na mekanikal na pushbutton para sa doorbell.

Magdaragdag kami ng module ng ESP-01 sa mayroon nang 16VAC doorbell system na nagdaragdag ng pag-andar ng MQTT upang magpadala ng mensahe sa MQTT broker (kapag pinindot ang switch ng doorbell). Ipapasa ng MQTT broker ang mensahe sa NodeRED. Sa pagtanggap ng mensahe ng MQTT, magpapadala ang NodeRED ng anunsyo sa maraming mga aparatong Google sa bahay at opsyonal ding magpadala ng mensahe sa cellphone / browser sa pamamagitan ng pushbullet.

Mayroon akong isang pagkahilig para sa DIY automation sa bahay, at dahan-dahang pagdaragdag ng IOT sa aking tahanan. Ang Google home ay naging isa sa gitnang pagpapaandar sa aking pag-aautomat sa bahay.

Binigyan ako ng anak ko ng ideya para sa proyektong ito nang tanungin niya ako kung maaari kong ipahayag sa bahay ng google sa tuwing may nagri-ring ng aming doorbell. Mayroon kaming 2 kuwento + tapusin ang basement sa bahay, at maraming beses na hindi namin naririnig ang huni kapag nasa basement kami o sa itaas ng kwarto na may sarado na pinto o may TV.

Mayroon kaming 4 na google home mini sa aming bahay na nakalagay sa iba't ibang mga lugar / silid, at sa pamamagitan ng paggamit ng mga google na bahay upang ipahayag ang isang doorbell, alam namin kaagad kahit saan sa bahay kung may mag-doorbell.

Sa aking bahay, gumagamit ako ng RaspberryPi ZeroW upang i-host ang Mosquitto MQTT server at NodeRED. Tumatakbo ito ng higit sa isang taon nang walang anumang isyu.

Mga Sanggunian:

  • Mga diagram ng mga kable ng doorbell:
  • I-install ang Mosquitto MQTT Broker sa Raspberry Pi:
  • I-install ang NodeRED sa Raspberry Pi:

Hakbang 1: Lumikha ng Circuit to Interface ESP-01 at Door Chime

Lumikha ng Circuit to Interface ESP-01 at Door Chime
Lumikha ng Circuit to Interface ESP-01 at Door Chime
Lumikha ng Circuit to Interface ESP-01 at Door Chime
Lumikha ng Circuit to Interface ESP-01 at Door Chime
Lumikha ng Circuit to Interface ESP-01 at Door Chime
Lumikha ng Circuit to Interface ESP-01 at Door Chime

Ang unang hakbang ay upang lumikha ng circuit na magiging interface sa pagitan ng ESP-01 at Door Chime. Karaniwang pinto ng pintuan ay naaktibo kapag mayroong 16VAC sa pagitan ng "TRANS (dating)" at "FRONT / REAR" Pins tulad ng ipinakita sa aking unang larawan. Ang boltahe ay nagpapakita sa mga pin kapag pinindot ang pindutan ng doorbell.

Ang circuit na dinisenyo ko ay upang maunawaan ang 16VAC signal na ito at i-convert ito sa paligid ng 3.3VDC digital signal. Ito ay isang pangunahing half-wave rectifier na nabuo ng D1 at C1. Hindi namin kailangang magkaroon ng full-wave rectifier sa sitwasyong ito dahil may napakakaunting paglo-load sa output ng DC, na nakakatipid sa amin ng kaunting real-estate sa board. Nais kong gawin ang pisara nang kaunti hangga't maaari upang mailagay ko ito sa loob ng aking umiiral na huni.

Ang R1 at R2 ay bumubuo ng voltage divider upang maibaba ang rurok ng DC boltahe pababa sa paligid ng 3.3V.

Ang R3, TR1, at R4 ay bumubuo ng isang inverter upang magbigay ng pabalik na lohika para sa ESP-01 GPIO-2. Ito ay kinakailangan upang magbigay ng lohika MATAPOS habang bootup (na may pull-up R4 at R5) para sa ESP-01 na mag-boot mula sa flash. Kapag pinindot ang pindutan ng doorbell, nagpapakita ito ng LOW logic sa GPIO-2. TR1 ay maaaring maging isang maliit na transistor ng NPN na kapangyarihan, sa aking kaso ginamit ko ang 2N3904.

Ang V1 ay isang supply ng kuryente na 3.3VDC na aking itinayo gamit ang isang lumang 5V cellphone charger na isinama sa AMS1117 3.3VDC regulator na ipapakita ko sa susunod na hakbang.

Para sa socket ng ESP-01, gumagamit ako ng isang 8-pin na karaniwang socket ng IC, at pinuputol ang mga plastik na tulay na lumilikha ng puwang sa pagitan ng mga hilera, at pagkatapos ay idikit ang 2 mga hilera nang magkasama.

Hakbang 2: 3.3VDC Power Supply para sa ESP-01

3.3VDC Power Supply para sa ESP-01
3.3VDC Power Supply para sa ESP-01
3.3VDC Power Supply para sa ESP-01
3.3VDC Power Supply para sa ESP-01
3.3VDC Power Supply para sa ESP-01
3.3VDC Power Supply para sa ESP-01

Sa hakbang na ito, bubuo kami ng 3.3VDC power supply para sa ESP-01. Mayroon akong ilang mga lumang 500mA at 700mA 5VDC USB charger adapter na muling nilayon ko para sa proyektong ito. Kailangan din namin ang 3.3VDC regulator upang i-drop ang boltahe ng 5V sa 3.3V, para dito gumagamit ako ng isang murang paunang built na AMS1117 batay na regulator module na binili ko mula sa ebay. Maaari kang maghanap para sa "3.3V AMS1117 module" at hanapin kung ano ang gumagana para sa iyo.

Ang module ng regulator na 3.3V na ito ay napakaliit na maaari ko talaga itong i-plug sa loob ng orihinal na 5V USB charger enclosure na ginagawa itong mas ligtas mula sa potensyal na short-circuit. Inalis ko ang mga AC wall prongs mula sa module ng charger at pinalitan ito ng dalawang mga kable na makakonekta sa 120VAC mula sa dingding sa likod ng aking mayroon nang tunog. Ngunit huwag alisin ang mga prongs sa hakbang na ito hanggang sa masubukan namin ang run sa susunod na hakbang.

Kung mayroong isang malapit na outlet ng pader, o kung hindi ka komportable sa mga kable ng suplay ng kuryente nang direkta sa mga kable ng bahay, maaari mo ring opsyonal na i-plug lamang ang nabagong power-supply sa wall plug, at patakbuhin ang champling sa chime, kahit na maaaring hindi mukhang malinis tulad ng pagkonekta nito nang direkta sa mga kable ng bahay.

Tingnan ang isa sa aking larawan upang makita na sa likod ng aking tunog ay 120VAC mga kable at ang 16VAC transpormer para sa tunog ng tunog.

Ang output mula sa 3.3V regulator ay magkakonekta sa interface ng interface ng ESP-01 ayon sa naunang hakbang.

Hakbang 3: Flashing ang ESP-01

Sa hakbang na ito, i-flash namin ang ESP-01 na may arduino sketch. Kung hindi mo pa nai-flash ang module ng ESP-01, maaari mong sundin ang aking itinuro upang makapagsimula ka:

Mahahanap mo ang aking sketch sa aking pahina ng github:

Sa sketch, sa minimum na kailangan mo upang baguhin ang sumusunod na impormasyon na nauugnay sa iyong home network / setup:

#define MQTT_SERVER "10.0.0.30" const char * ssid1 = "SSID"; const char * password1 = "MYSSIDpassword"; const char * ssid2 = "SSID1"; const char * password2 = "MYSSIDpassword";

Sa aking home network, mayroon akong 2 magkakaibang access point na nag-broadcast ng 2 magkakaibang SSID, at papayagan ng sketch na ito ang kalabisan sa pamamagitan ng pagkonekta sa susunod na SSID kung ang komunikasyon sa kasalukuyang AP ay nawala. Kung mayroon ka lamang isang SSID, i-populate ang parehong ssid1 at ssid2 na may parehong halaga.

Kapag nagawa mong baguhin, i-upload ang sketch sa ESP-01, at i-plug ang ESP-01 sa interface board.

Hakbang 4: Patakbuhin ang Pagsubok

Patakbuhin ang Pagsubok
Patakbuhin ang Pagsubok
Patakbuhin ang Pagsubok
Patakbuhin ang Pagsubok
Patakbuhin ang Pagsubok
Patakbuhin ang Pagsubok

Mula sa hakbang 1 na binuo namin ang interface ng interface ng ESP-01, at mula sa hakbang 2 mayroon kaming 3.3V power supply para sa board na ESP-01. Ikonekta namin ngayon ang output ng suplay ng kuryente sa board ayon sa circuit diagram, na ipinakita bilang V1.

Ngayon ang susunod na hakbang ay upang ikonekta ang mga terminal ng chime Trans / Door sa mga koneksyon ng interface board na ipinapakita bilang "Door Chime Terminals". Dahil ang aking chime ay naka-mount nang mataas sa isang pader, para sa pagsubok na run, pansamantala akong nagpapatakbo ng isang mahabang pares ng cable mula sa mga terminal ng chime hanggang sa board upang ma-plug ko ang power supply.

Upang masubukan kung gumagana ang aming kalaban, ang pinakamadali ay upang subaybayan ang mga mensahe ng MQTT sa network. Upang magawa iyon, kailangan mong buksan ang isang sesyon ng SSH sa mosquitto broker at ilabas ang sumusunod na utos:

mosquitto_sub -v -t '#'

Papayagan kami ng utos sa itaas na makita ang lahat ng mga mensahe sa MQTT na papasok sa broker.

Ngayon plug sa supply ng kuryente sa outlet ng pader, at kung gumagana ang lahat, sa ilang segundo dapat mo man lang makita ang sumusunod na mensahe ng MQTT:

stat / DoorBell / LWT Online

Tumungo ngayon sa labas at i-ring ang iyong doorbell, at dapat mong makita ang mensaheng ito:

tele / DoorBell ON

Kung nakikita mo ang mga mensahe, ang iyong proyekto ay isang tagumpay.

Nagsama din ako ng maraming kapaki-pakinabang na mga paksa ng MQTT sa sketch na maaari mong gamitin:

"stat / DoorBellInfo": ang mensaheng ito ay ipinapadala bawat minuto upang magbigay ng uptime at iba pang impormasyon.

"cmnd / DoorBellInfo": Ang ESP-01 ay magpapadala ng impormasyon kung tatanggapin ang paksang ito na may halagang '1' (ascii = 49) "cmnd / DoorBellCPUrestart": Magre-restart ang ESP-01 kung tatanggapin ang paksang ito na may halagang '1 '(ascii = 49) "cmnd / DoorBellCPUreset": Magre-reset ang ESP-01 kung tatanggapin ang paksang ito na may halagang' 1 '(ascii = 49)

"tele / FrontDoorBell": magpapadala ang ESP-01 ng msg sa paksang ito na may halagang 'ON' kung pinindot ang doorbell

Hakbang 5: Pagsasama ng Lupon at Pag-supply ng Lakas sa Chime

Pagsasama ng Lupon at Pag-supply ng Kuryente Sa Chime
Pagsasama ng Lupon at Pag-supply ng Kuryente Sa Chime
Pagsasama ng Lupon at Pag-supply ng Kuryente Sa Chime
Pagsasama ng Lupon at Pag-supply ng Kuryente Sa Chime
Pagsasama ng Lupon at Pag-supply ng Kuryente Sa Chime
Pagsasama ng Lupon at Pag-supply ng Kuryente Sa Chime

Ngayon na mayroon kaming matagumpay na pagsubok sa pagsubok, kailangan naming tipunin ang board at supply ng kuryente sa loob ng aming doorbell chime (kung maaari). Sa aking mayroon nang tunog ng tunog, mayroong isang walang laman na enclosure na nagawa kong i-cut bukas at magkasya ang supply ng kuryente sa loob ng puwang na iyon. Ang board ng ESP-01 ay hindi umaangkop sa loob ng maliit na puwang na iyon, ngunit umaangkop pa rin sa loob ng pangkalahatang kahon ng chime. Gumamit lang ako ng isang makapal na double sided tape upang mai-mount ang interface ng interface ng ESP-01.

Ngayon ay maaari naming alisin ang mga metal na prong mula sa aming USB charger at palitan ang mga ito ng mas makapal na cable na maaari naming kumonekta sa mga kable ng bahay. Tiyaking patayin ang iyong circuit breaker na nagbibigay ng kuryente sa chime circuit.

Kung walang sapat na puwang upang magkasya ang aming proyekto sa umiiral na pintura ng pinto, kakailanganin mong ilagay ito sa isang magkakahiwalay na kahon at mai-mount ito malapit sa tunog ng pinto.

Hakbang 6: Pangwakas na Pag-ugnay

Final Touch
Final Touch

Ngayon na nakagawa kami ng proyekto na gumagana at nagawang mai-publish ang mensahe ng MQTT sa broker, ang susunod na hakbang ay mag-isip ng ideya kung ano ang gagawin dito.

Sa aking proyekto, gumagamit ako ng Node-RED upang makinig / mag-subscribe sa paksang MQTT ng doorbell at ipahayag sa maraming mga nagsasalita ng bahay sa google. Bilang karagdagan sa na, naiugnay ko rin ang daloy sa isang pushbullet node upang magpadala ng abiso sa aking android phone kaya alam ko kung may nagri-doorbell kahit na wala ako sa bahay. Ang notification ng Pushbullet ay hindi magiging kapaki-pakinabang sa ilan, ngunit naging kapaki-pakinabang para sa akin ng ilang beses, kasama ang video camera sa aking harap na balkonahe, nakikita ko kung sino ang nag-drop ng mga paghahatid (kadalasang nagri-doorbell sila). Hindi ako masyadong nakasalalay sa tampok na pagtuklas ng paggalaw ng camera dahil sa iba't ibang pagkagambala, kapansin-pansin ang paglipat ng mga anino ng mga puno.

Ang imahe sa hakbang na ito, ay nagpapakita ng daloy ng Node-RED upang magawa ito. Maaari mo ring i-paste ang daloy mula sa aking pahina ng github papunta sa iyong Node-RED:

Ang anunsyo sa Google sa bahay ay isang halimbawa lamang para sa proyektong ito, ngunit sa palagay ko ito ang pinaka kapaki-pakinabang at praktikal. Maaari mong palaging i-interface sa ibang tagapakinig ng MQTT, o kahit na gamit ang IFTTT upang himukin ang iba pang mga aparato sa pag-itulak sa doorbell.

Magsaya…

Inirerekumendang: