Satura rādītājs:

IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS: 5 soļi
IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS: 5 soļi

Video: IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS: 5 soļi

Video: IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS: 5 soļi
Video: ESP32 Tutorial 4 - Data types Define Variable Int, bool, char, Serial Monitor-ESP32 IoT Learnig kit 2024, Decembris
Anonim
IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS
IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS
IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS
IoT pamati: IoT savienošana ar mākoni, izmantojot Mongoose OS

Ja jūs esat cilvēks, kurš nodarbojas ar maldināšanu un elektroniku, jūs biežāk saskaraties ar jēdzienu lietiskais internets, kas parasti tiek saīsināts kā IoT, un ka tas attiecas uz ierīču kopumu, kas var izveidot savienojumu ar internetu! Pati būdama tāda persona, mani fascinēja, kad uzzināju, ka tik lieliskas ierīces man ir viegli pieejamas. Jau pati doma par to, ka varēšu savienot savus projektus ar internetu, izmantojot nelielu aparatūru un tikai domājot par neskaitāmajiem vārtiem, ko tas pavērs manām projektu idejām, mani uzpumpēja.

Bet IoT norādīšana izveidot savienojumu ar internetu nav tik vienkārša kā vienkārši nopirkt to no plaukta un ieslēgt. Papildus tam, lai ierīce izveidotu savienojumu ar internetu, mums ir arī jāpārsūta internetā daži noderīgi dati. Šī pamācība attiecas uz procedūru, kas saistīta ar iepriekšminētā mērķa sasniegšanu, un ir paredzēta jebkura līmeņa pieredzes lasītājiem, sākot no iesācējiem līdz veterāniem, kuri ir jauni IoT.

Šajā pamācībā kā piemēru es parādīšu, kā uzzīmēt ESP32 izstrādes plates iekšējo temperatūras sensoru rādījumu grafiku, kam vajadzētu sniegt lasītājiem labu priekšstatu par procesu.

Lai gan šajā pamācībā tiek izmantota ESP32 un Mongoose OS, tomēr procedūru var attiecināt uz visiem esošajiem IoT un programmaparatūru!

Piegādes

Lai pats varētu īstenot šo pamācību, jums būs nepieciešams tikai minimāls aparatūras daudzums, un tie ir:

  • Lietu internets (IoT): esmu izmantojis lētu ESP32 izstrādes plates klonu. Ja plānojat iegādāties jaunu ESP32 izstrādes plati, jums jāpārbauda DFRobot ESP32 tāfele.
  • Datu kabelis: izmantojiet kabeli, kas nepieciešams IoT mirgošanai utt.
  • A Akumulators (pēc izvēles): iegādājieties to tikai tad, ja plānojat ilgstoši ieslēgt IoT.
  • Mini maizes dēlis (pēc izvēles)

Es iesaku lasītājam izmantot IoT, kas atšķiras no ESP32, lai viņš/viņa patiesi saprastu, kas šeit tiek darīts, nevis vienkārši atdarina mani. Ticiet man, jums patiks īstenot šo procesu, izmantojot savu prātu kādā citā IoT, piemēram, ESP8266 būtu laba izvēle.

1. darbība. Ievads MQTT

Ievads MQTT
Ievads MQTT

Kas ir MQTT?

"MQTT ir vienkāršs ziņojumapmaiņas protokols, kas paredzēts ierobežotām ierīcēm ar zemu joslas platumu. Tātad, tas ir ideāls risinājums lietiskā interneta lietojumprogrammām. MQTT ļauj nosūtīt komandas, lai kontrolētu izejas, lasītu un publicētu datus no sensoru mezgliem un daudz ko citu. " (No RandomNerdTutorials)

Kā darbojas MQTT?

