Բովանդակություն:
- Քայլ 1. Շրջանների ակնարկ
- Քայլ 2: Softwareրագրային համակարգի ակնարկ
- Քայլ 3: Softwareրագրաշարի ակնարկ
- Քայլ 4: Սենսորների տրամաչափում
- Քայլ 5. MQTT թեմայի անվանման կոնվենցիա
- Քայլ 6: OpenHAB կազմաձևում
- Քայլ 7: Դիզայնի փորձարկում
- Քայլ 8: Եզրակացություն
- Քայլ 9: Օգտագործված հղումներ
Video: WiFi IoT ջերմաստիճանի և խոնավության ցուցիչ: Մաս ՝ 8 ՏՏ, Տան ավտոմատացում ՝ 9 Քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Նախաբան
Այս հոդվածը փաստում է ավելի վաղ Instructable- ի գործնական խստությունը և հետագա զարգացումը. «Կավատ» ձեր առաջին IoT WiFi սարքը: Մաս 4. IoT, տան ավտոմատացում, ներառյալ ծրագրակազմի բոլոր անհրաժեշտ գործառույթները `տնային տնային միջավայրում հաջող տեղակայման հնարավորություն տալու համար:
Ներածություն
Ինչպես նշվեց վերևում, սույն Հրահանգը նկարագրում է ավելի վաղ IoT- ի օրինակի համախմբումը վստահելի համակարգային դիզայնով, որը թույլ է տալիս գործնական օգտագործման այնպիսի գործերի հաջող վարում, ինչպիսիք են. Էլեկտրաէներգիայի աղետալի կորուստ, MQTT բրոքերի խափանում, WiFi N/W ձախողում, հեռավոր սենսորների վերակազմավորում, ցանցի տրաֆիկի նվազեցման և սենսորների ճշգրտման պատվիրման ճշգրիտ հաշվետվությունների ռազմավարություն:
Ընդհանուր առմամբ ստեղծվեց 6 անջատված սարք (տես նկ. 1 -ը վերևում) և բաշխվեցին իմ տան շուրջը ՝ IoT սենսորների իմ առաջին ցանցը ձևավորելու համար:
The Instructable- ը նաև տեսնում է MQTT անվանման պայմանագրի վերանայում, որն օգտագործվում է IoT Home Automation- ի սկզբնական շարքում, որը զիջում է ավելի հավասարակշռված և գործնական կառուցվածքին, որը թույլ է տալիս ավելի շատ IoT սարքերի միջավայրում IoT երթևեկի ավելի հեշտ կարգաբերում:
Ստորև ներկայացված են IoT սենսորի նախագծման ամբողջական մանրամասները, ներառյալ. շինարարություն, աղբյուրի ծածկագիր, փորձարկման ռազմավարություն և OpenHAB կոնֆիգուրացիաներ:
Ի՞նչ մասեր են ինձ պետք:
- 1 զեղչ ESP8266-01,
- 2 անջատ 1uF էլեկտրոլիտիկ կոնդենսատորներ,
- 3 -ից 10 Կ ռեզիստորներ,
- 1 անջատված 330R դիմադրիչ,
- 1 հատ 3 մմ տրամագծով LED,
- 1 զեղչ LD1117-33v, 3v3 LDO VReg: (Ֆարնել այստեղ),
- 1 զեղչ DHT22 ջերմաստիճանի/խոնավության ցուցիչ,
- 1 զույգ Dual 4way 0.1 "միակցիչ,
- 1 զեղչ CAMDENBOSS RX2008/S-5 պլաստմասե պարիսպ, զամբյուղ, ABS, 38 մմ, 23 մմ (Ֆարնելն այստեղ),
- 1 անջատված DC հոսանքի միակցիչ, վարդակից, 1 A, 2 մմ, վահանակի ամրացում (այստեղ Ֆարնելը),
- 1 զեղչ TO-220 Heatsink 24.4 ° C/W (Farnell այստեղ),
- Տարբեր ջերմային նեղացման խողովակներ (դեղին, այստեղ Ebay),
- Տարբեր երկարությունների IDC ժապավենի մալուխ,
- Heatsink բարդ,
- Veroboard,
- ESP8266-01 ծրագրավորման սարք: Տես այստեղ; Գործնական սխեմաների կառուցում `ժապավենի տախտակով, քայլ 9 -ից սկսած:
Ինչ ծրագրային ապահովման կարիք ունեմ:
- Arduino IDE 1.6.9
- Arduino IDE- ն կազմաձևված է ՝ ESP8266-01 ծրագիրը ծրագրավորելու համար: Տես այստեղ; Arduino IDE- ի կարգավորում ՝ ESP8266-01 ծրագիրը ծրագրավորելու համար
Ի՞նչ գործիքների կարիք ունեմ:
- Sոդման երկաթ,
- Գայլիկոն և տարբեր բիթեր,
- Ֆայլեր,
- Սղոց,
- Ամուր փոխնակ,
- Ջերմային հրացան,
- DMM
Ի՞նչ հմտություններ են ինձ պետք:
- Էլեկտրոնիկայի նվազագույն տիրապետում,
- Arduino- ի և դրա IDE- ի իմացություն,
- Ռուդիմենտային հորինման հմտություններ (զոդման, կոտրման, սղոցման, հորատման և այլն),
- Որոշ համբերություն,
- Որոշակի պատկերացում ձեր տան ցանցի մասին:
Coveredածկված թեմաներ
- Շրջանի ակնարկ
- Softwareրագրային ապահովման համակարգի ակնարկ
- Softwareրագրային ապահովման ակնարկ
- Սենսորների տրամաչափում
- MQTT թեմայի անվանման կոնվենցիա
- OpenHAB կոնֆիգուրացիա
- Դիզայնի փորձարկում
- Եզրակացություն
- Օգտագործված հղումներ
Սերիայի հղումներ
Մաս 7 -ին. Ուսումնասիրեք լույսերի վերահսկիչը (վերամշակված): Մաս 7: IoT, տան ավտոմատացում
Մաս 9 -ին. IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում
Քայլ 1. Շրջանների ակնարկ
Վերևում նկար 1 -ը ցույց է տալիս IoT սենսորի ամբողջական միացման սխեման:
IoT սարքի հիմքում ընկած է ESP8266-01- ը, որը միացված է DHT22 ջերմաստիճանի/խոնավության տվիչին 10K ձգվող դիմադրիչի միջոցով GPIO2- ի միջոցով: Արտաքին 5 վ աղբյուր է միացված ռեժիմով և սնվում է սարքին 2 մմ DC վահանակի ամրացման վարդակից և տեղայնորեն կարգավորվում է LD1117-33v, 3v3 LDO լարման կարգավորիչով, որը տեղադրված է արտաքին տաքացուցիչի վրա `BZP M3 թավայի պտուտակով և ընկույզով:.
Դիզայնը ներառում է GPIO0- ին միացված 3 մմ կարմիր լեդ, որն օգտագործվում է գործարկման ժամանակ IoT սարքի կարգավիճակի կամ հետագա սխալի ցանկացած վիճակի մասին տեղական ցուցում տալու համար: Այն կարող է օգտագործվել նաև սարքը ձեռքով ակտիվացնելու միջոցով openHAB ինտերֆեյսի միջոցով:
Ամբողջական դիզայնը կոկիկ կերպով տեղավորվում է ABS զամբյուղի տուփի մեջ, ինչպես ցույց է տրված նկար 2 -ում և հատուկ ձևավորվել է `ապահովելու համար, որ սենսորը հնարավորինս հեռու լինի կարգավորիչից` կանխելու կանխումը տեղական տաքացման հետևանքների պատճառով (վերը նկար 7):
Շրջանակային վահանակը մեկ veroboard- ի մի կտոր է, որը կտրված է ձևի և պատրաստված է պատին տեղավորվելու համար (նկար 3 -ը վերևում): Այս տախտակը ամրացված է M3 հակափորված նեյլոնե պտուտակով և երկու ընկույզով, որոնք համընկնում են սենսորի ներքևի մասի հետ ՝ դրանով իսկ թույլ տալով այն նստել հարթ մակերևույթի վրա:
Նկարներ 4… 6 -ը ցույց են տալիս շինարարության տարբեր վիճակներ:
Քայլ 2: Softwareրագրային համակարգի ակնարկ
IoT- ի ջերմաստիճանի և խոնավության զգայիչ սարքը պարունակում է ծրագրային ապահովման վեց հիմնական բաղադրիչ, ինչպես ցույց է տրված վերևում ՝ նկար 1 -ում:
SPIFFS
Սա ներկառուցված SPI Flash ֆայլերի ներկայացման համակարգ է և օգտագործվում է հետևյալ տեղեկությունները պահելու համար (տես նկ. 2 վերը);
- Սրբապատկերներ և «Սենսորների կազմաձևման գլխավոր էջ» html. Vedառայվում է IoT սարքի կողմից, երբ այն չի կարողանում միանալ ձեր IoT WiFi ցանցին (սովորաբար անվտանգության սխալ տեղեկատվության պատճառով) և օգտվողին տրամադրում է սենսորը հեռակա կարգաբերելու միջոց ՝ առանց անհրաժեշտության: կրկին ծրագրավորել կամ վերբեռնել SPIFFS- ի նոր բովանդակություն:
- Անվտանգության տեղեկատվություն. Սա պարունակում է այն տեղեկությունները, որոնք օգտագործվում են IoT սարքի գործարկման ժամանակ ՝ ձեր IoT WiFi ցանցին և MQTT բրոքերին միանալու համար: «Սենսորների կազմաձևման գլխավոր էջի» միջոցով ներկայացված տեղեկատվությունը գրված է այս ֆայլում («secvals.txt»):
- Այս ֆայլի («calvals.txt») պարունակվող տեղեկատվությունը, անհրաժեշտության դեպքում, օգտագործվում է ինքնաթիռում ջերմաստիճանի/խոնավության տվիչի չափագրման համար: Կալիբրացիոն հաստատունները կարող են գրվել միայն IoT սարքին MQTT միջնորդի MQTT հրամանների միջոցով:
Նշում. Սարքը նախապես կարգավորելու համար տե՛ս այստեղ ՝ Arduino IDE- ի հետ SPIFFS- ի օգտագործման ամբողջական մանրամասների համար:
mDNS սերվեր
Այս գործառույթը կոչվում է, երբ IoT սարքը չի կարողանում միանալ ձեր WiFi ցանցին որպես WiFi կայան և փոխարենը դարձել է WiFi մուտքի կետ, որը նման է ներքին WiFi երթուղիչին: Նման երթուղղիչի դեպքում դուք սովորաբար միանում եք դրան ՝ մուտքագրելով 192.168.1.1 -ի պես IP հասցեն (սովորաբար տպվում է տուփին ամրացված պիտակի վրա) անմիջապես ձեր դիտարկիչի URL- ի սանդղակում, որից հետո մուտքագրման էջ կստանաք: օգտվողի անունը և գաղտնաբառը, որը թույլ կտա ձեզ կարգավորել սարքը:
AP ռեժիմում ESP8266- ի համար (Մուտքի կետի ռեժիմ) սարքը կանխադրված է 192.168.4.1 IP հասցեով, սակայն mDNS սերվերի հետ աշխատելու դեպքում միայն դիտարկիչի URL- ի սանդղակում պետք է մուտքագրել «SENSORSVR.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 = "SENSOR" + IoT սարքի MAC հասցեի վերջին 6 թվանշանները: Այս փակ ցանցի գաղտնաբառը երևակայականորեն կոչվում է «PASSWORD»
Քայլ 3: Softwareրագրաշարի ակնարկ
Այս աղբյուրի կոդը հաջողությամբ կազմելու համար ձեզ հարկավոր կլինեն հետևյալ լրացուցիչ գրադարանները.
PubSubClient.h
- Հեղինակ ՝ Նիկ Օ'Լիրի
- Նպատակը. Սարքին հնարավորություն է տալիս տվյալ բրոքերի հետ հրապարակել կամ բաժանորդագրվել MQTT թեմաներին
- Սկսած ՝
DHT.h
- Հեղինակ ՝ Ադաֆրուտ
- Նպատակը. Գրադարան DHT ջերմաստիճանի/խոնավության տվիչի համար
- Սկսած ՝
Կոդի ակնարկ
Theրագիրը օգտագործում է պետական մեքենան, ինչպես ցույց է տրված վերևում 1-ին նկարում (ստորև բերված աղբյուրի ամբողջական պատճենը): Կան 5 հիմնական նահանգներ, ինչպես ստորև.
-
INIT
Այս նախաստորագրման վիճակը առաջին վիճակն է, որը մտել է հոսանքի անջատումից հետո:
-
ՈՉ
Այս վիճակը մուտքագրվում է, եթե միացնելուց հետո անվավեր կամ բացակայող secvals.txt ֆայլը հայտնաբերվի
-
ՍՊԱՍՈՄ Ք. W
Այս վիճակը անցողիկ է, մուտքագրվում է մինչ WiFi ցանցի կապ չկա
-
Սպասող MQTT
Այս վիճակը անցողիկ է, մուտքագրվում է WiFi ցանցի միացումից հետո, և մինչդեռ որևէ կապ չկա այդ ցանցի MQTT բրոքերի հետ:
-
ԱԿՏԻՎ
Սա սովորական գործառնական վիճակն է, որը մուտքագրվում է ինչպես WiFi ցանցի, այնպես էլ MQTT բրոքերային կապի հաստատումից հետո: Այս վիճակում ջերմաստիճանի և խոնավության ֆունկցիոնալությունը սենսորը հրապարակվում է 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- ում պահվող տեքստը IoT սարքը կդառնա Մուտքի կետ: Այս մուտքի կետին միանալուց հետո այն կծառայի «Սենսորների կազմաձևման գլխավոր էջ» -ին, ինչպես ցույց է տրված վերևում ՝ 2 -րդ նկարում (մուտքագրելով կամ «SENSORSVR.local» կամ 192.168.4.1 ձեր դիտարկիչների URL հասցեի բարում): Այս գլխավոր էջը թույլ է տալիս վերափոխել սենսորը HTTP բրաուզերի միջոցով:
Հեռակա հասանելիություն, մինչդեռ ԱԿՏԻՎ վիճակում է
MQTT բրոքերին միանալուց հետո հնարավոր է և՛ վերահաստատել, և՛ վերակազմավորել սարքը MQTT թեմայի հրապարակումների միջոցով: Calvals.txt ֆայլը ունի R/W մուտքագրում, իսկ secvals.txt- ին ՝ գրելու թույլտվություն:
Օգտվողի վրիպազերծում
Բեռնման հաջորդականության ընթացքում IoT սարքի ղեկավարած սարքը տալիս է հետևյալ վրիպազերծման հետադարձ կապը
- 1 Կարճ բռնկում. Ոչ մի կազմաձևման ֆայլ, որը գտնվում է SPIFFS- ում (secvals.txt)
- 2 Կարճ բռնկումներ. IoT սարքը փորձում է միանալ WiFi ցանցին
- Շարունակական լուսավորություն. IoT սարքը փորձում է միանալ MQTT բրոքերին
- Անջատված. Սարքն ակտիվ է
- Նշում 1. «Սենսորների կազմաձևման հիմնական էջը» չի օգտագործում ապահով վարդակներ և, հետևաբար, ապավինում է ձեր ցանցի անվտանգ լինելուն:
- Նշում 2. Յուրաքանչյուր IoT սարք ծրագրավորելու համար MQTT տողը ներբեռնելուց առաջ կպահանջի խմբագրում: Դա պայմանավորված է նրանով, որ սենսորի համարը ներառված է MQTT թեմայի տողում: այսինքն. 'WFD/THSen/100/HumdStatus/1' իմ 6 սարքերի համար նրանք համապատասխանաբար համարակալված են 1… 6:
Քայլ 4: Սենսորների տրամաչափում
Երբ IoT սարքը միանում է, բեռնման հաջորդականության մի մասում «cavals.txt» անունով ֆայլը կարդացվում է SPIFFS- ից: Այս ֆայլի բովանդակությունը կալիբրացիոն հաստատուններ են, ինչպես նշված է նկ. 1 -ում: Այս ճշգրտման հաստատուններն օգտագործվում են սենսորից ստացված ընթերցումները կարգավորելու համար `դրանք համապատասխանեցնելու համար հղման սարքին: Կա ևս մեկ արժեք, որը սահմանում է սարքի համար հաշվետվությունների ռազմավարությունը և ստորև նկարագրված է ՝ սենսորների չափագրման համար կիրառվող ընթացակարգի հետ միասին:
Հաշվետվության ռազմավարություն Այս պարամետրը որոշում է, թե ինչպես է հեռավոր սենսորը հայտնում շրջակա միջավայրի պարամետրային ցանկացած փոփոխության: Եթե 0 արժեք է ընտրված, հեռակառավարման ցուցիչը կհրապարակի ջերմաստիճանի կամ խոնավության արժեքների ցանկացած փոփոխություն, երբ սենսորը կարդալիս (մոտ 10 վայրկյանը մեկ): Otherանկացած այլ արժեք կհետաձգի փոփոխության հրապարակումը 1… 60 րոպեով: Այս պարամետրի փոփոխումը թույլ է տալիս օպտիմալացնել MQTT ցանցի տրաֆիկը:
Temերմաստիճանի ճշգրտում
Սենսորները ճշգրտելու համար դրանք տեղադրվեցին միմյանց հետ ֆիզիկական հարևանությամբ, ինչպես ցույց է տրված վերևում ՝ նկար 2 -ում: Նրանց կողքին ես տեղադրեցի DMM- ը `կցված տրամաչափված զույգով (Fluke 87 V) և այնուհետև վերահսկեցի յուրաքանչյուր սարքի ելքերը OpenHAB ջերմաստիճանի միջոցով: միտումների էջ մեկ օրվա ընթացքում `լավ ջերմաստիճանի տատանում ստանալու համար: Ես նշեցի ինչպես ստատիկ օֆսեթը (բարձրացված զրո 'C'), այնպես էլ յուրաքանչյուր սարքի փոփոխության արագությունը («Գ» գրաֆիկի շահույթը կամ թեքությունը) `համեմատած տրամաչափված ջերմազույգից եկող արժեքի հետ: Այնուհետև ես հաշվարկեցի պարզ y = mx+c պարզ հարաբերությունը (ես գտա, որ այն բավականաչափ գծային է, քանի որ այն կարող է մոտ լինել ուղիղ գրաֆիկին) և ծրագրավորել ցանկացած անհրաժեշտ ուղղում կալիբրացիոն կայունությունների մեջ MQTTSpy- ի միջոցով:
Ապա սարքերը վերահսկվում էին ևս 24 ժամ `ստուգաչափման հաջողված լինելու համար: Ինչի նշան էր OpenHAB ջերմաստիճանի միտումների էջում ջերմաստիճանի հետքերը, բոլորը բավականին միմյանց վրա էին:
Իհարկե, եթե ձեզ հետաքրքրում է միայն ջերմաստիճանի մոտարկումը, կարող եք ստուգաչափման բոլոր արժեքները թողնել որպես կանխադրված:
Խոնավության ստուգաչափում
Քանի որ ես միջոցներ չունեմ ճշգրիտ գրանցելու կամ նույնիսկ վերահսկելու շրջակա միջավայրի խոնավությունը, սենսորները չափագրելու համար, ես կիրառեցի վերը նշվածի նման մոտեցումը ՝ տեղադրելով բոլոր սարքերը ֆիզիկական հարևանությամբ (նկար 2) և պարզապես վերահսկելով դրանց թողարկումը OpenHAB- ի միջոցով: Խոնավության հակված էջ: Այնուհետև ես ընտրեցի թիվ 1 սարքը որպես չափագրման տեղեկանք և չափեցի դրա հետ կապված բոլոր սարքերը:
Քայլ 5. MQTT թեմայի անվանման կոնվենցիա
Շատ փորձարկումներից և սխալներից հետո ես որոշեցի վերը նշված 1 -ին նկարում նկարագրված թեմայի անվանման պայմանագիրը:
Մասնավորապես, «AccessMethod/DeviceType/WhichDevice/Action/SubDevice»
Դա կատարյալ չէ, բայց թույլ է տալիս կիրառել օգտակար զտիչներ ՝ սենսորների բոլոր ելքերը տվյալ պարամետրային արժեքի համար տեսնելու համար, ինչը թույլ է տալիս հեշտությամբ համեմատել, ինչպես վերևում ՝ նկ 2 -ում, MQTTSpy- ի հետ: Այն նաև աջակցում է տվյալ IoT սարքի ֆունկցիոնալության ողջամիտ ընդլայնվող տրամաբանական խմբավորումներին:
Topicsրագրում այս թեմաներն իրականացնելիս ես օգտագործել եմ կոշտ ծածկագրված տողեր `յուրաքանչյուր սարքի ֆիքսված, ներդրված թվային նույնացուցիչներով, ի տարբերություն գործողությունների ժամանակ թեմաների դինամիկ առաջացման, որպեսզի խնայեք RAM- ը և կատարողականը բարձր պահենք:
Նշում. Եթե վստահ չեք, թե ինչպես օգտագործել MQTTSpy- ն, տե՛ս այստեղ ՝ «MQTT բրոքեր ստեղծելը»: Մաս 2. IoT, տան ավտոմատացում '
Քայլ 6: OpenHAB կազմաձևում
Ես փոփոխեցի OpenHAB- ի կազմաձևը, որը տրված էր իմ ավելի վաղ Instructable- ում (այստեղ) և ավելացրել առանձին գրառումների համար.
- Ավտոտնակ,
- Դահլիճ,
- Հյուրասենյակ,
- Խոհանոց
- Հյուրերի ննջասենյակ
- Վարպետ ննջասենյակ
Կայքի քարտեզում տես նկ. 1 վերը:
Այս գրառումներից յուրաքանչյուրի համար ես ավելացրել եմ կայքի առանձին քարտեզներ, որոնք բացահայտում են շրջակա միջավայրի արժեքները (տես նկ. 2 վերը);
- Ջերմաստիճանը
- Խոնավություն
- Heերմության ինդեքս
Ես ներառեցի նաև անջատիչ ՝ սենսորի ներսում տեղադրված տեղական լուսադիոդի կառավարման համար:
Նկարներ 3… 5 -ը ցույց են տալիս անհատական կենդանի հետքեր 24 ժամվա ընթացքում ջերմաստիճանի, խոնավության և RSSI- ի համար (Ստացված ազդանշանի ուժի ցուցում, հիմնականում չափիչ, թե որքան լավ է սենսորը տեսնում WiFi ցանցը):
6 -րդ նկարը տալիս է մեկ շաբաթվա ընթացքում խոնավության երկարաժամկետ միացման օրինակ:
Նշում 1. Եթե վստահ չեք, թե ինչպես օգտագործել OpenHAB- ը, տե՛ս այստեղ ՝ OpenHAB- ի կարգավորում և կարգավորում: Մաս 6: IoT, տան ավտոմատացում '
Նշում 2. Ստորև բերված է փոփոխված կայքի քարտեզի, կանոնների և տարրերի ֆայլերի, սրբապատկերների և այլնի պատճենը:
Քայլ 7: Դիզայնի փորձարկում
Մեծ մասամբ ես փորձարկեցի IoT սարքը MQTT Spy- ի MQTT կապի միջոցով, սերիական ինտերֆեյսի մոնիտորինգի ելքային և կարգաբերված տրաֆիկի մոնիտորինգ: Սա ինձ թույլ տվեց օգտվել առկա բոլոր բաժանորդագրված թեմաներից և ստուգել հրապարակված պատասխանները: Թեև դա ձեռք էր բերվում ձեռքով և երբեմն դառնում էր մի փոքր հոգնեցուցիչ, այն հնարավորություն էր տալիս 100% լուսաբանում:
Այնուամենայնիվ, հիմնական պետական մեքենան փորձարկվել է մի փոքր բարդ, քանի որ այն հիմնված էր WiFi ցանցի առկայության կամ բացակայության վրա, որի հասանելիությունը պահանջում էր պարամետրերի հատուկ հավաքածուներ: Դրա համար պարզապես գործնական չէր օգտագործել տնային ցանցը:
Այս խնդիրը լուծելու համար ես ստեղծեցի իմ սեփական կեղծ ցանցերը ՝ օգտագործելով ESP8266-01- ը ՝ կազմաձևված որպես մուտքի կետեր (նկար 1) ՝ համապատասխանաբար «DummyNet1» և «DummyNet2» SSID- ներով: LED- ի վերևում գտնվող 2 -րդ սխեմայի սխեմայի օգտագործումը ցույց տվեց, թե արդյոք դրան միացված է IoT սարք: Թեև սա կատարյալ փորձարկման լուծում չէր (այսինքն. Այս խաբեբա WiFi ցանցերից յուրաքանչյուրը չէր պարունակում MQTT սերվեր), հնարավոր եղավ լիարժեք փորձարկել պետական մեքենան:
Ստորև բերված եմ աղբյուրի կոդի պատճենը:
Քայլ 8: Եզրակացություն
Գեներալ
IoT սարքերի ծրագրակազմը հուսալիորեն աշխատել է արդեն երկար ամիսներ ՝ վերականգնվելով կենցաղային էներգիայի անջատումներից (հիմնականում ինքս եմ պատճառել): Ընդհանուր առմամբ դրանք բավականին ամուր սարքեր են, որոնք տալիս են հետևողական և ճշգրիտ տվյալներ:
Բարելավումներ
SPIFFS- ին կարդալու և գրելու համար ծրագրային առօրյան մշակելիս ես գրել եմ կոդ, որը հետագայում կարող է մի փոքր ավելի առաջադեմ լինել, քան ես նախատեսում էի ՝ օգտագործելով դատարկ ցուցիչներ, վերաշարադրում և ցուցիչներ դեպի ցուցիչներ: Չնայած այն շատ ճկուն է և լավ է կատարում աշխատանքը, հաջորդ անգամ ես կարող եմ օգտագործել JSON- ը ինչ -որ բան ConfigFile.ino- ի գծերի համաձայն `այն մի փոքր ավելի պարզ պահելու համար:
-
Arduino GIT HUB Core
https://github.com/esp8266/Arduino
-
ConfigFile.ino Աղբյուր
https://github.com/esp8266/Arduino/tree/master/libraries/esp8266/examples/ConfigFile
Wանկությունների ցուցակ
Ես մտադիր էի օգտագործել mDNS հաճախորդը ՝ Բրոքերին միանալու համար, բայց գրադարանը չափազանց կեղծ էր: Ահա թե ինչու անհրաժեշտ է նշել MQTT բրոքերի IP հասցեն ՝ ի տարբերություն «MQTTSVR.local» - ի: Եթե mDNS գրադարանը ապագայում ավելի կայուն դառնա, ես այս հնարավորությունը կավելացնեմ սարքի վրա:
Լավ կլիներ, որ ունենայինք միջավայրի խոնավության ճշգրիտ մոնիտորինգի և վերահսկման միջոց `սենսորների դեմ չափագրման համար: Այնուամենայնիվ, ասված է, որ ընտրված ստուգաչափման մեթոդը տալիս է լավ հարաբերական ընթերցումներ և թվում է ողջամիտ ճշգրիտ `համաձայն DHT22 տվյալների թերթի բնութագրին:
Վերջապես, հաշվի առնելով ծրագրաշարի բարդությունը, ես գտա, որ ծածկագիրը ամբողջությամբ փորձարկվում է այն բանից հետո, երբ մեծ փոփոխությունը ժամանակատար էր դառնում: Ես կարող եմ համարել ավտոմատացված փորձարկումներ ավելի ուշ:
Քայլ 9: Օգտագործված հղումներ
Ես օգտագործել եմ հետևյալ աղբյուրները `այս Instructable- ը համատեղելու համար.
PubSubClient.h
- Հեղինակ ՝ Նիկ Օ'Լիրի
- Սկսած ՝
DHT.h
- Հեղինակ ՝ Ադաֆրուտ
- Սկսած ՝
DHT22 տվյալների թերթիկ
Խորհուրդ ենք տալիս:
Տան ավտոմատացում ՝ օգտագործելով Raspberry Pi Matrix Voice և Snips (Մաս 2). 8 քայլ
Տնային ավտոմատացում ՝ օգտագործելով Raspberry Pi Matrix Ձայնը և Snips (Մաս 2). Տան ավտոմատացման թարմացում Raspberry Pi Matrix Ձայնի և Snips- ի միջոցով: Այս PWM- ն օգտագործվում է արտաքին LED- ների և Servo շարժիչների վերահսկման համար 1-ին մասում տրված բոլոր մանրամասները https://www.instructables.com/id/Controlling-Light
Retro խոսքի սինթեզ: Մաս ՝ 12 IoT, տան ավտոմատացում ՝ 12 քայլ (նկարներով)
Retro խոսքի սինթեզ: Մաս ՝ 12 IoT, տնային ավտոմատացում. Այս հոդվածը 12 -րդն է տնային ավտոմատացման վերաբերյալ ցուցումների շարքում, որոնք փաստում են, թե ինչպես կարելի է ստեղծել և ինտեգրել IoT Retro խոսքի սինթեզի սարք գոյություն ունեցող տան ավտոմատացման համակարգում, ներառյալ բոլոր անհրաժեշտ ծրագրային գործառույթները, որոնք հնարավորություն են տալիս
Տան խոնավության և ջերմաստիճանի մոնիտորինգ `11 քայլ
Տան խոնավության և ջերմաստիճանի մոնիտորինգ. Բարև տղերք: Լավագույն կերպով սկսելու համար `նախագծի մասին մի փոքրիկ պատմություն: Վերջերս ավարտեցի և տեղափոխվեցի Ավստրիա `ճարտարագետի իմ առաջին պաշտոնի համար: Երկիրը գեղեցիկ է, բայց շատ ցուրտ & խոնավ ձմռանը: Արագ սկսեցի
Անլար խոնավության մոնիտոր (ESP8266 + խոնավության ցուցիչ) ՝ 5 քայլ
Անլար խոնավության մոնիտոր (ESP8266 + խոնավության ցուցիչ). Ես մաղադանոս եմ գնում կաթսայում, և օրվա մեծ մասը հողը չորացել էր: Այսպիսով, ես որոշեցի կատարել այս նախագիծը ՝ մաղադանոսով կաթսայի մեջ հողի խոնավությունը զգալու մասին, ստուգելու համար, երբ ինձ պետք է ջուր լցնել հողը: Կարծում եմ, որ այս սենսորը (Capacitive խոնավության ցուցիչ v1.2) լավ է
IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. 10 քայլ (նկարներով)
IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. Հերքում ՍՏԱԵՔ ԱՅՍ ԱՌԱԻՆ Այս հրահանգը մանրամասն ներկայացնում է մի նախագիծ, որն օգտագործում է էլեկտրական էներգիա (այս դեպքում ՝ UK 240VAC RMS), մինչդեռ ամեն ինչ արվել է անվտանգ պրակտիկայի և դիզայնի լավ սկզբունքների օգտագործման համար, միշտ կա պոտենցիալ մահացու վտանգ: ընտրել