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

Անլար MQTT մահճակալի գլխարկի հսկողություն. 5 քայլ (նկարներով)
Անլար MQTT մահճակալի գլխարկի հսկողություն. 5 քայլ (նկարներով)

Video: Անլար MQTT մահճակալի գլխարկի հսկողություն. 5 քայլ (նկարներով)

Video: Անլար MQTT մահճակալի գլխարկի հսկողություն. 5 քայլ (նկարներով)
Video: Home Assistant. Դաս 9.4 ADD-ON - Xiaomi Gateway 3, zigbee2mqtt ինտեգրում 2024, Հուլիսի
Anonim
Անլար MQTT մահճակալի գլխարկի հսկողություն
Անլար MQTT մահճակալի գլխարկի հսկողություն
Անլար MQTT մահճակալի գլխարկի հսկողություն
Անլար MQTT մահճակալի գլխարկի հսկողություն

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

Առաջին բանը, որ մենք նկատեցինք, այն էր, որ սրահի գեղեցիկ և երկար լարերը այն չէին, ինչ մենք ունեինք մեր անկողնում: Theուցասրահում գտնվողներն ունեին ընդարձակումներ: Այս ընդարձակումները ՉԻ ներառված մեր անկողնու հետ և բավական հետաքրքիր, ոչ ոք շահագրգռված չէր մեզ զույգ երկարացման մալուխներ վաճառելով: Սա մեզ թողեց հսկիչներ, որոնք հազիվ էին հասնում մահճակալի վերին հատվածին, և որոնք օգտագործելու համար մենք ստիպված էինք շրջվել:

Դուք ստանում եք այն, ինչի համար վճարում եք:

Մոտ 6 ամիս անց մենք նկատում ենք, որ վերահսկիչներից մեկի լարվածության օգնության օձիքները սկսում են պատռվել: Մի քանի ամիս անց `մերկ մետաղալար: Շուտով մոտ մեկ տարի առաջ, վերահսկիչներից մեկն այլևս չի աշխատում, իսկ մյուսը մի փոքր ցնցվում է:

Կրկին ոչ ոք շահագրգռված չէր մեզ փոխարինող վաճառելով: Հետո հարվածեց ինձ:

«Սպասի՛ր մի վայրկյան: Չե՞մ կառուցում տան ավտոմատացման և ԿՈՆՏՐՈԼ համակարգ»:

Քայլ 1: Հայտնաբերում

Բացահայտում
Բացահայտում
Բացահայտում
Բացահայտում

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

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

Քայլ 2: Դիզայն

Դիզայն
Դիզայն
Դիզայն
Դիզայն
Դիզայն
Դիզայն
Դիզայն
Դիզայն

Այսպիսով, VCC- ի և ազդանշանի կապի միջև պարզ կապն այն ամենն է, ինչ անհրաժեշտ է, բայց ինչպես է դա արվում իմ համակարգում: Կոնտակտների համար կպահանջվեր երկու ռելեներ, իսկ անլար վերահսկիչի համար `ESP8266: Քանի որ ռելեները կարող են պահանջել ավելի շատ ընթացիկ, քան կարող են ապահովել թվային կապերը, լավագույնն այն է, որ վերահսկիչի և ռելեի միջև օպտոիզոլատոր օգտագործվի: Սա թույլ կտա մի փոքր ազդանշանի միացնել ավելի բարձր հոսանքի անջատիչը (այս դեպքում `լուսային շարժիչով տրանզիստորը) և ապահով կերպով ակտիվացնել ռելեի կծիկը: Բացի այդ, օպտոիզոլատորը մեկուսացնում է վերահսկիչը ցանկացած խայթոցից, որը կարող է ձևավորվել, երբ ռելեի կծիկն արձակվի և մագնիսական դաշտը փլուզվի: Բարեբախտաբար, գոյություն ունեն ռելեի մոդուլներ, որոնք արդեն պարունակում են այս ամբողջ սխեմաները և բավականին ցածր գնով:

Մահճակալը կլինի վերահսկիչի սնուցման աղբյուրը և մատակարարվող 12 վոլտերը կարգավորելու համար մեզ հարկավոր կլինի փոփոխական փոխարկիչ: Շատ էժան մեկը ստորև կապվել է և հիանալի է աշխատում: 12V գիծը և GND տողերը միանում են փոխարկիչի մուտքային կողմին, իսկ կարգավորվող 5 վոլտ կողմը միանում է NodeMCU- ի VCC- ին և ռելեի մոդուլի VCC- ին: Փոխարկիչի հողը (-) միանում է GND կապումներին ինչպես ռելեի մոդուլը, այնպես էլ NodeMCU- ն:

NodeMCU- ն միանում է IN1- ին ՝ օգտագործելով D1 (GPIO5) և IN2 ՝ օգտագործելով D2 (GPIO4): Մահճակալի վերևի ազդանշանի գիծը միանում է ռելե 1 -ի համար սովորաբար բաց պտուտակային տերմինալին, իսկ ներքևի ազդանշանը `սովորաբար բաց տերմինալային բլոկի միակցիչին: Դուք պետք է միացնեք 12 վ լարը, որը միացված է բակ փոխարկիչի մուտքի կողմին, ինչպես նաև երկու տերմինալային բլոկի միացմանը, ԵՐԿՈ re 1 -ի և 2 -րդ ռելեի համար:

Մասեր

  • 1 - NodeMCU
  • 1 - Duel Relay Module ընթացիկ մեկուսացումով
  • 1 - փոփոխական մուտքային/ելքային շերտի փոխարկիչ
  • 1 - Breadboard PCB
  • 22 չափիչ շղթայված պղնձե միջուկի մետաղալար
  • 2 - M3x 8 պտուտակ

Քայլ 3: պարիսպ

Պարիսպ
Պարիսպ

Պարիսպը կարելի է գտնել այստեղ ՝

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

Տախտակները տեղում պահելու համար ես տաք սոսինձ օգտագործեցի, բայց դա կարող է անհրաժեշտ չլինել:

Քայլ 4: Կոդ

Կոդը կարելի է գտնել այստեղ ՝

Նշում. Այս նախագիծը օգտագործում է pubsubclient գրադարանը, որը կարող է ավելացվել Arduino IDE- ի գրադարանի կառավարչին:

Այստեղ ծածկագիրը բավականին հիմնական է և նախագծված է ՝ տնային օգնականի Cover MQTT տիպի հիման վրա: Գաղափարը այստեղ պարզ է. Երբ տնային օգնականի վեր կամ վար կոճակը սեղմելիս, համապատասխան ռելեը փակվում է մինչև կանգնեցման հրամանը ստացվի ԿԱՄ համակարգը հասնում է ակտիվացման առավելագույն ժամանակի և դադարում:

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

Իմ ծածկագրում այս ընդմիջումը 20 վայրկյան է և կարող է ճշգրտվել կոդի վերևի գլոբալ փոփոխական բլոկում:

Անվտանգության երկրորդ նախազգուշական միջոցն էր միշտ համոզվել, որ եթե ես մի ռելե եմ ակտիվացնում, մյուսի դիտավորյալ ապաակտիվացումը միշտ կոչվում է, նույնիսկ եթե վերջին վիճակը արդեն անջատված էր: Ես չեմ ուզում 12 վ ուղարկել երկու ազդանշանային գծեր, քանի որ չգիտեմ, թե դա ինչ կանի մահճակալին:

Բացի այդ, մահճակալը հրապարակում է, որ այն հասանելի է յուրաքանչյուր 60 վայրկյանը մեկ և վերջ: Այստեղ զանգեր և սուլիչներ չկան: Քանի որ մահճակալը դիրքորոշման հետադարձ կապ չունի, ես չէի կարող որևէ բան հետ ուղարկել Home Assistant- ին:

Քայլ 5. Օրինակ ինտեգրում

Օրինակ ինտեգրում
Օրինակ ինտեգրում
Օրինակ ինտեգրում
Օրինակ ինտեգրում

Իմ գրած կոդը օգտագործում է MQTT ՝ WiFi- ով հաղորդակցվելու համար և, հետևաբար, կարող է շփվել ցանկացած ավտոմատացման հանգույցի կամ սարքի հետ, որն օգտագործում է MQTT: Ես օգտագործում եմ Home Assistant- ը, որն ունի ներկառուցված MQTT բրոքեր: Ստորև բերված է իմ HA կոնֆիգուրացիայի օրինակը:

HA- ում ես ունեմ covers.yaml ֆայլ հետևյալ սահմանմամբ.

- հարթակ ՝ mqtt

անվանումը ՝ «Գլխավոր մահճակալի գլխարկ» հրամանատարական_թեմա ՝ «վարպետ_մեջ_կոնտրոլ/սմդ» առկայություն_թեմա ՝ «վարպետ_կառավարում/առկայություն» qos: 0 պահպանել ՝ կեղծ բեռը_բացել. անցանց «լավատես. ճշմարիտ

Սա ինձ տալիս է մեկ մուտք իմ HA ինտերֆեյսում `վերը/դադարեցնելու/իջնելու կոճակով, որը սահմանված է գործողությամբ, ինչպես նկարագրված է վերևում:

Բացի այդ, ես իմ մահճակալի կառավարման վահանակի (Instructable / Blog Post) երկու կոճակ եմ սահմանել ՝ գլուխը բարձրացնելու և իջեցնելու համար: Կառավարման վահանակի կոճակները սահմանվում են որպես MQTT սենսորներ.

- հարթակ ՝ mqtt

state_topic: "bedside_cp1/button5" name: "Bedside CP1 Button 5" պատկերակ: mdi: circle

- հարթակ ՝ mqtt

state_topic: "bedside_cp1/button6" name: "Bedside CP1 Button 6" պատկերակ: mdi: circle

… Եվ ավտոմատացման 4 կանոն, երբ յուրաքանչյուր կոճակ սեղմվում և բաց է թողնվում: Սեղմելիս վեր կամ վար հրամանը ուղարկվում է մահճակալ ՝ կախված նրանից, թե որ կոճակն է ակտիվացված, երբ կոճակը բաց է թողնվում, կանգնեցվում է հետևյալ հրամանը.

- id: '1548308650383'

կեղծանուն ՝ MBR Bedside CP Button 5a ձգան. - unit_id: sensor.bedside_cp1_button_5 ՝ «Off» հարթակից. նշեք հետևյալը ՝ «On» պայմանին ՝ գործողություն ՝ - data: unit_id: id: '1548308758911' կեղծանուն ՝ MBR Bedside CP Button 5b ձգան.: cover.stop_cover - id: '1548308863495' կեղծանուն `MBR Bedside CP Button 6a ձգան. cover.master_bed_headboard 'ծառայություն. cover.close_cover - id:' 1548308911467 'կեղծանուն `MBR Bedside CP Button 6b ձգան. տվյալներ ՝ unit_id: 'cover.master_bed_headboard' ծառայություն `cover.stop_cover

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