Pirms sākt tehnisko darbu, vispirms padomāsim par mūsu reālo pasauli. Pieņemsim, ka jūs interesē karšu kolekcija, kas pieder jūsu drauga draugam, teiksim, Lorelai, kuru jūs personīgi nepazīstat. Tā kā jūs ļoti īpaši domājat par šo karšu kolekciju, jūs lūgsit savam draugam, piemēram, Tomam, jautāt, vai Lorela ir gatava to pārdot. To darot, jūs lūgsiet Tomam pašam iegādāties karšu kolekciju, ja Lorela būs gatava pārdot, jo nevēlaties, lai kāda cita persona saņemtu rokās kolekciju, pēc kuras vēlaties! Laika gaitā Toms un Lorela mijiedarbojas, un, savstarpēji vienojoties, Lorela apmaiņā pret naudu atdod Tomai savu karšu kolekciju. Pēc šīs apmaiņas Toms patur kārtis pie sevis, līdz atkal tiekas ar jums, tas ir tad, kad viņš beidzot iedod jums karšu kolekciju. Tā notiek normāla apmaiņa mūsu ikdienas dzīvē.

MQTT apmaiņas pamatelementi ir izdevējs (Laurel), abonents (You) un brokeris (Tom). Tās darbplūsma ir līdzīga iepriekš minētajam reālās pasaules piemēram, izņemot vienu milzīgu atšķirību! MQTT apmaiņu iniciē brokeris, t.i., Lorela būtu pirmā, kas sasniegusi Tomu, lai pateiktu, ka vēlas pārdot savu karšu kolekciju. Ja mēs salīdzinām MQTT darbību ar mūsu reālās pasaules piemēru, tad tas būtu šāds:

  1. Lorela stāsta Tomam, ka vēlas pārdot savu karšu kolekciju (datus vai lietderīgo slodzi) un nodod viņam kartes.
  2. Toms paņem šīs kartes savā īpašumā un ir atvērts karšu savākšanas piedāvājumiem. Kad jūs ar Tomu satiekaties un viņš uzzina, ka jūs interesē kartītes (abonējat kādu tēmu). Tad Toms iedod tev kārtis.

Tā kā viss process ir atkarīgs no brokera un nav tiešas mijiedarbības starp abonentu un izdevēju, MQTT novērš grūtības sinhronizēt gan izdevēju, gan abonentu. Starpnieka klātbūtne ir izdevīga resursu ierobežotām ierīcēm, piemēram, IoT un mikroprocesoriem, jo to apstrādes jauda nav pietiekama, lai normāli veiktu datu pārsūtīšanu, kas prasītu papildu pieskaitāmās izmaksas, piemēram, autentifikāciju, šifrēšanu utt. MQTT ir daudz citu funkciju, piemēram, viegls, viens pret daudziem izplatīšana utt., Kas padara to ideāli piemērotu ierobežotiem tīkliem un klientiem

2. darbība. Ievads IoT platformā

Kas ir IoT platforma?

"Augsta līmeņa lietiskā interneta platforma (IoT) ir atbalsta programmatūra, kas savieno malas aparatūru, piekļuves punktus un datu tīklus ar citām vērtību ķēdes daļām (kas parasti ir galalietotāju lietojumprogrammas). IoT platformas parasti apstrādāt notiekošos pārvaldības uzdevumus un datu vizualizāciju, kas lietotājiem ļauj automatizēt savu vidi. " (No Link-Labs)

Abstrakti, IoT platforma darbojas kā nesējs starp lietotāju un datu vākšanas aģentiem, kas ir atbildīgs par savākto datu attēlošanu.

Šajā pamācībā mēs plānojam tiešsaistē publicēt ESP32 temperatūras rādījumus. Mūsu ESP32 darbosies kā MQTT izdevējs, un MQTT brokeris būs mūsu izvēlētā IoT platforma. Ņemiet vērā, ka mūsu projektā MQTT abonentam nav nozīmes, jo datus no pirmās puses attēlo pati platforma. IoT platforma būs atbildīga par mūsu publicēto datu saglabāšanu un jauku attēlošanu šeit kā līniju diagramma. Šeit es izmantošu Losant kā savu IoT platformu, jo tā ir brīvi lietojama un piedāvā dažus labus datu attēlošanas veidus. Daži citi IoT platformu piemēri ir Google Cloud, Amazon AWS un Adafruit, Microsoft Azure uc Es vēlos ieteikt lasītājam atsaukties uz izvēlētās IoT platformas dokumentāciju.

Losanta iestatīšana:

  1. Piesakieties Losant
  2. Ierīces izveide (atsevišķs veids)
  3. Pievienojiet ierīcei dažus datu veidus1. Nosaukums: temperatūra, Datu veids: Skaitlis2. Nosaukums: nobīde, datu tips: numurs3. Nosaukums: vienība, datu tips: virkne
  4. Izveidojiet piekļuves atslēgu un pierakstiet ierīces ID un piekļuves atslēgu
  5. Izveidojiet grafiku 1. Izveidojiet informācijas paneli.2. Pievienojiet tam bloku "Laika sērijas diagramma", izmantojot temperatūras mainīgo un izveidoto ierīci.

Ierīces ID kalpo, lai ierīce darbotos kā unikāls pirkstu nospiedums. "Piekļuves atslēgas", kā norāda nosaukums, ļauj IoT publicēt Losant ar ierīces identitāti.

3. darbība: sagatavojiet izdevēju MQTT

Image
Image

Tagad, kad esam sagatavojuši IoT platformu datu saņemšanai un attēlošanai, mums ir jāsagatavo MQTT izdevējs, kas būtu atbildīgs par datu vākšanu un nosūtīšanu uz platformu.

MQTT izdevēju sagatavošanas shēma ir šāda:

  • Ierakstiet kodu: lai norādītu izdevējam (IoT), kā vākt datus, apstrādāt un nosūtīt tos uz IoT platformu. Instrukcijas ir uzrakstītas cilvēkiem lasāmās augsta līmeņa programmēšanas valodās, kuras parasti sauc par kodu.
  • Atjauniniet programmaparatūru: IoT viegli nesapratīs šos norādījumus, jo sākotnēji tā nezina nevienu valodu. Lai pārvarētu šo valodas barjeru starp cilvēku un mašīnu, kods tiek apkopots neapstrādātā instrukciju komplektā, būtībā heksadecimālu vai bināru vērtību komplektos, kas raksturīgi atmiņas vietām IoT, kas pazīstams kā programmaparatūra, kas pēc tam tiek parādīta IoT.

Šajā pamācībā, tā kā es izmantoju savu ērto ESP32, es mirgoju ar Mongoose OS programmaparatūru, kas pieņem gan C, gan JavaScript rakstītas programmas. Papildus JS saderībai Mongoose OS joprojām ir daudz ko piedāvāt, piemēram, bezvadu režīmā, lai uzlabotu programmu tiešsaistē, un īpašs informācijas panelis ierīcēm (mDash) utt.

Šai instrukcijai esmu izstrādājis atvērtā pirmkoda lietotni Mongoose OS. Tā ir vienkārša lietotne ar nosaukumu losant-temp-sensor, kas izmanto MQTT, lai nosūtītu aptuvenos apkārtējās vides temperatūras rādījumus, pamatojoties uz ESP32 iekšējās temperatūras rādījumiem, uz Losant (bezmaksas IoT platforma). Lai labāk izprastu, ieteicams izlasīt lietotnes kodu. Mēs parādīsim šo lietotni šai instrukcijai.

Ja jūs esat piedzīvojumu veids, varat mēģināt sasniegt to pašu mērķi ar Arduino-ESP32 programmaparatūru, kas ļauj izmantot ESP32 kā Arduino (ar WiFi iespēju).

Ātra informācija par mirgojošu lietotni ar Mongoose OS:

  1. Instalējiet OS rīku savai OS.
  2. Atveriet rīku un izpildiet šādas komandas:

    1. mos klons
    2. cd losant-temp-sensors
    3. mos build -platforma esp32
    4. mos zibspuldze
  3. Pēc veiksmīgas mirgošanas ļaujiet ierīcei pārstartēties un pēc tam izpildiet šādas komandas:

    1. mos wifi "jūsu wifi ssid" "jūsu wifi parole", piem. mos wifi "Mājas" "mājas@123"
    2. mos konfigurācijas iestatītā temperatūra.bāze =

      temperatūra.vienība ="

      "piemēram, mos konfigurācijas iestatītā temperatūra.bāze = 33 / temperatūra.vienība =" celsijs"

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

Pēc visu šo darbību pareizas pabeigšanas jūs saņemsiet ESP32, kas periodiski, ik pēc 10 minūtēm, nosūta temperatūras rādījumus Losant. Par veiksmīgu publicēšanu norāda zilā gaismas diode, kā parādīts iepriekš redzamajā videoklipā.

4. solis: zemsvītras piezīme

Image
Image
Zemsvītras piezīme
Zemsvītras piezīme

Ja jūs varat pareizi atkārtot iepriekšējās darbības, tagad jums būs darba projekts, ar kura palīdzību jūs varat novērot temperatūras tendences savā telpā vai visur, kur plānojat izvietot projektu. Tā kā es šo pamācību esmu saglabājis tik vispārīgu, cik vien iespējams, tāpēc jūs varat izmantot savu IoT, lai apkopotu visa veida datus un mēģinātu no tā secināt kaut ko noderīgu, vai arī varat to darīt tikai tāpēc, lai apdomātu esat pareizi sapratis šo pamācību.

Manuprāt, labākā IoT daļa ir fakts, ka tas ļauj mums savākt milzīgus datu gabalus, kas nav pārliecinoši, ja tos ņem atsevišķi, un pārvērst tos par kaut ko pārliecinošu. Tas patiešām pārsteidz zinātnes garu. Man bija ļoti apmierinoši un izgaismojoši pamanīt, kā lietus stundās manā telpā pazeminās temperatūra, izmantojot manu grafiku.

Lietotne zaudētājs-temp-sensors ir optimizēta enerģijas patēriņam, jo tā izmanto ESP32 dziļā miega funkciju, tāpēc jūs varat to izmantot ilgu laiku, neuztraucoties par akumulatoru. Jūs varat vēl vairāk palielināt energoefektivitāti, noņemot LED uz izstrādes paneļa. Visa iestatījuma pašreizējais zīmējums ir parādīts iepriekš.

Šīs pamācības mērķis jau no paša sākuma bija tikai iepazīstināt jūs ar IoT pasauli. Pabeidzot šo pamācību, jums būs labi jāpārzina pamati, kurus varat vēl vairāk nostiprināt, izmantojot citus tiešsaistes resursus.

Lai gan šajā posmā jūs nevarēsit realizēt sarežģītus projektus, tomēr vienmēr jāpatur prātā, ka, ja jums ir pietiekami stiprs ķieģelis un veids, kā tos apvienot, jūs varat izveidot jebkuru iedomājamu struktūru no vienkāršas uz kompleksu. Līdzīgi, labi pārzinot pamatus un zinot, kā tos pareizi pielietot, varēsit uzlikt daudz dažādu izgudrojumu. Tāpēc, lai spertu pirmo soli, samīļojiet muguru.

5. darbība: kredīti un atbalsts

Šī pamācība sastāv no ilustrācijām, piem. tas, kas izskaidro MQTT apmaiņu, ko esmu personīgi izveidojis. Šīs ilustrācijas ir bijušas iespējamas, tikai pateicoties šādām brīvi lietojamām SVG pakotnēm:

  • Infografikas vektors, ko izveidojis freepik - www.freepik.com
  • Infographic vektors, ko izveidojis starline - www.freepik.com
  • Cilvēku vektors, ko izveidojis pikisuperstar - www.freepik.com
  • Makrovektoru izveidots abstrakts vektors - www.freepik.com
  • Makrovektoru izveidots abstrakts vektors - www.freepik.com
  • Infografikas vektors, ko izveidojis pikisuperstar - www.freepik.com

Šo pamācību sponsorēja DFRobot. DFRobot ir lieliska elektronikas kolekcija, tāpēc noteikti pārbaudiet to.

Ja jums liekas, ka jums patika šī instrukcija un vēlaties vairāk šādu pamācību, tad varat mani atbalstīt vietnē Patreon. Ja jūs nevarat iet tik tālu, tad jūs varat sekot man šeit vietnē Instructables.

Ieteicams: