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

IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. 10 քայլ (նկարներով)
IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. 10 քայլ (նկարներով)

Video: IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. 10 քայլ (նկարներով)

Video: IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. 10 քայլ (նկարներով)
Video: Ավելի քան սուրճ: Golang. Ինչու են Java-ի մշակողները սովորում GO-ն որպես երկրորդ լեզու: 2024, Հուլիսի
Anonim
IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում
IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում

Հրաժարում

ԿԱՐԴԱԼ ԱՅՍ ԱՌԱԻՆ

Այս Ուղեցույցում մանրամասն նկարագրված է մի ծրագիր, որն օգտագործում է էլեկտրական ցանց (այս դեպքում ՝ UK 240VAC RMS), մինչդեռ ամեն ինչ արվել է անվտանգ պրակտիկայի և նախագծման լավ սկզբունքների կիրառման համար, միշտ կա պոտենցիալ մահացու էլեկտրական ցնցման վտանգ, երբ աշխատում են այս մատակարարման լարման հետ և որը հեղինակը չի կարող ընդունել որևէ պատասխանատվություն, եթե դրա բովանդակությանը հետևելիս տեղի է ունենում անձնական վնասվածք կամ գույքի վնաս: Հետևաբար, դուք պատրաստում եք այս նախագիծը ձեր ռիսկով:

Նախաբան

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

Ներածություն

Ինչպես նշվեց վերևում, սույն հրահանգը մանրամասն նկարագրում է, թե ինչպես կարելի է պատրաստել և ինտեգրել IoT ցանցի վերահսկիչ ՝ օգտագործելով Sonead 10A- ն iTead- ից: Սարքն ինքնին մեջբերված է, որ գնահատվել է 10 amps @ 90 ~ 250VAC, սակայն այս իրականացումը այն նվազեցնում է 5 amps- ի մակարդակին միաձուլված խրոցակի միջոցով ՝ ապահովելով ներքին Մեծ Բրիտանիայի 240VAC RMS հիմնական մատակարարումը:

Դիզայնի մեթոդաբանությունը անթերի ինտեգրվում է MQTT/OpenHAB- ի վրա հիմնված IoT ցանցին, որը մանրամասն նկարագրված է այս շարքում `տան ավտոմատացման շենքի վրա` այստեղից վերցված վերօգտագործված ծածկագրի հիման վրա: Այն կարող է նաև կարգավորել IoT ցանցի որևէ տարրի կորուստը և լիովին ունակ է ինքնուրույն շահագործման: Չնայած ինքնուրույն ռեժիմում, սարքի վերահսկողությունը ձեռք է բերվում պարզապես սեղմելով պարիսպի վերևում գտնվող կառավարման կոճակը, որը միացնում է մատակարարման հետագա ելքը:

Sonoff սարքի այս տեղական վերահսկողությունը միացնելու համար GPIO14- ը դուրս է բերվում պատյանից և օգտագործվում է որպես ձգան մուտքագրում: Անվտանգությունն ապահովելու համար այս մուտքագրումը սնվում է օպտո-միակցիչի միջոցով և տեղադրվում է պլաստիկ պատյանում այնպես, որ օպերատորը ոչ մի անգամ չի ենթարկվում ցանցի սնուցման լարման:

Ի վերջո, արձակը նաև նախանշում է, թե ինչպես կարելի է վերախմբագրել ESP8266 սարքը Sonoff 10A- ում Arduino IDE- ի միջոցով և տալիս է սարքի ամբողջական միացման մանրամասները, որոնք կարող են օգտագործվել թիրախային ծածկագրի հուսալի ծրագրավորման համար:

Ի՞նչ մասեր են ինձ պետք:

Sonoff Mains Controller

  1. 1 զեղչ Sonoff 10A այստեղ
  2. 1 անջատված 7805L 5 վ լարման կարգավորիչ այստեղ
  3. 1 զեղչ 240/6VAC 1.5VA տրանսֆորմատոր այստեղ
  4. 2 -ից 0.1 կերամիկական կոնդենսատորներ այստեղ
  5. 1 զեղչ 1000uF @25v էլեկտրոլիտիկ կոնդենսատոր այստեղ
  6. 1 անջատված կամրջի ուղղիչ 2W01 այստեղ
  7. 2 անջատված 4K7 դիմադրություն այստեղ
  8. 1 անջատված 330R դիմադրիչ այստեղ
  9. 1 զեղչ SPST կոճակ այստեղ
  10. 1 զեղչ Mulitcomp BM12W ABS պարիսպն այստեղ
  11. 1 զեղչ TIL111 օպտո-միակցիչ այստեղ
  12. 1 անջատված 3-ճանապարհային տերմինալային բլոկ այստեղ
  13. 1 անջատ 2-Way կոդավորված molex միակցիչ այստեղ/այստեղ
  14. 3 ճանապարհով կոդավորված molex միակցիչ այստեղ/այստեղ
  15. 1 անջատ 5-Way կոդավորված molex միակցիչ այստեղ/այստեղ
  16. 1 անջատ 5-Way molex կապում այստեղ
  17. 1 զեղչ Winbond SPI Flash (W25Q32FVSIG) այստեղ
  18. 1 անջատված ապահովիչ 20 մմ + գլխարկ այստեղ
  19. 1 անջատված 20 մմ արագ հարված 500 մԱ ապահովիչ այստեղ
  20. 2 պոլիամիդ մալուխային գեղձեր այստեղ
  21. 1 անջատված UK Mains plug (BS1363/A) այստեղ
  22. Միացյալ Թագավորության հիմնական վարդակից (BS1363/A) այստեղ
  23. 7 անջատված M3 16 մմ CS նեյլոնե պտուտակներ, (ներառյալ 10 անջատված ընկույզներ) այստեղ/այստեղ
  24. 2 անջատված Zip կապեր այստեղ
  25. 1 veroboard (0.1 "սկիպիդար) այստեղ
  26. 1 զեղչ Տարբեր երկարություններ 22swg պահածոյացված պղնձե մետաղալարեր այստեղ
  27. 1M 3M White UK հիմնական ցանցից այստեղ
  28. 10 զեղչ Molex վարդակից սեղմում է այստեղ

Sonoff ծրագրավորող

  1. 1 անջատված LD33CV 3v3 լարման կարգավորիչ այստեղ
  2. 1 զեղչ TO-220 տաքացուցիչ այստեղ
  3. 1 զեղչ Heatsink մածուկ այստեղ
  4. 1u 10uF @16v Էլեկտրոլիտիկ կոնդենսատոր այստեղ
  5. 1 -ից 0.1 կերամիկական կոնդենսատոր այստեղ
  6. 1 զեղչ SPDT կոճակ այստեղ
  7. 1 անջատված 4K7 դիմադրություն այստեղ
  8. 1 անջատ 2-Way կոդավորված molex միակցիչ այստեղ/այստեղ
  9. 3 ճանապարհով կոդավորված molex միակցիչ այստեղ/այստեղ
  10. 5 զեղչ Molex վարդակից սեղմում է այստեղ
  11. 1 անջատ 6-Way molex վարդակից այստեղ
  12. 1 զեղչ SPST կոճակ այստեղ
  13. 1 անջատված 2.1 մմ հոսանքի հոսանքի վարդակից այստեղ
  14. 1 veroboard (0.1 "սկիպիդար) այստեղ
  15. 1 անջատված USB սերիական ադապտեր (FTDI) այստեղ

Ինչ ծրագրային ապահովման կարիք ունեմ:

  1. Arduino IDE 1.6.9 այստեղ
  2. Arduino IDE- ն կազմաձևված է ESP8266 ծրագիրը ծրագրավորելու համար: Տես այստեղ; Arduino IDE- ի կարգավորում ՝ ESP8266-01 ծրագիրը ծրագրավորելու համար

Ի՞նչ գործիքների կարիք ունեմ:

  1. Sոդման երկաթ,
  2. Հորատում և տարբեր բիթեր (ներառյալ մալուխային խցուկների համար աստիճանական անցքերի կտրիչ և կառավարման կոճակ),
  3. Պտուտակահան (տարբեր),
  4. Կարգավորվող բանալիներ (երկուսը անջատված, ծնոտի լայնությունը> 25 մմ, մալուխային գեղձերի համար),
  5. Ֆայլեր (տարբեր),
  6. Ամուր փոխնակ,
  7. Ջերմային հրացան,
  8. DMM (ցանկալի է CAT IV):

Ի՞նչ հմտություններ են ինձ պետք:

  1. Էլեկտրոնիկայի և տան էլեկտրական անվտանգության/դիզայնի/էլեկտրագծերի և այլնի լավ տիրապետում,
  2. Arduino- ի և դրա IDE- ի իմացություն,
  3. Պատրաստման լավ հմտություններ (զոդման, փակցնելու, հորատման և այլն),
  4. Որոշ համբերություն,
  5. Որոշակի պատկերացում ձեր տան ցանցի մասին:

Coveredածկված թեմաներ

  • Ներածություն
  • Շրջանի ակնարկ
  • Sonoff RetroMods
  • Շինարարության և հավաքման մանրամասներ
  • Sonoff ծրագրավորման ադապտեր
  • Softwareրագրային ապահովման համակարգի ակնարկ
  • Softwareրագրային ապահովման ակնարկ
  • OpenHAB կոնֆիգուրացիա
  • Փորձարկելով ձեր IoT սարքը
  • Եզրակացություն
  • Օգտագործված հղումներ

Սերիայի հղումներ

Մաս 8 -ին ՝ WiFi IoT ջերմաստիճանի և խոնավության տվիչ: Մաս ՝ 8 ՏՏ, Տան ավտոմատացում

Մաս 10 -ին. IR հեռակառավարում IoT- ի միջոցով: Մաս 10 IoT, Տան ավտոմատացում

Քայլ 1. Շրջանների ակնարկ

Շրջանի ակնարկ
Շրջանի ակնարկ
Շրջանի ակնարկ
Շրջանի ակնարկ
Շրջանի ակնարկ
Շրջանի ակնարկ
Շրջանի ակնարկ
Շրջանի ակնարկ

Ակնարկ

Ինչպես նշվեց վերևի ներածության մեջ, որպեսզի կարողանայի միացնել և անջատել ցանցի վերահսկիչը, անհրաժեշտ էր Sonoff- ի ներկառուցված ESP8266- ի մուտքագրում: Նման արտաքին մուտքի ներդրումը պահանջում է, որ Sonoff ABS- ի պարիսպը խախտվի և, հետևաբար, ստեղծի պոտենցիալ հարվածի վտանգ: Դա հաղթահարելու համար ես օգտագործեցի օպտիկական մեկուսացում այնպիսին, որ ցանցի վերահսկիչի համակարգի պարիսպից դուրս ցանցի հոսանքի ազդեցության հնարավորություն չլինի:

Հետևյալը օպտո-մեկուսացման սխեմաների նկարագրությունն է (նկար 1-ում վերևում):

Շրջանի մանրամասները

Օպտո-մեկուսացման միացումն իր մատակարարումը ստանում է անմիջապես միավորին կիրառվող ցանցից: 240VAC RMS- ը կիրառվում է ST1- ի անջատիչ/մեկուսիչ տրանսֆորմատորի համար J1 a pheonix contact MKDSN2, 5/3-5.08 polyamide 3-Way տերմինալով, որը գնահատված է 16A- ում 400V- ում, կարող է կրել 2.5 մմ (քառակուսի) CSA և F1 մալուխ ՝ 500 մԱ 20 մմ արագ հարվածային ապահովիչ: TR1- ի երկրորդային ոլորունների վրա հասանելի 6VAC- ը լիարժեք ալիք է `ուղղված B1 դիոդային կամրջով:

Այս լիարժեք ալիքի ուղղված ելքը այնուհետև կայունացվում և կարգավորվում է C1, C2 C3, R3 և IC1- ի կողմից 7805L շարքի շանթ կարգավորիչով ՝ տալով լավ, մաքուր 5 վ մատակարարման ռելս:

5 վ երկաթուղին այնուհետև օգտագործվում է OK1- ի TIL111 օպտո-մեկուսիչի մուտքը վերահսկելու համար J3- ով միացված արտաքին SPST կոճակի միջոցով: TIL111- ի ելքը զուգակցված է Sonoff GPIO14 մուտքի հետ R2- ի միջոցով 4K7 ձգվող դիմադրության միջոցով: Այսպիսով, ավելի լավ է, քան 340V մեկուսացումը (այսինքն ՝ առավելագույն լարման = (240VAC*sqroot (2))):

Քայլ 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

Sonoff 10A սարքը ինտեգրելու համար անհրաժեշտ է կատարել որոշ հետադարձ փոփոխություններ:

Առաջինն այն է, որ ավելացվի 5 ուղղությամբ 0.1 դյույմանոց մոլեքսի միակցիչ, ինչպես ցույց է տրված վերևում ՝ նկար 1-ում: Սա թույլ է տալիս մուտք գործել Sonoff- ի GPIO14- ին, երբ պաշտպանիչ ծածկը փոխարինվի, ինչպես վերը նշված 2-րդ և 3-րդ նկարներում:

Թեև վերևում ցույց չի տրված, ես նաև դուրս բերեցի սերիական TX/RX տողեր ՝ տեղում ծրագրավորումը թույլատրելու համար (տե՛ս վերևում ՝ 1-ին քայլում ՝ SK1..3 մալուխային զրահը):

Երկրորդ փոփոխությունն այն է, որ SPI Flash սարքի չափը կանխադրված 1 ՄԲ -ից հասցվի 4 ՄԲ -ի, ինչը թույլ կտա բավարար տարածք տրամադրել IoT վեբ սերվերի ֆայլերին SPIFFS- ում պահելու համար:

Ես գնել եմ SMD SPI ֆլեշ սարքը (W25Q32FVSIG) Ebay- ից այստեղ

Ֆլեշը փոխարինելու համար ես ժամանակավորապես հեռացրեցի Sonoff LED- ն, ինչպես նկար 4 -ում, որպեսզի ավելի լավ մուտք ունենամ SMD սարքին: Ֆլեշը զոդելու համար ես օգտագործեցի ջերմային ատրճանակ, ինչպես ցույց է տրված վերևում 5-րդ նկարում: Այնուհետև կրկին զոդեք համապատասխանաբար 4 ՄԲ բայթը և LED- ը (նկար 6):

Քայլ 3. Շինարարության և հավաքման մանրամասները

Շինարարության և հավաքման մանրամասներ
Շինարարության և հավաքման մանրամասներ
Շինարարության և հավաքման մանրամասներ
Շինարարության և հավաքման մանրամասներ
Շինարարության և հավաքման մանրամասներ
Շինարարության և հավաքման մանրամասներ
Շինարարության և հավաքման մանրամասներ
Շինարարության և հավաքման մանրամասներ

Ես ցանցի կարգավորիչը փակեցի Mulitcomp BM12W ABS տուփի մեջ (նկ. 1 վերև): Այս պարիսպն ունի մեկուսացված պղնձե M3 ներդիրներ, որոնք թույլ են տալիս բազմակի մուտք գործել միավոր ՝ առանց վնասելու ամրացվող թելերը, որպեսզի անհրաժեշտության դեպքում ներքին ապահովիչը փոխարինվի կամ ժամանակի ընթացքում կատարվի ներքին զննում (նույնը չի կարելի ասել Sonoff սարքի համար, որը արդյունավետ կերպով փակվում է միայն մեկ անգամ ՝ օգտագործելով ինքնամեկուսիչ սարքեր):

Մատակարարման մալուխի հիմնական լարվածության թեթևացումը ձեռք է բերվել M16 նեյլոնե/պոլիամիդ 6/6 սպիտակ մալուխային գեղձի միջոցով, որն ապահովում է OD Min/Max 5 մմ/10 մմ մալուխը:

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

Մալուխային խցուկներին տեղավորելու և Sonoff- ի և օպտո-մեկուսացման էլեկտրոնիկայի տեղադրման համար բավարար տարածք տրամադրելու համար ես հանեցի ներքին PCB- ի ամրացման կողերը, ինչպես ցույց է տրված վերևում (նկար 2):

Ամբողջ էլեկտրոնիկան ապահով կերպով ամրացված էր M3 նեյլոնե CS պտուտակների միջոցով `ապահովելու համար պատյանների արտաքին մասի մեկուսացումը: Օպտո-մեկուսացման էլեկտրոնիկան տեղադրվում է ամրացման 5 կետով `ձայնային մեխանիկական ուժը ապահովելու դեպքում, եթե սարքը գցվի` դրանով իսկ կանխելով մեկուսիչ տրանսֆորմատորի զանգվածի ճեղքումը տախտակի միացումից:

Սարքավորմանը մատակարարումը կատարվել է Միացյալ Թագավորության ստանդարտ գույնով ծածկված սպիտակ 3 միջուկով `PVC- ով մեկուսացված ցանցի բազմաշերտ (32/0.2 մմ քառ.) Մալուխ 1 մմ (քառ.) CSA: 7.2 մմ OD- ով, որը կարող է կրել 10A:

Սարքավորումը միացված էր Մեծ Բրիտանիայի հիմնական ցանցին (240VAC RMS) `ստանդարտ 3 փին անվտանգության խրոցակի (BS 1363/A) միջոցով: Խրոցը միացվել է 5 Ա -ում:

Օպտո-մեկուսացման միացման ցանցի միացման բոլոր մալուխները միացված էին pheonix contact MKDSN2, 5/3-5.08 պոլիամիդային տերմինալների միջոցով, 16A- ում, 400V- ով, որոնք ունակ են 2.5 մմ (քառակուսի) CSA մալուխ կրել, դրանով իսկ ապահովելով երկու մալուխների մեծ հզորություն: յուրաքանչյուր պաշտոն:

Noանցի մալուխներ չփաթաթված էին, պարզապես ոլորված էին, որպեսզի կանխեն միջուկների ցրվելը միակցիչի բլոկի մեջ մտնելուց առաջ: Maանցի մալուխների թիթեղացումը վտանգավոր պրակտիկա է, քանի որ ժամանակի ընթացքում զոդումը «հանգստանում է», ինչը հանգեցնում է մալուխի կորստի միակցիչի բլոկում:

Նշում:

  • OD = Արտաքին տրամագիծ:
  • VAC = Վոլտ փոփոխական հոսանք
  • RMS = Արմատի միջին հրապարակ
  • CSA = Միջգերատեսչական տարածք
  • CS = Counter Sunk

Քայլ 4: Sonoff ծրագրավորման ադապտեր

Sonoff ծրագրավորման ադապտեր
Sonoff ծրագրավորման ադապտեր
Sonoff ծրագրավորման ադապտեր
Sonoff ծրագրավորման ադապտեր
Sonoff ծրագրավորման ադապտեր
Sonoff ծրագրավորման ադապտեր
Sonoff ծրագրավորման ադապտեր
Sonoff ծրագրավորման ադապտեր

Գոյություն ունի երկու ասպեկտ, որոնք պետք է հաշվի առնել Arduino IDE- ի միջոցով Sonoff 10A- ի վերակազմակերպման ժամանակ.

  1. Կարգավորեք ձեր Arduino IDE- ն ՝ ESP8266- ը ծրագրավորելու համար,
  2. Սարքավորման ծրագրավորման ակտն ինքնին:

Կարգավորեք ձեր Arduino IDE- ն ՝ ESP8266 ծրագիրը ծրագրավորելու համար

Ձեր Ardino IDE- ն կազմաձևելու համար հետևեք այստեղ տրված հրահանգներին: Arduino IDE- ի կարգավորում ESP8266-01 ծրագրավորման համար

Սարքավորման ծրագրավորում

Սա բազմաքայլ գործընթաց է, ինչպես ESP8266- ի դեպքում: Այստեղ Sonoff- ի հզորությունը կիրառվում է տախտակի վրա արտաքին կայունացված 3v3 DC հոսանքի միջոցով և ՈՉ ցանցից: USB- ին սերիական սարք կպահանջվի ՝ Sonoff- ին և դրանից տվյալները ուղարկելու և ստանալու համար: Միացրեք TX- ը և RX- ը, ինչպես ցույց է տրված նկար 2 -ում և 4 -ում:

Programրագրավորման քայլեր (ընդհանուր)

  1. Նախ համոզվեք, որ Sonoff- ի նկատմամբ արտաքին ցանցային էներգիա չի կիրառվում,
  2. Սեղմեք և պահեք Sonoff սարքի կոճակը: (նկար 1 վերևում, նշվում է կրկին բռնկման կոճակը),
  3. Կիրառեք արտաքին DC 3v3 մատակարարումը կապում 1 -ին (նկար 2 վերը),
  4. Ազատեք Sonoff կոճակը,
  5. Այժմ սարքը կարող է սովորական ծրագրով ծրագրավորվել Arduino IDE- ի միջոցով:

Ամեն ինչ մի փոքր ավելի հեշտ դարձնելու համար ես ստեղծեցի վերը նշված ծրագրավորման սարքը (նկարներ 3 և 4), որոնք միանում էին Sonoff- ին SK1… 3 մալուխային կապով (ինչպես նկարագրված է այս հրահանգելիք Քայլ 1 -ում): Սա թույլ տվեց ավելի հեշտ ծրագրավորել ESP8266- ը: Այն նաև տրամադրեց GPIO14- ի փորձարկման միջոց ՝ որպես մուտքագրում R1 և 4K7 ձգվող դիմադրիչի և S1 կոճակի միջոցով:

Օգտագործելով վերը նշված ծրագրավորման սարքը (նկարներ 3 և 4) Programրագրավորման քայլերն են ՝

  1. Սեղմեք և պահեք Sonoff- ի վրա կրկին բռնկման կոճակը,
  2. Ulարկերեք 3v3 մատակարարումը ՝ սեղմելով S2- ը,
  3. Ազատեք նորից բռնկման կոճակը,
  4. Այժմ սարքը կարող է ծրագրավորվել:

ՆՇՈՄ - ARԳՈՇԱՈՄ

ՈՉ մի դեպքում Սնոֆի վերակազմակերպման գործունեության ընթացքում հոսանքը պետք է մատակարարվի ցանցի միջոցով:

Քայլ 5: Softwareրագրային ապահովման համակարգի ակնարկ

Softwareրագրային ապահովման համակարգի ակնարկ
Softwareրագրային ապահովման համակարգի ակնարկ
Softwareրագրային ապահովման համակարգի ակնարկ
Softwareրագրային ապահովման համակարգի ակնարկ

Այս IoT ցանցի վերահսկիչ սարքը մեծ մասամբ պարունակում է ծրագրաշարի նույն վեց հիմնական բաղադրիչները, ինչպես Instructable WiFi IoT ջերմաստիճանի և խոնավության ցուցիչում: Մաս ՝ 8 IoT, Տան ավտոմատացում և ցուցադրված է վերը 1 -ի նկարում ՝ որոշ անհատականացումներով:

SPIFFS

Սա (արդիականացված է մինչև 4 ՄԲայթ) ներսից SPI Flash Filing System և օգտագործվում է հետևյալ տեղեկությունները պահելու համար (տե՛ս նկար 2 վերը);

  • Սրբապատկերներ և «Mains Controller Configuration Home Page» html SPIFFS- ի նոր բովանդակություն վերագրանցելու կամ վերբեռնելու անհրաժեշտությունը:
  • Անվտանգության տեղեկատվություն. Սա պարունակում է այն տեղեկությունները, որոնք օգտագործվում են IoT սարքի գործարկման ժամանակ ՝ ձեր IoT WiFi ցանցին և MQTT բրոքերին միանալու համար: «Mains Controller Configuration Home Page» - ի միջոցով ներկայացված տեղեկատվությունը գրված է այս ֆայլում («secvals.txt»):

Նշում. Սարքը նախապես կարգավորելու համար տե՛ս այստեղ ՝ Arduino IDE- ի հետ SPIFFS- ի օգտագործման ամբողջական մանրամասների համար:

mDNS սերվեր

Այս գործառույթը կոչվում է, երբ IoT սարքը չի կարողանում միանալ ձեր WiFi ցանցին որպես WiFi կայան և փոխարենը դարձել է WiFi մուտքի կետ, որը նման է ներքին WiFi երթուղիչին: Նման երթուղղիչի դեպքում դուք սովորաբար միանում եք դրան ՝ մուտքագրելով 192.168.1.1 -ի պես IP հասցեն (սովորաբար տպվում է տուփին ամրացված պիտակի վրա) անմիջապես ձեր դիտարկիչի URL- ի սանդղակում, որից հետո մուտքագրման էջ կստանաք: օգտվողի անունը և գաղտնաբառը, որը թույլ կտա ձեզ կարգավորել սարքը: AP ռեժիմում ESP8266- ի համար (Մուտքի կետի ռեժիմ) սարքը կանխադրված է 192.168.4.1 IP հասցեով, սակայն mDNS սերվերի հետ աշխատելու դեպքում միայն դիտարկիչի URL- ի սանդղակում պետք է մուտքագրել «MAINSCON.local» մարդասիրական անունը: 'Հիմնական վերահսկիչի կազմաձևման գլխավոր էջ':

MQTT հաճախորդ

MQTT հաճախորդը ապահովում է բոլոր անհրաժեշտ գործառույթները. միացեք ձեր IoT ցանցի MQTT բրոքերին, բաժանորդագրվեք ձեր ընտրած թեմաներին և հրապարակեք բեռնվածություն տվյալ թեմային: Մի խոսքով, այն ապահովում է IoT- ի հիմնական գործառույթները:

HTTP վեբ սերվեր

Ինչպես նշվեց վերևում, եթե IoT սարքն ի վիճակի չէ միանալ WiFi ցանցին, որի SSID, P/W և այլն սահմանված են SPIFFS- ում պահվող անվտանգության տեղեկատվության ֆայլում, սարքը կդառնա Access Point: Մուտքի կետի կողմից տրամադրված WiFi ցանցին միանալուց հետո, HTTP վեբ սերվերի առկայությունը թույլ է տալիս ուղղակիորեն միանալ սարքին և փոխել դրա կազմաձևը ՝ օգտագործելով HTTP վեբ զննարկչի միջոցով, որի նպատակն է ծառայել «Հիմնական վերահսկիչի կոնֆիգուրացիային» Գլխավոր էջի վեբ էջ, որը նույնպես պահվում է SPIFFS- ում:

WiFi կայան

Այս գործառույթը IoT սարքին տալիս է ներքին WiFi ցանցին միանալու հնարավորություն ՝ օգտագործելով Անվտանգության տեղեկատվության ֆայլում պարամետրերը, առանց դրա ձեր IoT սարքը չի կարողանա բաժանորդագրվել/հրապարակել MQTT բրոքերին

WiFi մուտքի կետ

WiFi մուտքի կետ դառնալու հնարավորությունն այն միջոցն է, որով IoT սարքը թույլ է տալիս միանալ դրան և կատարել կոնֆիգուրացիայի փոփոխություններ WiFi կայանի և դիտարկիչի միջոցով (օրինակ ՝ Safari- ն Apple iPad- ում): Այս մուտքի կետը հեռարձակում է SSID = "MAINSCON" + IoT սարքի MAC հասցեի վերջին 6 թվանշանները: Այս փակ ցանցի գաղտնաբառը երևակայությամբ կոչվում է «PASSWORD»:

Քայլ 6: Softwareրագրաշարի ակնարկ

Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ

Այս աղբյուրի կոդը հաջողությամբ կազմելու համար ձեզ հարկավոր կլինեն հետևյալ լրացուցիչ գրադարանները.

PubSubClient.h

  • Հեղինակ ՝ Նիկ Օ'Լիրի
  • Նպատակը. Սարքին հնարավորություն է տալիս տվյալ բրոքերի հետ հրապարակել կամ բաժանորդագրվել MQTT թեմաներին
  • Սկսած ՝

Վերադարձ 2. ժ

  • Հեղինակ ՝ Թոմաս Օ Ֆրեդերիկս
  • Նպատակը. Putրագրային ապահովման մեջ մուտքային անջատիչի դե-ցատկում
  • Սկսած ՝

Կոդի ակնարկ

Theրագիրը օգտագործում է պետական մեքենան, ինչպես ցույց է տրված վերևում 1-ին նկարում (ստորև բերված աղբյուրի ամբողջական պատճենը): Գոյություն ունի 5 հիմնական վիճակ հետևյալ կերպ.

  • INIT

    Այս նախաստորագրման վիճակը առաջին վիճակն է, որը մտել է հոսանքի անջատումից հետո:

  • ՈՉ

    Այս վիճակը մուտքագրվում է, եթե միացնելուց հետո անվավեր կամ բացակայող secvals.txt ֆայլը հայտնաբերվի

  • ՍՊԱՍՈՄ Ք. W

    Այս վիճակը անցողիկ է, մուտքագրվում է մինչ WiFi ցանցի կապ չկա

  • Սպասող MQTT

    Այս վիճակը անցողիկ է, մուտքագրվում է WiFi ցանցի միացումից հետո, և մինչդեռ որևէ կապ չկա այդ ցանցի MQTT բրոքերի հետ:

  • ԱԿՏԻՎ

    Սա սովորական գործառնական վիճակն է, որը մուտքագրվում է ինչպես WiFi ցանցի, այնպես էլ MQTT բրոքերային կապի հաստատումից հետո: Այս վիճակի ընթացքում Mains Controller- ը կհրապարակի MQTT բրոքերին և կստանա հրամաններ բաժանորդագրված թեմաների միջոցով:

Նահանգների միջև անցումները վերահսկող իրադարձությունները նկարագրված են վերը նշված 1 -ին նկարում: Նահանգների միջև անցումները կարգավորվում են նաև SecVals- ի հետևյալ պարամետրերով.

  • 1 -ին MQTT բրոքերի IP հասցեն: Կետավոր տասնորդական տեսքով AAA. BBB. CCC. DDD
  • 2 -րդ MQTT բրոքերային նավահանգիստ: Ամբողջական տեսքով:
  • 3 -րդ MQTT բրոքերային կապը փորձում է կատարել STA ռեժիմից AP ռեժիմի անցնելուց առաջ: Ամբողջական տեսքով:
  • 4 -րդ WiFi ցանցի SSID: Ազատ տեքստով:
  • WiFi ցանցի 5 -րդ գաղտնաբառ: Ազատ տեքստով:

Ինչպես նշվեց վերևում, եթե IoT սարքն ի վիճակի չէ որպես WiFi կայան միանալ WiFi ցանցին, որի SSID- ը և P/W- ն սահմանված են secvals- ում: SPIFFS- ում պահվող տեքստը սարքը կդառնա Access Point: Այս մուտքի կետին միանալուց հետո այն կծառայի «Mains Controller Configuration Home Page» - ի վրա, ինչպես ցույց է տրված վերևում ՝ 2 -րդ նկարում (մուտքագրելով «MAINSCON.local» կամ 192.168.4.1 ձեր դիտարկիչների URL հասցեների բարում): Այս գլխավոր էջը թույլ է տալիս ցանցի վերահսկիչի վերակազմավորում HTTP բրաուզերի միջոցով:

MQTT Թեմայի անվանման կոնվենցիա

Վերոնշյալ 3 -րդ նկարում նկարագրված է MQTT թեմաների համար օգտագործվող անվանման պայմանագիրը և համահունչ է իմ ավելի վաղ Instructable- ում օգտագործված օրինակին (այստեղ Քայլ 5):

MQTT Այս IoT սարքի օգտագործած թեմաները

Հստակության համար ես փաստաթղթավորել եմ (նկար 4) այն թեմաները և հարակից հաղորդագրությունների հաջորդականությունները, որոնք այս սարքը հրապարակում/բաժանորդագրվում է: Նկարը նաև պատկերում է պարիսպի արտաքին մասի սպիտակ կառավարման կոճակի հետ փոխազդեցությունը (չնայած հեգնանքով, կոճակը կարմիր գույնով է ցուցադրվում):

Հեռավոր կազմաձևման հասանելիություն, մինչդեռ այն գտնվում է ԱԿՏԻՎ վիճակում

MQTT բրոքերին միանալուց հետո հնարավոր է հեռակա կարգավորել սարքի անվտանգության պարամետրերը ՝ MQTT թեմայի հրապարակումների միջոցով: Առնչվող ֆայլը secvals.txt- ում բաց է միայն գրելու հասանելիությունը:

Օգտվողի վրիպազերծում

Բեռնման հաջորդականության ընթացքում Sonoff սարքը տանում է հետևյալ վրիպազերծման հետադարձ կապը, չնայած հարկ է նշել, որ դա տեսնելու համար հարկավոր է հանել ծածկը և միացնել սխեմաները, ուստի դա խորհուրդ է տրվում անել միայն ծածկագիրը մշակելիս և սարքը միացնելիս: 3v3 մատակարարմամբ;

  • 1 Կարճ բռնկում. Ոչ մի կազմաձևման ֆայլ, որը գտնվում է SPIFFS- ում (secvals.txt),
  • 2 Կարճ բռնկում. IoT սարքը փորձում է միանալ WiFi ցանցին,
  • Շարունակական լուսավորություն. Sonoff IoT սարքը փորձում է միանալ MQTT բրոքերին,
  • Անջատված է. Սարքն ակտիվ է և միացված է MQTT բրոքերին:

Նշում 1. «Հիմնական վերահսկիչի կազմաձևման հիմնական էջը» չի օգտագործում ապահով վարդակներ, ուստի ապավինում է ձեր ցանցի անվտանգ լինելուն:

Նշում 2. IoT բազմաթիվ սարքեր ծրագրավորելու համար MQTT տողը կպահանջի խմբագրում ՝ նախքան յուրաքանչյուր սարքում ներբեռնելը: Դա պայմանավորված է նրանով, որ ցանցի վերահսկիչի id համարը ներդրված է MQTT թեմայի տողում: այսինքն. հրապարակված ծրագրաշարում ես ընտրել եմ 100 արժեքը ՝ «WFD/MainsCont/100/Relay/Command/1», և իմ 2 սարքերի համար դրանք համապատասխանաբար համարակալված են 1 և 2:

  • 'WFD/MainsCont/1/փոխանցում/հրաման/1'
  • 'WFD/MainsCont/2/փոխանցում/հրաման/1'

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

Քայլ 7: OpenHAB կազմաձևում

OpenHAB կոնֆիգուրացիա
OpenHAB կոնֆիգուրացիա
OpenHAB կոնֆիգուրացիա
OpenHAB կոնֆիգուրացիա
OpenHAB կոնֆիգուրացիա
OpenHAB կոնֆիգուրացիա

Փորձարկման նպատակով ես որոշեցի մտայնորեն տեղակայել երկու հիմնական վերահսկիչ իմ տան «Հյուրասենյակում»: Այս OpenHAB էջին կարելի է հասնել կայքի հիմնական էջի միջոցով, ինչպես նկար 1 -ում:

Ես փոփոխեցի OpenHAB.sitemap կոնֆիգուրացիան, որը տրված էր իմ ավելի վաղ Instructable- ում (այստեղ) և ավելացրել էի առանձին գրառումներ 'Mains Controller 1' և 'Mains Controller 2' (նկ. 2 վերև): Ես նաև ավելացրեցի գրառումներ (Ննջասենյակի հիմնական բովանդակություն ՝ 1 և 2) ՝ RSSI միտումները ցուցադրելու համար, որոնք չափվում են երկու նոր IoT սարքերի ընդունիչում (նկար 3):

Վերջապես. 2 -րդ նկարը բերում է MC1 ակտիվ և MC2 անգործուն օրինակ:

Նշում 1. Եթե վստահ չեք, թե ինչպես օգտագործել OpenHAB- ը, տե՛ս այստեղ ՝ OpenHAB- ի կարգավորում և կարգավորում: Մաս 6: IoT, տան ավտոմատացում '

Նշում 2. Փոփոխված կայքի քարտեզի, կանոնների և տարրերի ֆայլերի, սրբապատկերների և այլնի պատճենը տրվում է ստորև բերված zip ֆայլում:

Նշում 3. RSSI = Ստացված ազդանշանի ուժի ցուցում: Սա չափիչ է, թե որքանով է IoT սարքը կարող տեսնել ձեր WiFi ցանցը:

Քայլ 8: Փորձարկեք ձեր IoT սարքը

Image
Image
Փորձարկելով ձեր IoT սարքը
Փորձարկելով ձեր IoT սարքը

Ինչպես նկարագրված է Instructable WiFi IoT ջերմաստիճանի և խոնավության ցուցիչում: Մաս ՝ 8 IoT, Տան ավտոմատացում Քայլ 7, IoT սարքի նախնական փորձարկումն իրականացվել է MQTT Spy- ի միջոցով MQTT միացման միջոցով (ինչպես համակարգի վերևում ՝ նկար 1-ում), լուսադիոդային ելքի մոնիտորինգ, կոճակների մուտքեր (երկուսն էլ ՝ Sonoff- ի վերալիցքավորման կոճակը և սպիտակ արտաքին կոճակը) և կարգաբերել երթևեկությունը սերիական ինտերֆեյսի վրա: Սա ինձ թույլ տվեց օգտվել առկա բոլոր բաժանորդագրված թեմաներից և ստուգել հրապարակված պատասխանները: Չնայած կրկին, սա ձեռքով էր իրականացվում և ժամանակատար էր, չնայած այն հնարավորություն էր տալիս 100% -ով լուսաբանել հաղորդագրությունների/թեմայի հրապարակումները:

Քանի որ հիմնական ծրագրակազմի պետական մեքենան (Քայլ 6 վերը) ժառանգվել է ավելի վաղ Instructable- ից (Մաս 8), բացի ողջամտությունից, ծրագրակազմը կարող էր միանալ WiFi N/W և MQTT բրոքերին, ենթադրվում էր, որ այն ճիշտ է գործում:

Համակարգի մակարդակի ամբողջական փորձարկումն այնուհետև ավարտվեց ցանցի վերահսկիչի և IoT ենթակառուցվածքի միջոցով (կրկին նկար 1) այս անգամ OpenHAB- ի միջոցով `IoT սարքի հետ փոխազդեցությունը վերահսկելու համար: IoT ապարատային սարքավորումները և տեղադրված բեռը կարելի է տեսնել վերը նշված 2 -րդ նկարում:

Տեսանյութը տալիս է համակարգի թեստերի ամբողջական մանրամասները և հստակ ցույց է տալիս, որ համաժամացումը պահպանվում է OpenHAB սարքերի (PC/Chrome և iPad/OpenHAB APP) միջև իրական ժամանակում: Այն նաև ցույց է տալիս MQTTSpy- ի միջոցով հիմնական վերահսկիչներին ուղիղ հաղորդագրություններ (տե՛ս այստեղ ՝ MQTT բրոքեր ստեղծելու լրացուցիչ մանրամասների համար: Մաս 2. IoT, տան ավտոմատացում) և OpenHAB պոչային համակարգի տեղեկամատյան ազնվամորու pi սերվերից ՝ PuTTY SSH միացման միջոցով (տե՛ս այստեղ մանրամասներ OpenHAB- ի կարգավորում և կարգավորում: Մաս 6. IoT, տան ավտոմատացում):

Նշում. Վրիպազերծման երթևեկը կազմվել է ծրագրաշարի վերջին թողարկման համար:

Քայլ 9: Եզրակացություն

Գեներալ

Նախագիծը համեմատաբար հեշտ էր ավարտել և լավ աշխատեց: Ներկառուցված ծրագրաշարը հեշտ էր արտադրել ՝ հանդիսանալով այս շարքի 8 -րդ մասի ջերմաստիճանի և խոնավության տվիչների համար օգտագործվող ծածկագրի կրճատված տարբերակը:

Սկզբում ես մտադիր էի ձեռք բերել միայն սպիտակ բաղադրամասեր `զուտ իրենց գեղագիտական որակի համար: Ես դրան հասա բոլորում, բացի կառավարման կոճակից, փորձեք որքան կարող էի, ես չկարողացա լավ/էժան ամբողջովին սպիտակ կոճակ բերել:

Sonoff 10A սարք

Ստորև թվարկել եմ Sonoff սարքի ողջամիտ դրական և բացասական կողմերը

Կողմ

  • Էժան:
  • Լավ համայնքային աջակցություն:
  • Կարող է վերագրանցել Arduino IDE- ի միջոցով:

Մինուսներ

  • Անշուք պարիսպ:
  • Նվազագույն մուտք/ելք (դուրս բերված օգտագործելի միակցիչների մոտ):
  • Այն տաք է աշխատում իր հանգիստ վիճակում:
  • Ունի ընդամենը 1 ՄԲ բայթ SPI ֆլեշ:
  • Արդյո՞ք PITA- ն մեկ անգամ միացված տեղում կվերածրագրավորի:
  • Sonoff- ի փորձարկման մեջ նոր ծածկագիրը միացնելիս ռելեի փակումը պրոբլեմատիկ էր `հաշվի առնելով, որ ռելեդը 5 վ է, իսկ Sonoff- ին կիրառվող մատակարարումը` 3v3: Ռելեի ակտիվացումը միայն ընկալելի է ականջի համար:

Վերաբերում է

  • Այն չի փոխում չեզոք գիծը: Օգտագործում է SPST ռելե:
  • Միաձուլված չէ
  • Վատ մալուխային լարվածության թեթևացում:
  • PCB- ն ապահովված չէ Sonoff- ի պատյանում:

Մեկնաբանություն ինժեներական նախագծման վերաբերյալ

Հաշվի առնելով, որ այս IoT սարքը պետք է օգտագործվեր Մեծ Բրիտանիայի հիմնական ցանցը փոխելու համար (240VAC RMS) Ես հետևել եմ ինչպես մեխանիկական, այնպես էլ էլեկտրական նախագծման լավ պրակտիկային և ապահովել եմ ցնցումների վտանգը նվազագույնի հասցնելով ՝ չբացահայտելով ոչ մի էլեկտրական հաղորդիչ նյութ, բոլոր բաղադրիչների ճշգրտման, վարկանիշի նվազեցման: ելքային ծանրաբեռնվածություն, ապահովիչների պաշտպանություն ինչպես ցանցի վերահսկիչին, այնպես էլ օպտո-համակցված ենթահամակարգին, լավ անխափան հողանցման ներառումը և օպտիկական/գալվանական մեկուսացման օգտագործումը:

Հնարավոր բարելավում

Հետադարձ հայացքով օգտակար կլիներ ներառել տեսողական ցուցում, որի համաձայն հիմնական ցանցի վերահսկիչի ելքը ակտիվ էր (LED կամ նեոն): Թեև դա ամենօրյա օգտագործման խնդիր չէ, քանի որ սովորական պրակտիկա է բեռը մատակարարումից մեկուսացնելը նախքան որևէ սպասարկում իրականացնելը, կամ տեղական կառավարման կոճակի պարզ սեղմումը կփոխի ելքը այն դեպքում, երբ լամպը կարող է վառվել միացված վիճակում:

Վերջնական նշում

Եթե ցանկանում եք տեսնել ցանցի էլեկտրամատակարարման հետ կապված երկու շատ վատ օրինակներ, ստուգեք ստորև բերված հղումները: Նրանց Darwin մրցանակները շատ շուտով կհրապարակվեն, ես լիովին վստահ եմ.

  • Mad Scientist Extension Cord
  • Համայնքի հետադարձ կապ 03 - Էլեկտրաէներգիայի անվտանգության մտահոգություններ:

Քայլ 10: Օգտագործված հղումներ

Ես օգտագործել եմ հետևյալ աղբյուրները `այս Instructable- ը համատեղելու համար.

PubSubClient.h

  • Հեղինակ ՝ Նիկ Օ'Լիրի
  • Նպատակը. Սարքին հնարավորություն է տալիս տվյալ բրոքերի հետ հրապարակել կամ բաժանորդագրվել MQTT թեմաներին
  • Սկսած ՝

Վերադարձ 2. ժ

  • Հեղինակ ՝ Թոմաս Օ Ֆրեդերիկս
  • Նպատակը. Putրագրային ապահովման մեջ մուտքային անջատիչի դե-ցատկում
  • Սկսած ՝

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Sonoff ֆլեշի արդիականացում

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Sonoff սխեմայի դիագրամ

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

USB UART մոդուլ (aka. FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f6359: g: QVUAAOSw71BXP92B

Դարվինի մրցանակներ (թեթև օգնություն)

https://www.darwinawards.com/

TIL111 Օպտո-մեկուսիչ տվյալների թերթիկ

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