Բովանդակություն:

MQTT/Google Home DoorBell օգտագործելով ESP-01: 6 քայլ
MQTT/Google Home DoorBell օգտագործելով ESP-01: 6 քայլ

Video: MQTT/Google Home DoorBell օգտագործելով ESP-01: 6 քայլ

Video: MQTT/Google Home DoorBell օգտագործելով ESP-01: 6 քայլ
Video: MQTT Doorbell - Home Assistant and Google Home Integrated 2024, Նոյեմբեր
Anonim
MQTT/Google Home DoorBell օգտագործելով ESP-01
MQTT/Google Home DoorBell օգտագործելով ESP-01

Երբևէ կարո՞ղ եք կարոտել պատասխանել ձեր դռան զանգը հնչեցրած հյուրին միայն այն պատճառով, որ գտնվում եք տան մի հատվածում, որը շատ հեռու է դռան զանգը լսելու համար: օրինակ ՝ նկուղ, փակ դռների ննջասենյակ, կամ գուցե դուք հեռուստացույց եք դիտում կամ երաժշտություն լսում:

Եթե ինձ պես դուք ունեք մեկ կամ մի քանի google տան բարձրախոսներ ձեր տան մի քանի վայրերում, ապա դա կարող է լինել այն, ինչ ձեզ հարկավոր է:

Այս Instructable- ում ես ձեզ ցույց կտամ, թե ինչպես ավելացնել MQTT հաճախորդը գոյություն ունեցող դռան զանգին `MQTT բրոքերին հաղորդակցվելու համար google home / pushbullet- ին հայտարարելով ՝ օգտագործելով NodeRED: Այս նախագիծը չի փոխարինի դռան զանգի անջատիչին և ձայնային ազդանշանին: Այն դեռ օգտագործում է սովորական մեխանիկական կոճակը դռան զանգի համար:

Մենք կավելացնենք ESP-01 մոդուլը 16VAC դռան զանգի գոյություն ունեցող համակարգում `ավելացնելով MQTT գործառույթը` MQTT բրոքերին հաղորդագրություն ուղարկելու համար (երբ դռան զանգի անջատիչը սեղմված է): MQTT բրոքերը հաղորդագրությունը կփոխանցի NodeRED- ին: MQTT հաղորդագրություն ստանալուց հետո NodeRED- ը հայտարարություն կուղարկի Google- ի բազմաթիվ տնային սարքեր և, ըստ ցանկության, հաղորդագրություն կուղարկի բջջային հեռախոսին/դիտարկիչին pushbullet- ի միջոցով:

Ես կիրք ունեմ DIY տան ավտոմատացման և դանդաղորեն IOT ավելացնելով իմ տանը: Google տունը եղել է իմ տան ավտոմատացման կենտրոնական գործառույթը:

Իմ որդին տվեց այս նախագծի գաղափարը, երբ նա ինձ հարցրեց, թե կարո՞ղ եմ այնպես անել, որ Google- ի տունը հայտարարի ամեն անգամ, երբ ինչ -որ մեկը զանգում է մեր դռան զանգին: Մենք ունենք 2 հարկ + նկուղն ավարտելու տուն, և շատ անգամ մենք չենք կարող լսել ձայնը, երբ մենք գտնվում ենք նկուղում կամ վերնահարկում `ննջասենյակում, փակ դռներով կամ հեռուստացույցով միացված:

Մեր տանը մենք ունենք 4 google home mini տեղադրված տարբեր վայրերում/սենյակներում, և օգտագործելով Google- ի տները ՝ դռան զանգը ազդարարելու համար, մենք անմիջապես տան ցանկացած վայրում գիտենք, որ ինչ -որ մեկը զանգում է դռան զանգը:

Իմ տանը ես օգտագործում եմ RaspberryPi ZeroW- ը ՝ Mosquitto MQTT սերվերն ու NodeRED- ը հյուրընկալելու համար: Այն աշխատում է ավելի քան մեկ տարի ՝ առանց որևէ խնդրի:

Հղումներ:

  • Դռան զանգի միացման սխեմաներ.
  • Տեղադրեք Mosquitto MQTT բրոքեր Raspberry Pi- ի վրա ՝
  • Տեղադրեք NodeRED- ը Raspberry Pi- ի վրա ՝

Քայլ 1. Ստեղծեք ESP-01 և Door Chime ինտերֆեյսի միացում

Ստեղծեք միացում դեպի ինտերֆեյս ESP-01 և Door Chime
Ստեղծեք միացում դեպի ինտերֆեյս ESP-01 և Door Chime
Ստեղծեք միացում դեպի ինտերֆեյս ESP-01 և Door Chime
Ստեղծեք միացում դեպի ինտերֆեյս ESP-01 և Door Chime
Ստեղծեք միացում դեպի ինտերֆեյս ESP-01 և Door Chime
Ստեղծեք միացում դեպի ինտերֆեյս ESP-01 և Door Chime

Առաջին քայլը կլինի ստեղծել միացում, որը կլինի միջերես ESP-01- ի և Door Chime- ի միջև: Տիպիկ դռան ազդանշանը ակտիվանում է, երբ 16VAC կա «TRANS (նախկին)» և «FRONT/REAR» կապումների միջև, ինչպես ցույց է տրված իմ առաջին լուսանկարում: Լարվածությունը հայտնվում է այդ կապում, երբ դռան զանգի կոճակը սեղմված է:

Շրջանակը, որը ես նախագծել եմ, պետք է զգալ այս 16VAC ազդանշանը և այն վերածել մոտ 3.3VDC թվային ազդանշանի: Այն հիմնական կիսաալիքային ուղղիչ է, որը ձևավորվել է D1 և C1- ով: Այս իրավիճակում մեզ անհրաժեշտ չէ ունենալ ամբողջ ալիքի ուղղիչ սարք, քանի որ DC ելքի վրա շատ քիչ բեռներ կան, ինչը մեզ մի փոքր անշարժ գույք է խնայում տախտակի վրա: Wantանկանում եմ տախտակը հնարավորինս քիչ դարձնել, որպեսզի կարողանամ տեղադրել այն իմ գոյություն ունեցող զանգի ներսում:

R1 և R2 ձևավորում են լարման բաժանարար ՝ նվազեցնելով գագաթնակետային լարումը մինչև 3,3 Վ:

R3, TR1 և R4- ը կազմում են inverter ՝ ESP-01 GPIO-2- ի հակառակ տրամաբանությունը ապահովելու համար: Սա անհրաժեշտ է ապահովել բարձր տրամաբանություն `միացման ընթացքում (քաշվող R4 և R5- ով), որպեսզի ESP-01- ը սկսի բռնկումից: Երբ դռան զանգի կոճակը սեղմված է, այն GPIO-2.- ին ներկայացնում է տրամաբանություն OWԱOWՐ: TR1- ը կարող է լինել ցանկացած փոքր հզորության NPN տրանզիստոր, իմ դեպքում ես օգտագործել եմ 2N3904:

V1- ը 3.3VDC էլեկտրամատակարարում է, որը ես կառուցել եմ ՝ օգտագործելով բջջային հեռախոսների հին 5 Վ լիցքավորիչ ՝ զուգորդված AMS1117 3.3VDC կարգավորիչով, որը ցույց կտամ հաջորդ քայլին:

ESP-01 վարդակի համար ես օգտագործում եմ 8-փին ստանդարտ IC վարդակից և կտրում պլաստիկ կամուրջները, որոնք ստեղծում են տողերի միջև եղած բացը, այնուհետև սոսնձում եմ 2 տողը միասին:

Քայլ 2: 3.3VDC էլեկտրամատակարարում ESP-01- ի համար

3.3VDC էլեկտրամատակարարում ESP-01- ի համար
3.3VDC էլեկտրամատակարարում ESP-01- ի համար
3.3VDC էլեկտրամատակարարում ESP-01- ի համար
3.3VDC էլեկտրամատակարարում ESP-01- ի համար
3.3VDC էլեկտրամատակարարում ESP-01- ի համար
3.3VDC էլեկտրամատակարարում ESP-01- ի համար

Այս քայլում մենք կկառուցենք 3.3VDC սնուցման աղբյուր ESP-01- ի համար: Ես ունեմ մի քանի հին 500mA և 700mA 5VDC USB լիցքավորիչի ադապտեր, որը ես նորից մտադրեցի այս նախագծի համար: Մեզ նաև պետք է 3.3VDC կարգավորիչ ՝ 5 Վ լարման հոսքը 3.3 Վ իջեցնելու համար, դրա համար ես օգտագործում եմ էժան նախապես կառուցված AMS1117 կարգավորիչով կարգավորիչ մոդուլ, որը գնել եմ ebay- ից: Կարող եք որոնել «3.3V AMS1117 մոդուլ» և գտնել այն, ինչ ձեզ հարմար է:

Այս 3.3 Վ կարգավորիչ մոդուլը շատ փոքր է, և ես այն կարող եմ իրականում լցնել 5 Վ USB լիցքավորիչի օրիգինալ պատյանում ՝ այն ավելի ապահով դարձնելով պոտենցիալ կարճ միացումից: Ես հանել եմ AC պատի ճարմանդները լիցքավորիչի մոդուլից և այն փոխարինել երկու մալուխով, որոնք միացված կլինեն 120VAC- ին իմ գոյություն ունեցող զանգի հետևի պատից: Բայց մի հանեք այս քայլի ծայրերը, մինչև մենք չկատարենք հաջորդ քայլի փորձնական աշխատանքը:

Եթե մոտակայքում կա պատի վարդակ, կամ եթե ձեզ հարմար չէ էլեկտրամատակարարումը անմիջապես տան էլեկտրագծերին միացնելը, ապա կարող եք ընտրովի պարզապես միացնել պատի խրոցակին փոփոխված սնուցման աղբյուրը և միացնել լարերը, կարող է ոչ այնքան մաքուր տեսք ունենալ, որքան այն ուղղակիորեն տան էլեկտրագծերին միացնելը:

Տեսեք իմ լուսանկարներից մեկը ՝ տեսնելու համար, որ իմ ազդանշանի հետևում է գտնվում 120VAC լարերը և 16VAC տրանսֆորմատորը զանգի համար:

3.3 Վ կարգավորիչից ելքը այնուհետև կկապվի ESP-01 ինտերֆեյսի տախտակին `ըստ նախորդ քայլի:

Քայլ 3. Flashրամեկուսացում ESP-01- ի համար

Այս քայլում մենք ESP-01- ը կթարթենք arduino ուրվագծով: Եթե դուք երբեք չեք բռնկել ESP-01 մոդուլը, կարող եք հետևել իմ հրահանգին ՝ սկսելու համար.

Դուք կարող եք գտնել իմ ուրվագիծը իմ github էջում ՝

Էսքիզում նվազագույնը պետք է փոխեք ձեր տան ցանցին/կարգավորմանը վերաբերող հետևյալ տեղեկությունները.

#սահմանել MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";

Իմ տնային ցանցում ես ունեմ 2 տարբեր մուտքի կետ, որոնք հեռարձակում են 2 տարբեր SSID- ներ, և այս ուրվագիծը թույլ կտա ավելորդություն ՝ միանալով հաջորդ SSID- ին, եթե հաղորդակցությունը ընթացիկ AP- ին կորչի: Եթե ունեք միայն մեկ SSID, լրացրեք և՛ ssid1, և՛ ssid2 նույն արժեքը:

Փոփոխությունը կատարելուց հետո ներբեռնեք ուրվագիծը ESP-01 և միացրեք ESP-01 ինտերֆեյսի տախտակին:

Քայլ 4: Փորձնական գործարկում

Test Run
Test Run
Test Run
Test Run
Test Run
Test Run

Քայլ 1-ից մենք կառուցել ենք ESP-01 ինտերֆեյսի տախտակը, իսկ 2-րդ քայլից մենք ունենք 3.3V սնուցման աղբյուր ESP-01 տախտակի համար: Այժմ մենք էներգիայի մատակարարման ելքը միացնում ենք տախտակին `ըստ սխեմայի, որը ցուցադրվում է որպես V1:

Այժմ հաջորդ քայլը զանգի Trans/Door տերմինալների միացումն է ինտերֆեյսի տախտակի միացումներին, որոնք ցուցադրվում են որպես «Դռան զանգի տերմինալներ»: Քանի որ իմ ազդանշանը տեղադրված է բարձր պատի վրա, փորձնական աշխատանքի համար ես ժամանակավորապես մի երկար զույգ մալուխ եմ անցկացնում զանգի տերմինալներից դեպի տախտակ, որպեսզի կարողանամ միացնել էլեկտրասնուցումը:

Ստուգելու համար, թե արդյոք մեր հակաբեղմնավորիչն աշխատում է, ամենահեշտը կլինի ցանցում MQTT հաղորդագրությունների մոնիտորինգը: Դա անելու համար հարկավոր է SSH նիստ բացել մոծակների միջնորդի համար և տալ հետևյալ հրամանը.

mosquitto_sub -v -t '#'

Վերոնշյալ հրամանը թույլ կտա մեզ տեսնել բրոքերի մեջ մտնող բոլոր MQTT հաղորդագրությունները:

Այժմ միացրեք հոսանքի աղբյուրը պատի վարդակին, և եթե ամեն ինչ աշխատում է, մի քանի վայրկյանում դուք պետք է գոնե տեսնեք հետևյալ MQTT հաղորդագրությունը.

stat/DoorBell/LWT Առցանց

Այժմ դուրս եկեք և զանգահարեք ձեր դռան զանգը, և դուք պետք է տեսնեք այս հաղորդագրությունը.

tele/DoorBell ON

Եթե տեսնում եք այդ հաղորդագրությունները, ձեր նախագիծը հաջողված է:

Ես նաև ուրվագծում ներառեցի մի քանի օգտակար 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. Տախտակի և էլեկտրամատակարարման ինտեգրում զանգի մեջ

Խորհրդի և էլեկտրամատակարարման ինտեգրում զանգի մեջ
Խորհրդի և էլեկտրամատակարարման ինտեգրում զանգի մեջ
Խորհրդի և էլեկտրամատակարարման ինտեգրում զանգի մեջ
Խորհրդի և էլեկտրամատակարարման ինտեգրում զանգի մեջ
Խորհրդի և էլեկտրամատակարարման ինտեգրում զանգի մեջ
Խորհրդի և էլեկտրամատակարարման ինտեգրում զանգի մեջ

Այժմ, երբ մենք ունենք մեր հաջող փորձարկումը, մենք պետք է հավաքենք տախտակը և հոսանքի աղբյուրը մեր դռան զանգի ներսում (հնարավորության դեպքում): Իմ առկա ազդանշանի մեջ կա դատարկ պատյան, որը ես կարողացա բացել և տեղավորել էներգիայի մատակարարումը այդ տարածքի ներսում: ESP-01 տախտակը չի տեղավորվում այդ փոքր տարածքի ներսում, բայց այնուամենայնիվ տեղավորվում է ընդհանուր զանգի տուփի ներսում: Ես պարզապես օգտագործել եմ հաստ երկկողմանի ժապավեն ՝ ESP-01 ինտերֆեյսի տախտակը տեղադրելու համար:

Այժմ մենք կարող ենք հեռացնել մետաղական ճարմանդները մեր USB լիցքավորիչից և դրանք փոխարինել ավելի հաստ մալուխով, որը մենք կարող ենք միացնել տան լարերին: Համոզվեք, որ անջատեք անջատիչը, որը էլեկտրաէներգիա է մատակարարում ազդանշանային ազդանշանին:

Եթե մեր նախագիծը տեղակայված դռան ազդանշանի մեջ տեղավորելու համար բավարար տարածք չկա, ապա ձեզ հարկավոր է այն դնել առանձին տուփի մեջ և տեղադրել այն դռան զանգի մոտ:

Քայլ 6: Վերջնական հպում

Վերջնական հպում
Վերջնական հպում

Այժմ, երբ մենք գործի դրեցինք նախագիծը և կարողացանք բրոքերին հրապարակել MQTT հաղորդագրություն, հաջորդ քայլն այն է, որ մտածենք, թե ինչ անել դրա հետ:

Իմ նախագծում ես օգտագործում եմ Node-RED ՝ դռան զանգի MQTT թեման լսելու/բաժանորդագրվելու և Google- ի տան մի քանի բարձրախոսների հայտարարելու համար: Բացի այդ, ես նաև հոսքը կապեցի pushbullet հանգույցի հետ ՝ իմ Android հեռախոսին ծանուցում ուղարկելու համար, որպեսզի իմանամ, արդյոք ինչ -որ մեկը զանգում է դռան զանգը, նույնիսկ եթե ես տանը չեմ: Pushbullet- ի ծանուցումը ոմանց համար օգտակար չէ, բայց ինձ համար մի քանի անգամ բավականին օգտակար է եղել ՝ իմ առջևի պատշգամբի տեսախցիկի հետ միասին, ես կարող եմ տեսնել, թե ով է եկել առաքումները թողնելու (նրանք սովորաբար դռան զանգ են տալիս): Ես շատ չեմ կարող ապավինել տեսախցիկի շարժումների հայտնաբերման հնարավորությանը `տարբեր միջամտությունների, մասնավորապես ծառերի ստվերների շարժման պատճառով:

Այս քայլի պատկերը ցույց է տալիս Node-RED հոսքը ՝ դա իրականացնելու համար: Կարող եք նաև իմ github էջից հոսքը տեղադրել Node-RED- ի մեջ ՝

Google- ի տան հայտարարությունը այս նախագծի ընդամենը մեկ օրինակ է, բայց ես կարծում եմ, որ այն ամենաօգտակարն ու գործնականն է: Դուք միշտ կարող եք միանալ այլ MQTT ունկնդիրներին, կամ նույնիսկ օգտագործել IFTTT ՝ այլ սարքեր քշելու համար, երբ դռան զանգը մղվում է:

Զվարճանալ…

Խորհուրդ ենք տալիս: