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

ՄՈՆԻՏՈՐԻՆՔ Ձեր այգին. 16 քայլ (նկարներով)
ՄՈՆԻՏՈՐԻՆՔ Ձեր այգին. 16 քայլ (նկարներով)

Video: ՄՈՆԻՏՈՐԻՆՔ Ձեր այգին. 16 քայլ (նկարներով)

Video: ՄՈՆԻՏՈՐԻՆՔ Ձեր այգին. 16 քայլ (նկարներով)
Video: ZAD : UNE ZONE À DÉFENDRE OU, UNE ZONE À DÉFONCER ? PARTIE 1 VOST (SON CORRIGÉ) 2024, Նոյեմբեր
Anonim
ՄՈՆԻՏՈՐԻՆՔ Ձեր այգին
ՄՈՆԻՏՈՐԻՆՔ Ձեր այգին

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

Քայլ 1: Բաղադրիչներ

  1. Արդուինո ունո
  2. Նոդեմկու
  3. Tերմաստիճանի եւ խոնավության տվիչ DHT 11
  4. Հողի խոնավության ցուցիչ - FC28
  5. Մարտկոցի բանկ 10000mah (arduino- ի և nodemcu- ի հզորացման համար)
  6. Nokia LCD 5110
  7. Resitor (5 x 10k, 1 x 330 օհմ)
  8. Պոտենցիոմետր Պտտվող տեսակ (LCD լուսավորությունը կարգավորելու համար) 0-100K
  9. Jumper լարերը
  10. Breadboard

Քայլ 2. ՀԻՄՆԱԿԱՆ ՍԵՆՍՈՐ. Հողի խոնավության FC 28

ՀԻՄՆԱԿԱՆ ՍԵՆՍՈՐ. Հողի խոնավության FC 28
ՀԻՄՆԱԿԱՆ ՍԵՆՍՈՐ. Հողի խոնավության FC 28

Խոնավությունը չափելու համար մենք օգտագործում ենք հողի խոնավության սենսոր FC 28, որի հիմնական սկզբունքը հետևյալն է.

FC-28 հողի խոնավության տվիչի բնութագրերը հետևյալն են. Մուտքային լարման ՝ 3.3-5V

Ելքային լարման `0 - 4.2 Վ

Մուտքային հոսանք ՝ 35 մԱ

Ելքային ազդանշան ՝ ինչպես անալոգային, այնպես էլ թվային

FC-28 հողի խոնավության տվիչը ունի չորս կապում `VCC: Power

A0. Անալոգային ելք

D0: Թվային ելք

GND: Գրունտ

Սենսորը անալոգային ռեժիմում միացնելու համար մենք պետք է օգտագործենք սենսորի անալոգային ելքը: Հողի խոնավության սենսորից FC-28 անալոգային ելքը վերցնելիս սենսորը մեզ տալիս է 0-ից մինչև 1023 արժեք: Խոնավությունը չափվում է տոկոսներով, այնպես որ մենք այդ արժեքները քարտեզագրելու ենք 0-ից 100-ի, այնուհետև ցուցադրելու ենք դրանք: սերիական մոնիտորը: Կարող եք սահմանել խոնավության արժեքների տարբեր տիրույթներ և ըստ դրա միացնել կամ անջատել ջրի պոմպը:

Մոդուլը պարունակում է նաև պոտենցիոմետր, որը սահմանելու է շեմի արժեքը: Այս շեմի արժեքը կհամեմատի LM393 համեմատիչը: Այս շեմի արժեքի համաձայն ելքային LED- ը կլուսանա և կիջնի:

Հողի խոնավության տվիչի հետ շփվելու կոդը վերցվում է հետագա քայլերով

Քայլ 3. Հասկանալով MQTT- ը ՝ հեռակա տվյալների հրապարակման համար

MQTT հասկանալ. Հեռակա տվյալների հրապարակման համար
MQTT հասկանալ. Հեռակա տվյալների հրապարակման համար

Նախքան հետագա գործունեությունը սկսելը, եկեք նախ անցնենք IOT- ի տվյալների հեռակա հրապարակմամբ

