Բովանդակություն:
- Պարագաներ
- Քայլ 1: Ներածություն MQTT- ին
- Քայլ 2. Ներածություն IoT պլատֆորմի վրա
- Քայլ 3. Պատրաստեք MQTT հրատարակիչը
- Քայլ 4: ծանոթագրություն
- Քայլ 5: Վարկեր և աջակցություն
Video: IoT- ի հիմունքներ. Ձեր IoT- ն ամպին միացնելը `Mongoose OS- ի միջոցով. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Եթե դուք զբաղվում եք մանրուքներով և էլեկտրոնիկայով, ավելի հաճախ, քան ոչ, դուք բախվելու եք «Իրերի ինտերնետ» տերմինին, որը սովորաբար կրճատվում է որպես IoT, և այն վերաբերում է մի շարք սարքերին, որոնք կարող են միանալ ինտերնետին: Լինելով ինքս նման մարդ, ես հիացած էի, երբ իմացա, որ այդպիսի հիանալի սարքերն ինձ համար հեշտությամբ հասանելի էին: Ուղղակի այն միտքը, որ կարող եմ միացնել իմ նախագծերը ինտերնետին մի փոքրիկ սարքավորման միջոցով և պարզապես մտածել այն անհամար դարպասների մասին, որոնք այն կբացեն իմ նախագծի գաղափարների համար, ինձ ստիպեց շարժվել:
Բայց IoT- ին ինտերնետին միանալու մասին ասելը այնքան էլ պարզ չէ, որքան պարզապես այն դարակից գնելը և այն միացնելը: Եվ բացի սարքը ինտերնետին միացնելուց, մենք նաև պետք է որոշ օգտակար տվյալներ առաջ քաշենք ինտերնետ: Այս Instructable- ը վերաբերում է վերը նշված նպատակին հասնելու համար ներգրավված ընթացակարգին և նախատեսված է ցանկացած փորձի մակարդակի ընթերցողների համար ՝ սկսնակներից մինչև վետերաններ, ովքեր նոր են IoT- ում:
Այս Instructable- ում, որպես օրինակ, ես ցույց կտամ, թե ինչպես կարելի է գծել ESP32 զարգացման տախտակի ներքին ջերմաստիճանի տվիչների ընթերցումների գրաֆիկը, որը ընթերցողներին պետք է լավ պատկերացնի գործընթացը:
Թեև այս Instructable- ն օգտագործում է ESP32 և Mongoose OS, սակայն ընթացակարգը կարող է տարածվել բոլոր IoT- երի և առկա որոնվածի վրա:
Պարագաներ
Որպեսզի կարողանաք ինքնուրույն իրականացնել այս Հրահանգը, ձեզ հարկավոր կլինի միայն նվազագույն քանակությամբ սարքավորում, և դրանք են.
- Իրերի ինտերնետ (IoT). Ես օգտագործել եմ էժան ESP32 զարգացման տախտակի կլոն: Եթե դուք պլանավորում եք գնել նոր ESP32 զարգացման տախտակ, ապա դուք պետք է ստուգեք DFRobot- ի ESP32 խորհուրդը:
- Տվյալների մալուխ. Օգտագործեք մալուխ, որը ձեր IoT- ն պահանջում է փայլելու և այլն:
- Մարտկոց (ըստ ցանկության). Գնեք այն միայն այն դեպքում, եթե մտադիր եք երկարաժամկետ հզորացնել ձեր IoT- ը:
- Մինի տախտակ (ըստ ցանկության)
Ես ընթերցողին առաջարկում եմ օգտագործել ESP32- ից տարբեր IoT, որպեսզի նա իսկապես հասկանա, թե ինչ է կատարվում այստեղ, այլ ոչ թե պարզապես ինձ նմանակելու փոխարեն: Հավատացեք ինձ, դուք կվայելեք այս գործընթացի իրականացումը ՝ օգտագործելով ձեր սեփական միտքը այլ IoT- ում, օրինակ ՝ ESP8266- ը լավ ընտրություն կլինի:
Քայլ 1: Ներածություն MQTT- ին
Ի՞նչ է MQTT- ը:
«MQTT- ը պարզ հաղորդագրությունների արձանագրություն է, որը նախատեսված է ցածր թողունակությամբ սահմանափակ սարքերի համար: Այսպիսով, դա կատարյալ լուծում է« Իրերի ինտերնետի »հավելվածների համար: (RandomNerdTutorials- ից)
Ինչպե՞ս է աշխատում MQTT- ն:
Նախքան տեխնիկական աշխատանքի անցնելը, եկեք նախ մտածենք մեր իրական աշխարհի մասին: Ենթադրենք, որ ձեզ հետաքրքրում է ձեր ընկերոջ ընկերոջը պատկանող քարտերի հավաքածուն, ասենք ՝ Լորելը, որին անձամբ չեք ճանաչում: Քանի որ այդ քարտերի հավաքածուն ձեզ շատ է հետաքրքրում, ձեր ընկերոջը, ենթադրենք Թոմին, կհարցնեք ՝ Լաուրելը պատրաստ է վաճառել այն, թե ոչ: Մինչդեռ դա անում եք, դուք Թոմին կխնդրեք գնել քարտերի հավաքածուն, եթե Լաուրելը պատրաստ լինի վաճառել, քանի որ դուք չեք ցանկանում, որ ինչ -որ մեկը ձեռք բերի այն հավաքածուի համար, որին ձգտում եք: Timeամանակի ընթացքում Թոմն ու Լորելը փոխազդում են, և փոխադարձ համաձայնությամբ Լաուրելը փողի դիմաց իր քարտերի հավաքածուն տալիս է Թոմին: Այս փոխանակումից հետո Թոմը քարտերը պահում է իր մոտ, մինչև որ նորից հանդիպի ձեզ, երբ վերջապես նա տալիս է ձեզ քարտերի հավաքածուն: Այսպես է ընթանում սովորական փոխանակումը մեր առօրյա կյանքում:
MQTT- ում փոխանակման մեջ ներգրավված հիմնական տարրերն են հրատարակիչը (Laurel), բաժանորդը (You) և միջնորդը (Tom): Նրա աշխատանքի ընթացքը նույնպես նման է վերը նշված իրական աշխարհի օրինակին, բացառությամբ մեկ հսկայական տարբերության: MQTT- ում փոխանակումը նախաձեռնում է բրոքերը, այսինքն ՝ Լաուրելը առաջինն էր, ով կհասներ Թոմին ՝ ասելով, որ ցանկանում է վաճառել իր քարտերի հավաքածուն: Եթե համեմատենք MQTT- ի աշխատանքը մեր իրական աշխարհի օրինակի հետ, ապա այն կլինի հետևյալը.
- Լաուրելը Թոմին ասում է, որ ցանկանում է վաճառել իր քարտերի հավաքածուն (տվյալներ կամ բեռնվածություն) և քարտերը տալիս է նրան:
- Թոմը վերցնում է այդ քարտերը իր մոտ և բաց է քարտերի հավաքածուի առաջարկների համար: Երբ դուք և Թոմը հանդիպում եք, և նա պարզում է, որ ձեզ հետաքրքրում են քարտերը (բաժանորդագրվում եք թեմայի): Հետո Թոմը ձեզ տալիս է քարտերը:
Քանի որ ամբողջ գործընթացը կախված է բրոքերից և բաժանորդի և հրատարակչի միջև անմիջական փոխազդեցությունից, 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- ի կարգավորում
- Մուտք գործեք Losant
- Ստեղծեք սարք (ինքնուրույն տեսակ)
- Սարքին ավելացրեք տվյալների մի քանի տեսակ 1: Անուն ՝ ջերմաստիճան, Տվյալների տեսակ ՝ Թիվ 2: Անուն ՝ օֆսեթ, Տվյալների տեսակ ՝ Թիվ 3: Անուն ՝ միավոր, Տվյալների տեսակ ՝ լարային
- Ստեղծեք մուտքի բանալին և նշեք սարքի ID- ն և մուտքի բանալին
- Ստեղծեք գրաֆիկ 1. Ստեղծեք վահանակ: 2. Ավելացրեք «Seriesամանակային շարքերի գրաֆիկ» բլոկը ՝ օգտագործելով ջերմաստիճանի փոփոխականը և ձեր ստեղծած սարքը:
«Սարքի ID» - ն ծառայում է որպես սարքի համար որպես յուրահատուկ մատնահետք գործելու նպատակ: «Մուտքի բանալիները», ինչպես անունն է հուշում, թույլ է տալիս IoT- ին սարքի ինքնության ներքո հրապարակել Losant- ում:
Քայլ 3. Պատրաստեք MQTT հրատարակիչը
Այժմ, երբ մենք պատրաստել ենք 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- ով ծրագիրը ջնջելու արագ ակնարկ
- Տեղադրեք mos գործիք ձեր OS- ի համար:
-
Բացեք գործիքը և կատարեք հետևյալ հրամանները.
- mos clone
- cd losant-temp-sensor
- mos build -պլատֆորմ esp32
- mos flash
- mos wifi "ձեր wifi ssid" "ձեր wifi գաղտնաբառը" օր. mos wifi «Տուն» «տուն@123»
-
mos config-set temperature.basis =
temperature.unit ="
"օրինակ. mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Հաջող բռնկումից հետո թույլ տվեք սարքը վերագործարկել և այնուհետև կատարել հետևյալ հրամանները
Այս բոլոր քայլերը ճիշտ ավարտելուց հետո կհայտնվեք ESP32- ով, որը ջերմաստիճանի ցուցանիշները պարբերաբար ուղարկում է Losant, յուրաքանչյուր 10 րոպեից հետո: Հաջող հրատարակումը նշվում է կապույտ LED- ով, ինչպես ցույց է տրված վերը նշված տեսանյութում:
Քայլ 4: ծանոթագրություն
Եթե դուք ի վիճակի եք ճիշտ կրկնել նախորդ քայլերը, ապա այժմ կունենաք աշխատանքային նախագիծ, որի օգնությամբ կարող եք դիտել ձեր սենյակի ներսում ջերմաստիճանի միտումները կամ որտեղ էլ որ նախատեսեք տեղադրել նախագիծը: Քանի որ ես պահել եմ այս Ուղեցույցը հնարավորինս ընդհանուր, այնպես որ կարող եք օգտագործել ձեր 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- ում:
Խորհուրդ ենք տալիս:
Sոդում անցքերի բաղադրիչների միջոցով - Sոդման հիմունքներ. 8 քայլ (նկարներով)
Sոդում անցքերի բաղադրիչների միջոցով | Sոդման հիմունքներ. Այս Ուղեցույցում ես կքննարկեմ մի քանի հիմք `անցքերի բաղադրիչները միացնելով տախտակներին: Ենթադրեմ, որ դուք արդեն ստուգել եք իմ Soldering Basics շարքի առաջին 2 հրահանգները: Եթե դեռ չեք ստուգել իմ մուտքը
Arduino WiFi- ի ամպին միացում ESP8266: 7 քայլերի միջոցով
Arduino WiFi- ն ամպին միացնելով ESP8266- ի միջոցով. Այս ձեռնարկում մենք կբացատրենք ձեզ, թե ինչպես միացնել ձեր Arduino- ն IoT ամպին WiFi- ի միջոցով: Մենք կկարգավորենք Arduino- ից և ESP8266 WiFi մոդուլից կազմված կարգավորումը որպես IoT Thing և պատրաստ կդարձնենք այն: AskSensors cloud.L- ի հետ շփվելու համար:
Ձեր ազնվամորի Pi- ն համացանցին միացնելը. 9 քայլ
Ձեր ազնվամորի Pi- ն համացանցին միացնելը. Այս դասում դուք կսովորեք, թե ինչպես ստեղծել վեբ էջ, հավաքել տվյալներ ՝ օգտագործելով համաշխարհային ցանցը և API- ներ օգտագործել ՝ Tumblr- ում և Twitter- ում պատկերներ տեղադրելու համար:
Միացրեք ձեր գործարանը ամպին: 10 քայլ
Միացրեք ձեր բույսը ամպի հետ. Մեր գրասենյակում կա մի կակտուս, որն արժանի ուշադրության չէր արժանանում: Քանի որ ես աշխատում էի ՏՏ ընկերությունում և ցանկանում էի փորձարկել LoRa- ն, առանց սերվերների լուծումները և AWS- ը, ես մեր կակտուսին անվանեցի Սթիվ և կապեցի ամպի հետ: Այժմ կարող եք դիտել
DHT11/DHT22 տվիչի ամպին միացում ESP8266- ի վրա հիմնված տախտակի միջոցով. 9 քայլ
DHT11/DHT22 տվիչը ամպին միացնելը ESP8266- ի վրա հիմնված տախտակով. Նախորդ հոդվածում ես ESP8266- ի վրա հիմնված NodeMCU տախտակին միացրի Cloud4RPi ծառայությանը: Հիմա, իսկական նախագծի ժամանակն է: