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

IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `Mongoose OS- ի միջոցով. 5 քայլ
IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `Mongoose OS- ի միջոցով. 5 քայլ

Video: IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `Mongoose OS- ի միջոցով. 5 քայլ

Video: IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `Mongoose OS- ի միջոցով. 5 քայլ
Video: Հեռակա վերահսկել ձեր տան էներգիայի սպառումը | ՊԶԵՄ-004Տ | RemoteXY IoT Cloud 2024, Հուլիսի
Anonim
IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `օգտագործելով Mongoose OS
IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `օգտագործելով Mongoose OS
IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `օգտագործելով Mongoose OS
IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `օգտագործելով Mongoose OS

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

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

Այս Instructable- ում, որպես օրինակ, ես ցույց կտամ, թե ինչպես կարելի է գծել ESP32 զարգացման տախտակի ներքին ջերմաստիճանի տվիչների ընթերցումների գրաֆիկը, որը ընթերցողներին պետք է լավ պատկերացնի գործընթացը:

Թեև այս Instructable- ն օգտագործում է ESP32 և Mongoose OS, սակայն ընթացակարգը կարող է տարածվել բոլոր IoT- երի և առկա որոնվածի վրա:

Պարագաներ

Որպեսզի կարողանաք ինքնուրույն իրականացնել այս Հրահանգը, ձեզ հարկավոր կլինի միայն նվազագույն քանակությամբ սարքավորում, և դրանք են.

  • Իրերի ինտերնետ (IoT). Ես օգտագործել եմ էժան ESP32 զարգացման տախտակի կլոն: Եթե դուք պլանավորում եք գնել նոր ESP32 զարգացման տախտակ, ապա դուք պետք է ստուգեք DFRobot- ի ESP32 խորհուրդը:
  • Տվյալների մալուխ. Օգտագործեք մալուխ, որը ձեր IoT- ն պահանջում է փայլելու և այլն:
  • Մարտկոց (ըստ ցանկության). Գնեք այն միայն այն դեպքում, եթե մտադիր եք երկարաժամկետ հզորացնել ձեր IoT- ը:
  • Մինի տախտակ (ըստ ցանկության)

Ես ընթերցողին առաջարկում եմ օգտագործել ESP32- ից տարբեր IoT, որպեսզի նա իսկապես հասկանա, թե ինչ է կատարվում այստեղ, այլ ոչ թե պարզապես ինձ նմանակելու փոխարեն: Հավատացեք ինձ, դուք կվայելեք այս գործընթացի իրականացումը ՝ օգտագործելով ձեր սեփական միտքը այլ IoT- ում, օրինակ ՝ ESP8266- ը լավ ընտրություն կլինի:

Քայլ 1: Ներածություն MQTT- ին

Qանոթացում MQTT- ին
Qանոթացում MQTT- ին

Ի՞նչ է MQTT- ը:

«MQTT- ը պարզ հաղորդագրությունների արձանագրություն է, որը նախատեսված է ցածր թողունակությամբ սահմանափակ սարքերի համար: Այսպիսով, դա կատարյալ լուծում է« Իրերի ինտերնետի »հավելվածների համար: (RandomNerdTutorials- ից)

Ինչպե՞ս է աշխատում MQTT- ն:

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

MQTT- ում փոխանակման մեջ ներգրավված հիմնական տարրերն են հրատարակիչը (Laurel), բաժանորդը (You) և միջնորդը (Tom): Նրա աշխատանքի ընթացքը նույնպես նման է վերը նշված իրական աշխարհի օրինակին, բացառությամբ մեկ հսկայական տարբերության: MQTT- ում փոխանակումը նախաձեռնում է բրոքերը, այսինքն ՝ Լաուրելը առաջինն էր, ով կհասներ Թոմին ՝ ասելով, որ ցանկանում է վաճառել իր քարտերի հավաքածուն: Եթե համեմատենք MQTT- ի աշխատանքը մեր իրական աշխարհի օրինակի հետ, ապա այն կլինի հետևյալը.

  1. Լաուրելը Թոմին ասում է, որ ցանկանում է վաճառել իր քարտերի հավաքածուն (տվյալներ կամ բեռնվածություն) և քարտերը տալիս է նրան:
  2. Թոմը վերցնում է այդ քարտերը իր մոտ և բաց է քարտերի հավաքածուի առաջարկների համար: Երբ դուք և Թոմը հանդիպում եք, և նա պարզում է, որ ձեզ հետաքրքրում են քարտերը (բաժանորդագրվում եք թեմայի): Հետո Թոմը ձեզ տալիս է քարտերը:

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

Քայլ 2. Ներածություն IoT պլատֆորմի վրա

Ի՞նչ է IoT պլատֆորմը:

«Բարձր մակարդակով, բաների ինտերնետ (IoT) հարթակն այն օժանդակ ծրագրակազմն է, որը կապում է ծայրամասային ապարատը, մուտքի կետերը և տվյալների ցանցերը արժեքային շղթայի այլ մասերին (որոնք ընդհանուր առմամբ վերջնական օգտագործողների ծրագրեր են): կարգավորել ընթացիկ կառավարման խնդիրները և տվյալների արտացոլումը, ինչը թույլ է տալիս օգտվողներին ավտոմատացնել իրենց միջավայրը »: (Link-Labs- ից)

Ընդհանրապես, IoT հարթակը հանդես է գալիս որպես միջնորդ օգտվողի և տվյալների հավաքման գործակալների միջև, որը պատասխանատու է հավաքված տվյալները ներկայացնելու համար:

Այս հրահանգում մենք ծրագրում ենք առցանց բարձրացնել մեր ESP32- ի ջերմաստիճանի ցուցանիշները: Մեր ESP32- ը հանդես կգա որպես MQTT հրատարակիչ, և MQTT բրոքերը կլինի մեր ընտրած IoT հարթակը: Նկատի ունեցեք, որ մեր նախագծում MQTT բաժանորդի որևէ դեր չկա, քանի որ տվյալները ներկայացվում են հենց հարթակի կողմից: IoT հարթակը պատասխանատու կլինի մեր հրապարակած տվյալները պահելու և դրանք գեղեցիկ ներկայացնելու համար ՝ այստեղ, որպես գծային գրաֆիկ: Ես Losant- ը կօգտագործեմ որպես իմ IoT հարթակ այստեղ, քանի որ այն անվճար է օգտագործել և առաջարկում է տվյալները ներկայացնելու մի քանի լավ եղանակներ: IoT հարթակների որոշ այլ օրինակներ են ՝ Google Cloud, Amazon AWS և Adafruit, Microsoft Azure և այլն: Ես կցանկանայի ընթերցողին խորհուրդ տալ անդրադառնալ իրենց ընտրած IoT պլատֆորմի փաստաթղթերին:

Losant- ի կարգավորում

  1. Մուտք գործեք Losant
  2. Ստեղծեք սարք (ինքնուրույն տեսակ)
  3. Սարքին ավելացրեք տվյալների մի քանի տեսակ 1: Անուն ՝ ջերմաստիճան, Տվյալների տեսակ ՝ Թիվ 2: Անուն ՝ օֆսեթ, Տվյալների տեսակ ՝ Թիվ 3: Անուն ՝ միավոր, Տվյալների տեսակ ՝ լարային
  4. Ստեղծեք մուտքի բանալին և նշեք սարքի ID- ն և մուտքի բանալին
  5. Ստեղծեք գրաֆիկ 1. Ստեղծեք վահանակ: 2. Ավելացրեք «Seriesամանակային շարքերի գրաֆիկ» բլոկը ՝ օգտագործելով ջերմաստիճանի փոփոխականը և ձեր ստեղծած սարքը:

«Սարքի ID» - ն ծառայում է որպես սարքի համար որպես յուրահատուկ մատնահետք գործելու նպատակ: «Մուտքի բանալիները», ինչպես անունն է հուշում, թույլ է տալիս IoT- ին սարքի ինքնության ներքո հրապարակել Losant- ում:

Քայլ 3. Պատրաստեք MQTT հրատարակիչը

Image
Image

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

MQTT հրատարակչի նախապատրաստման ուրվագիծը հետևյալն է

  • Գրեք կոդը. Հրատարակչին (IoT) հրահանգելու համար, թե ինչպես հավաքել տվյալները, մշակել և ուղարկել IoT հարթակ: Հրահանգները գրված են մարդու համար ընթեռնելի բարձր մակարդակի ծրագրավորման լեզուներով, որը սովորաբար կոչվում է ծածկագիր:
  • Ֆլեշ որոնվածը. IoT- ն հեշտությամբ չի հասկանա այս հրահանգները, քանի որ սկզբում չգիտի որևէ լեզու: Մարդու և մեքենայի միջև լեզվական այս պատնեշը կամրջելու համար ծածկագիրը կազմվում է հրահանգների կոպիտ փաթեթի մեջ `հիմնականում տասնութական կամ երկուական արժեքների համար, որոնք հատուկ են IoT- ի ներսում գտնվող հիշողության վայրերին, որոնք հայտնի են որպես որոնվածը, որն այնուհետև ցուցադրվում է IoT- ին:

Այս Instructable- ում, քանի որ ես օգտագործում եմ իմ հարմար ESP32- ը, դրան կթափեմ Mongoose OS- ի որոնվածը, որը ընդունում է C և JavaScript գրված ծրագրերը: Բացի JS- ի համատեղելիությունից, Mongoose OS- ն դեռ շատ բան ունի առաջարկելու, ինչպես օրինակ ՝ օդային թարմացումները, ձեր ծրագիրը առցանց փոփոխելու և սարքերի համար հատուկ վահանակը (mDash) և այլն:

Այս Instructable- ի համար ես մշակել եմ բաց կոդով ծրագիր Mongoose OS- ի համար: Դա պարզ ծրագիր է ՝ losant-temp-sensor անունով, որն օգտագործում է MQTT ՝ շրջակա ջերմաստիճանի մոտավոր ընթերցումները ՝ ESP32- ի ներքին ջերմաստիճանի ընթերցումների հիման վրա, Losant (անվճար օգտագործման IoT հարթակ) ուղարկելու համար: Ավելի լավ հասկանալու համար խորհուրդ է տրվում անցնել ծրագրի ծածկագիրը: Այս ծրագիրը հրահանգելու համար մենք կփայլենք այս ծրագիրը:

Եթե դուք արկածախնդիրներից եք, ապա կարող եք փորձել հասնել նույն նպատակին Arduino-ESP32 որոնվածով, որը հնարավորություն է տալիս օգտագործել ESP32- ը որպես Arduino (WiFi հնարավորությամբ):

Mongoose OS- ով ծրագիրը ջնջելու արագ ակնարկ

  1. Տեղադրեք mos գործիք ձեր OS- ի համար:
  2. Բացեք գործիքը և կատարեք հետևյալ հրամանները.

    1. mos clone
    2. cd losant-temp-sensor
    3. mos build -պլատֆորմ esp32
    4. mos flash
  3. Հաջող բռնկումից հետո թույլ տվեք սարքը վերագործարկել և այնուհետև կատարել հետևյալ հրամանները

    1. mos wifi "ձեր wifi ssid" "ձեր wifi գաղտնաբառը" օր. mos wifi «Տուն» «տուն@123»
    2. mos config-set temperature.basis =

      temperature.unit ="

      "օրինակ. mos config-set temperature.basis = 33 / temperature.unit =" celsius"

    3. mos config-set device.id = mqtt.client_id = mqtt.user = mqtt.pass =

Այս բոլոր քայլերը ճիշտ ավարտելուց հետո կհայտնվեք ESP32- ով, որը ջերմաստիճանի ցուցանիշները պարբերաբար ուղարկում է Losant, յուրաքանչյուր 10 րոպեից հետո: Հաջող հրատարակումը նշվում է կապույտ LED- ով, ինչպես ցույց է տրված վերը նշված տեսանյութում:

Քայլ 4: ծանոթագրություն

Image
Image
Ծանոթագրություն
Ծանոթագրություն

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

Ինձ համար IoT- ի լավագույն մասը այն փաստն է, որ այն մեզ հնարավորություն է տալիս հավաքել տվյալների հսկայական կտորներ, որոնք միայնակ վերցնելու դեպքում դրանք անպաշտպան են և դրանք վերածում վերջնական բանի: Սա իսկապես հարվածում է գիտության ոգուն: Ինձ համար շատ գոհացուցիչ և լուսավորիչ էր իմ գրաֆիկի միջոցով անձրևի ժամերին ջերմաստիճանի անկումը նկատելը:

Losant-temp-sensor-app- ը օպտիմիզացված է էներգիայի սպառման համար, քանի որ այն օգտագործում է ESP32- ի խոր քնի հնարավորությունը, ուստի կարող եք այն օգտագործել երկար ժամանակ ՝ առանց մարտկոցի մասին ընդհանրապես անհանգստանալու: Դուք կարող եք հետագայում ընդլայնել էներգիայի արդյունավետությունը `հեռացնելով LED- ը զարգացման տախտակին: Ամբողջ տեղադրման ընթացիկ խաղարկությունը ցուցադրվել է վերևում:

Այս Instructable- ի նպատակն ի սկզբանե հենց այն էր, որ ձեզ ներկայացնեին IoT աշխարհը: Այս Ուղեցույցն ավարտելուց հետո դուք լավ կհասնեք այն հիմունքներին, որոնք կարող եք էլ ավելի ամրապնդել այլ առցանց ռեսուրսների միջոցով:

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

Քայլ 5: Վարկեր և աջակցություն

Այս հրահանգը բաղկացած է նկարազարդումներից, օրինակ. մեկը, որը բացատրում է MQTT փոխանակումը, որը ես անձամբ եմ կատարել: Այդ պատկերազարդումները հնարավոր են դարձել միայն հետևյալ անվճար SVG փաթեթների շնորհիվ.

  • Ինֆոգրաֆիկ վեկտորը ստեղծվել է freepik- ի կողմից `www.freepik.com
  • Ինֆոգրաֆիկ վեկտոր ՝ ստեղծված starline- ի կողմից - www.freepik.com
  • Մարդկանց վեկտոր ՝ ստեղծված pikisuperstar- ի կողմից - www.freepik.com
  • Մակրոավեկտորի ստեղծած վերացական վեկտորը `www.freepik.com
  • Մակրոավեկտորի ստեղծած վերացական վեկտորը `www.freepik.com
  • Ինֆոգրաֆիկ վեկտոր ՝ ստեղծված pikisuperstar- ի կողմից - www.freepik.com

Այս հրահանգը հովանավորվել է DFRobot- ի կողմից: DFRobot- ն ունի էլեկտրոնիկայի հիանալի հավաքածու, այնպես որ համոզվեք, որ այն ստուգեք:

Եթե կարծում եք, որ ձեզ դուր է եկել այս Instructable- ը և ցանկանում եք ունենալ ավելի շատ նման հրահանգներ, ապա կարող եք աջակցել ինձ Patreon- ում: Եթե չեք կարող այդքան հեռու գնալ, ապա կարող եք հետևել ինձ այստեղ ՝ Instructables- ում:

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