MQTT- ը նշանակում է MQ Telemetry Transport: Դա հրապարակման/բաժանորդագրման, չափազանց պարզ և թեթև հաղորդագրությունների արձանագրություն է, որը նախատեսված է սահմանափակ սարքերի և ցածր թողունակության, բարձր ուշացման կամ անվստահելի ցանցերի համար: Դիզայնի սկզբունքներն են `նվազագույնի հասցնել ցանցի թողունակության և սարքի ռեսուրսների պահանջները` միաժամանակ փորձելով ապահովել հուսալիություն և առաքման որոշակի երաշխիք: Այս սկզբունքները նաև պարզեցնում են, որ արձանագրությունը իդեալական է դարձնում միացված սարքերի «մեքենա-մեքենա» (M2M) կամ «Իրերի ինտերնետ» աշխարհը, ինչպես նաև բջջային հավելվածների համար, որտեղ թողունակությունը և մարտկոցի հզորությունը գերակա են:

Աղբյուր `https://mqtt.org/faq

MQTT [1] (MQ Telemetry Transport կամ Message Queuing Telemetry Transport) ISO ստանդարտ է (ISO/IEC PRF 20922) [2] հրապարակել-բաժանորդագրվել հաղորդագրությունների արձանագրություն: Այն աշխատում է TCP/IP արձանագրության վերևում: Այն նախատեսված է հեռավոր վայրերի հետ կապերի համար, որտեղ պահանջվում է «փոքր կոդի հետք» կամ ցանցի թողունակությունը սահմանափակ է:

Աղբյուրը ՝

Քայլ 4: MQTT. MQTT բրոքերի հաշվի ստեղծում

Կան տարբեր MQTT բրոքերային հաշիվներ, այս ձեռնարկի համար ես օգտագործել եմ cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT- ը կառավարվող Mosquitto սերվերներն են ամպի մեջ: Mosquitto- ն իրականացնում է MQ Telemetry Transport արձանագրությունը ՝ MQTT, որն ապահովում է հաղորդագրությունների հրապարակման/բաժանորդագրման հաղորդագրությունների հերթագրման մոդելի միջոցով հաղորդագրությունների փոխանցման թեթև մեթոդներ:

Հետեւյալ քայլերը պետք է կատարվեն cloudmqtt հաշիվը որպես միջնորդ ստեղծելու համար

  • Ստեղծեք հաշիվ և մուտք գործեք կառավարման վահանակ
  • կտտացրեք Ստեղծել+ ՝ նոր օրինակ ստեղծելու համար
  • Սկսելու համար մենք պետք է գրանցվենք հաճախորդների պլանի համար, կարող ենք անվճար փորձել CloudMQTT- ը ՝ CuteCat պլանի միջոցով:
  • «Օրինակ» ստեղծելուց հետո հաջորդ քայլը օգտվողի ստեղծումն է և օգտագործողին հաղորդագրություններին մուտք գործելու թույլտվություն տրամադրելը (ACL կանոնների միջոցով)

MQTT բրոքերի հաշիվը cloudmqtt- ում ստեղծելու ամբողջական ուղեցույցին կարելի է ծանոթանալ հետևյալ հղումով ՝ -

Բոլոր վերը նշված քայլերը տեղադրվում են մեկ առ մեկ հետևյալ սլայդներում

Քայլ 5: MQTT. Ատյանի ստեղծում

MQTT. Ստեղծեք ատյան
MQTT. Ստեղծեք ատյան

Ես ստեղծել եմ «myIOT» անունով դեպք

պլան: Գեղեցիկ ծրագիր

Քայլ 6: MQTT. Տեղեկատվություն դեպքի մասին

MQTT: Տեղեկատվություն դեպքի մասին
MQTT: Տեղեկատվություն դեպքի մասին

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

Քայլ 7: MQTT. Օգտվող ավելացնելը

MQTT. Օգտվող ավելացնելը
MQTT. Օգտվող ավելացնելը

Ստեղծեք «nodemcu_12» անունով օգտվող և գաղտնաբառ տվեք

Քայլ 8: MQTT. ACL կանոնների նշանակում

MQTT. ACL կանոնի նշանակում
MQTT. ACL կանոնի նշանակում

Նոր օգտվողի ստեղծումից հետո (nodemcu_12) պահպանեք նոր օգտվողին, այժմ նոր օգտվողին կտրամադրվի լրացուցիչ ACL: Կից նկարում երևում է, որ ես օգտվողին տրամադրել եմ ինչպես կարդալու, այնպես էլ գրելու հնարավորություն:

Խնդրում ենք նկատի ունենալ. Թեման պետք է ավելացվի, ինչպես ցույց է տրված ձևաչափով (սա լրացուցիչ պահանջվում է MQTT հաճախորդին հանգույցից կարդալու և գրելու համար)

Քայլ 9: Nodemcu: Կազմաձևում

Այս կոնկրետ նախագծում ես օգտագործել եմ Knewron Technologies- ի nodemcu- ն, ավելի շատ տեղեկատվություն կարելի է ստանալ ՝ հետևելով հղմանը. 20Guide.pdf? Dl = 0)

Կարելի է տեսնել, որ NodeMCU- ն eLua- ի վրա հիմնված որոնիչ է ESP8266 WiFi SOC- ի համար Espressif- ից: Knowron- ից Nodemcu- ն նախապես բեռնված է որոնվածով, այնպես որ մենք պետք է պարզապես բեռնենք հավելվածի ծրագրակազմը, մասնավորապես.

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Բոլոր վերը նշված lua սցենարները կարելի է ներբեռնել Github- ից ՝ հետևելով հղմանը. Ներբեռնել Github- ից

Վերոնշյալ lua սցենարներից փոփոխեք config.lua սցենարները ՝ MQTT սերվերի անունով, գաղտնաբառով, wifi ssid և այլն:

Վերոնշյալ սցենարները nodemcu- ին ներբեռնելու համար մենք պետք է օգտագործենք այնպիսի գործիքներ, ինչպիսիք են «ESPlorer» - ը, լրացուցիչ տեղեկությունների համար դիմեք փաստաթղթերին ՝

ESPlorer- ի հետ աշխատանքը նկարագրված է հաջորդ քայլում

Քայլ 10. Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ում ESPlorer_1- ով

Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ին ESPlorer_1- ով
Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ին ESPlorer_1- ով
  • Կտտացրեք Թարմացնել կոճակը
  • Ընտրեք COM (Հաղորդակցություն) նավահանգստի և բաուդ արագությունը (Սովորաբար օգտագործվում է 9600)
  • Կտտացրեք Բացել

Քայլ 11: Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ում ESPlorer_II- ով

Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ին ESPlorer_II- ով
Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ին ESPlorer_II- ով

Քայլ 12: Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ին ESPlorer_III- ով

Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ին ESPlorer_III- ով
Nodemcu. Lua սցենարների վերբեռնում Nodemcu- ին ESPlorer_III- ով

Պահել և հավաքել կոճակը կուղարկի բոլոր չորս lua սցենարները nodemcu- ին, այն բանից հետո, երբ այս nodemcu- ն պատրաստ է զրուցել մեր arduino- ի հետ:

ՉԻՊ -ի ID- ի տեղեկատվության հավաքում

Յուրաքանչյուր nodemcu ունի չիպի id (հավանաբար ՝ ոչ), այս չիպի ID- ն հետագայում պահանջվում է հաղորդագրություն հրապարակել MQTT բրոքերին, իսկ չիպի ID- ի մասին իմանալու համար կտտացրեք «ESPlorer» - ում Chip id կոճակին:

Քայլ 13. Nodemcu. Arduino- ի կազմաձևում Nodemcu- ի հետ խոսելու համար

Ստորև բերված ծածկագիրը որոշում է հողի խոնավությունը, ջերմաստիճանը և խոնավությունը և հետագայում ցուցադրում է Nokia LCD 5110 -ի տվյալները և սերիական տվյալները:

Arduino կոդ

Միացնել Arduino RX --- Nodemcu TX- ը

Arduino TX --- Nodemcu RX

Վերոնշյալ ծածկագիրը նաև ներառում է softserial գրադարանի օգտագործման եղանակներ, որոնցով DO կապերը կարող են օգտագործվել նաև որպես սերիական կապեր, ես օգտագործել եմ RX/TX կապում ՝ nodemcu սերիական պորտին միանալու համար:

Utionգուշացում. Քանի որ nodemcu- ն աշխատում է 3.3 Վ -ով, խորհուրդ է տրվում օգտագործել մակարդակի փոխարկիչ, սակայն ես ուղղակիորեն միացել եմ առանց որևէ մակարդակաչափի, և կատարումը կարծես ճիշտ է վերը նշված կիրառման համար:

Քայլ 14: Nodemcu. Android- ում MQTT հաճախորդի տեղադրում

Nodemcu: Android- ում MQTT հաճախորդի տեղադրում
Nodemcu: Android- ում MQTT հաճախորդի տեղադրում

Android հաճախորդի հետ բջջային հեռախոսում տեղեկատվությունը դիտելու վերջին քայլը

Կան MQTT android հավելվածների բազմազանություն, ես օգտագործել եմ այն google play- ից ՝ հետևյալ հղումով.

.https://play.google.com/store/apps/details?

Android հավելվածի կազմաձևումը բավականին պարզ է և պետք է կազմաձևել հետևյալը

  • MQTT Հյուրընկալողի հասցեն ՝ պորտի համարի հետ միասին
  • MQTT օգտվողի անունը և հասցեն
  • MQTT բրոքերի հանգույցի հասցեն

Վերոնշյալ մանրամասները ավելացնելուց հետո միացրեք ծրագիրը, եթե ծրագիրը միացված է MQTT բրոքերին, ապա arduino- ի բոլոր մուտքերի կարգավիճակի / սերիական հաղորդակցության տվյալները հայտնվում են որպես տեղեկամատյան:

Քայլ 15. Լրացուցիչ քայլեր. Nokia LCD 5110 -ի հետ աշխատելը

Լրացուցիչ քայլեր. Nokia LCD 5110 -ի հետ աշխատելը
Լրացուցիչ քայլեր. Nokia LCD 5110 -ի հետ աշխատելը

Ստորև բերված են LCD 5110- ի քորոցների կազմաձևերը

1) RST - Վերագործարկեք

2) CE - Chip Enable

3) D/C - Տվյալների/հրամանի ընտրություն

4) DIN - սերիական մուտքագրում

5) CLK - ժամացույցի մուտքագրում

6) ԵԿԿ - 3.3 Վ

7) ԼՈTՅՍ - Հետ լուսավորության վերահսկում

8) GND - Գրունտ

Ինչպես ցույց է տրված վերևում, arduino- ն միացրեք LCD 5110-ին վերը նշված հերթականությամբ, որի միջև ընկած հատվածը 1-10 K է:

Ստորև բերված են LCD 5110 -ի Arduino uno- ի համար կապող կապակցման միացումները

  • CLK - Arduino Թվային փին 3
  • DIN - Arduino Թվային քորոց 4
  • D/C - Arduino Թվային կապում 5
  • RST - Arduino Թվային փին 6
  • CE - Arduino Թվային կապում 7

LCD 5110-ի հետագա «BL» քորոցը կարող է օգտագործվել հզորաչափի հետ միասին (0-100K) ՝ LCD լուսավորությունը վերահսկելու համար

Գրադարանն օգտագործվում է վերը նշված կոդի համար.

DHT11- ի, ջերմաստիճանի և խոնավության սենսորի արդուինոյի հետ ինտեգրումը կարելի է դիտել DHT11 հետևյալ հղումից:

Քայլ 16: Վերջնական հավաքում

Վերջնական հավաքում
Վերջնական հավաքում

Վերջին քայլը վերը նշված բոլորը ցանկալի է հավաքել տուփի մեջ, մատակարարման համար ես օգտագործել եմ 10000mah հզորության բանկ ՝ ինչպես Arduino- ի, այնպես էլ Nodemcu- ի սնուցման համար:

Desiredանկության դեպքում մենք կարող ենք երկարաժամկետ օգտագործել նաև պատի վարդակից լիցքավորիչը:

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