Kazalo:

Osnove interneta stvari: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose: 5 korakov
Osnove interneta stvari: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose: 5 korakov

Video: Osnove interneta stvari: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose: 5 korakov

Video: Osnove interneta stvari: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose: 5 korakov
Video: MJC School. We are ready to help you become a programmer. 2024, Julij
Anonim
Osnove IoT: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose
Osnove IoT: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose
Osnove IoT: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose
Osnove IoT: Povezovanje interneta stvari v oblak z operacijskim sistemom Mongoose

Če ste oseba, ki se ukvarjate s petljanjem in elektroniko, boste pogosteje naleteli na izraz Internet stvari, običajno okrajšan kot IoT, in da se nanaša na niz naprav, ki se lahko povežejo z internetom! Ker sem tudi sama bila takšna oseba, sem bila navdušena, ko sem spoznala, da so mi tako odlične naprave zlahka dostopne. Že sama misel, da bi lahko svoje projekte povezal z internetom z majhnim kosom strojne opreme, in samo razmišljanje o neštetih vratih, ki bi jih odprl mojim projektnim idejam, me je napolnila.

Toda povedati IoT, da se poveže z internetom, ni tako preprosto, kot da ga preprosto kupite in ga vklopite. Poleg tega, da se naprava poveže z internetom, moramo v internet posredovati tudi nekaj uporabnih podatkov. Ta Instructable obravnava postopek, ki je vključen v doseganje zgoraj navedenega cilja, in je namenjen bralcem katere koli stopnje izkušenj, od začetnikov do veteranov, ki so prvi v IoT.

V tem navodilu bom kot primer pokazal, kako narisati graf odčitkov senzorjev notranje temperature razvojne plošče ESP32, ki bi morali bralcem dobro predstaviti postopek.

Čeprav ta Instructable uporablja ESP32 in Mongoose OS, se lahko postopek razširi na vse IoT in vdelano programsko opremo, ki obstaja!

Zaloge

Če želite sami izvajati ta Instructable, boste potrebovali le minimalno količino strojne opreme in so:

  • Internet stvari (IoT): Uporabil sem poceni klon razvojne plošče ESP32. Če nameravate kupiti novo razvojno ploščo ESP32, morate preveriti ploščo ESP32 DFRobot.
  • Podatkovni kabel: uporabite kabel, ki ga IoT potrebuje za utripanje itd.
  • Akumulator (neobvezno): Kupite ga le, če nameravate IoT vklopiti za dalj časa.
  • Mini plošča (neobvezno)

Bralcu predlagam, naj uporabi IoT, ki je drugačen od ESP32, da bo resnično razumel, kaj se tukaj dela, namesto da bi me preprosto posnemal. Verjemite mi, uživali boste v izvajanju tega procesa z lastnimi mislimi v kakšnem drugem IoT, na primer ESP8266 bi bila dobra izbira.

1. korak: Uvod v MQTT

Uvod v MQTT
Uvod v MQTT

Kaj je MQTT?

"MQTT je preprost protokol za pošiljanje sporočil, zasnovan za omejene naprave z nizko pasovno širino. Torej je odlična rešitev za aplikacije Internet of Things. MQTT vam omogoča pošiljanje ukazov za nadzor izhodov, branje in objavo podatkov s senzorskih vozlišč in še veliko več. " (Iz RandomNerdTutorials)

Kako deluje MQTT?

Preden se lotimo tehničnega dela, pomislimo najprej na naš resnični svet. Recimo, da vas zanima zbirka kartic v lasti prijatelja vašega prijatelja, recimo Laurela, ki ga osebno ne poznate. Ker ste zelo natančni glede zbiranja kart, boste svojega prijatelja, recimo Toma, vprašali, ali ga je Laurel pripravljen prodati ali ne. Pri tem boste Toma prosili, naj sam kupi zbirko kartic, če je Laurel pripravljena prodati, saj ne želite, da bi kdo drug dobil v roke zbirko, po kateri hrepenite! Sčasoma Tom in Laurel sodelujeta, po dogovoru pa Laurel v zameno za denar podari Tomu zbirko kartic. Po tej izmenjavi Tom hrani karte pri sebi, dokler se spet ne sreča, ko vam končno podari zbirko kartic. Tako poteka normalna izmenjava v našem vsakdanjem življenju.

V MQTT so osnovni elementi izmenjave založnik (Laurel), naročnik (vi) in posrednik (Tom). Njegov potek dela je prav tako podoben zgoraj navedenemu primeru iz resničnega sveta, razen ene velike razlike! V MQTT izmenjavo sproži posrednik, to je, da bi Laurel prva prišla do Toma in povedala, da želi prodati svojo zbirko kartic. Če primerjamo delovanje MQTT z našim primerom iz resničnega sveta, bi bilo to naslednje:

  1. Laurel pove Tomu, da želi prodati svojo zbirko kartic (podatke ali koristno obremenitev) in mu jih preda.
  2. Tom vzame te kartice in je odprt za ponudbe za zbiranje kartic. Ko se srečata s Tomom in ugotovi, da vas karte zanimajo (se naroči na temo). Nato vam Tom podari karte.

Ker celoten postopek temelji na posredniku in ne na neposredni interakciji med naročnikom in založnikom, MQTT odpravlja težave pri sinhronizaciji založnika in naročnika. Prisotnost vmesnega posrednika je blaginja za naprave z omejenimi viri, kot so IoT in mikroprocesorji, saj njihova procesorska moč ne zadošča za običajen prenos podatkov, kar bi vključevalo dodatne režijske stroške, kot so preverjanje pristnosti, šifriranje itd. MQTT ima še veliko drugih funkcij, kot so lahka distribucija ena proti več itd., Zaradi česar je idealna za omejena omrežja in odjemalce

2. korak: Uvod v platformo IoT

Kaj je platforma IoT?

"Na visoki ravni je platforma Internet of Things (IoT) podporna programska oprema, ki povezuje robno strojno opremo, dostopne točke in podatkovna omrežja z drugimi deli vrednostne verige (ki so običajno aplikacije za končne uporabnike). Platforme interneta stvari običajno upravljati tekoče naloge upravljanja in vizualizacijo podatkov, ki uporabnikom omogočajo avtomatizacijo okolja. " (Iz Link-Labs)

Abstraktno, platforma IoT deluje kot medij med uporabnikom in agentom za zbiranje podatkov, ki je odgovoren za predstavljanje zbranih podatkov.

V tem navodilu nameravamo na spletu objaviti meritve temperature našega ESP32. Naš ESP32 bo deloval kot založnik MQTT, posrednik MQTT pa bo platforma IoT po naši izbiri. Upoštevajte, da v našem projektu ni vloge naročnika MQTT, saj podatke iz prve roke predstavlja sama platforma. Platforma IoT bo odgovorna za shranjevanje naših objavljenih podatkov in jih tukaj lepo predstavila kot linijski graf. Losant bom tukaj uporabljal kot svojo platformo IoT, saj je brezplačna za uporabo in ponuja nekaj dobrih načinov za predstavitev podatkov. Nekateri drugi primeri IoT platform so Google Cloud, Amazon AWS in Adafruit, Microsoft Azure itd. Bralcem bi svetoval, naj se sklicujejo na dokumentacijo izbrane platforme IoT.

Nastavitev Losanta:

  1. Prijavite se v Losant
  2. Ustvarite napravo (samostojna vrsta)
  3. Napravi dodajte nekaj podatkovnih tipov1. Ime: temperatura, Vrsta podatkov: Številka 2. Ime: offset, Vrsta podatkov: Številka3. Ime: enota, Vrsta podatkov: Niz
  4. Ustvarite ključ za dostop in zabeležite ID naprave in ključ za dostop
  5. Ustvarite graf 1. Ustvarite nadzorno ploščo. Dodajte mu blok "Časovni niz" s temperaturno spremenljivko in ustvarjeno napravo.

"ID naprave" služi kot edinstven prstni odtis za napravo. "Dostopni ključi", kot že ime pove, IoT omogočajo objavo v Losantu pod identiteto naprave.

3. korak: Pripravite založnika MQTT

Image
Image

Zdaj, ko smo pripravili platformo IoT za sprejemanje in predstavljanje podatkov, moramo pripraviti založnika MQTT, ki bi bil odgovoren za zbiranje in pošiljanje podatkov na platformo.

Okvir priprave založnika MQTT je naslednji:

  • Napišite kodo: Založniku (IoT) naročite, kako zbira podatke, jih obdeluje in pošilja na platformo IoT. Navodila so napisana v človeško berljivih programskih jezikih na visoki ravni, ki se običajno imenujejo koda.
  • Utripajte vdelano programsko opremo: IoT ne bo zlahka razumel teh navodil, saj sprva ne pozna nobenega jezika. Da bi premostili to jezikovno oviro med človekom in strojem, je koda sestavljena v surov nabor navodil, v bistvu nabore šestnajstiških ali binarnih vrednosti, značilnih za pomnilniške lokacije znotraj IoT, znane kot vdelana programska oprema, ki se nato pošlje v IoT.

V tem Instructableu bom, ker uporabljam svoj priročen ESP32, nanj utripal vdelano programsko opremo Mongoose OS, ki sprejema programe, napisane C in JavaScript. Poleg združljivosti JS lahko Mongoose OS še vedno ponuja veliko, na primer brezžične posodobitve, za prilagoditev programa na spletu in namensko nadzorno ploščo za naprave (mDash) itd.

Za ta Instructable sem razvil odprtokodno aplikacijo za Mongoose OS. To je preprosta aplikacija z imenom losant-temp-sensor, ki uporablja MQTT za pošiljanje približnih odčitkov temperature okolja na podlagi notranjih odčitkov temperature ESP32 v Losant (brezplačno platformo IoT). Za boljše razumevanje priporočamo, da preberete kodo aplikacije. To aplikacijo bomo utripali za ta Instructable.

Če ste avanturistične narave, lahko poskusite doseči isti cilj z vdelano programsko opremo Arduino-ESP32, ki omogoča uporabo ESP32 kot Arduino (z možnostjo WiFi).

Hiter povzetek utripajoče aplikacije z operacijskim sistemom Mongoose:

  1. Namestite orodje mos za vaš OS.
  2. Odprite orodje in izvedite naslednje ukaze:

    1. mos clone
    2. cd losant-temp-sensor
    3. mos build -platforma esp32
    4. mos flash
  3. Po uspešnem utripanju dovolite, da se naprava znova zažene, nato pa izvedite naslednje ukaze:

    1. mos wifi "your wifi ssid" "your wifi password" npr. mos wifi "Dom" "dom@123"
    2. mos config-set temperature.basis =

      Temperature.unit ="

      "npr. mos config-set temperature.basis = 33 / temperature.unit =" celzius"

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

Ko pravilno izvedete vse te korake, boste na koncu dobili ESP32, ki vsakih 10 minut redno pošilja odčitke temperature Losantu. Uspešno objavljanje označuje modra LED, kot je prikazano v zgornjem videu.

4. korak: Opomba

Image
Image
Opomba
Opomba

Če lahko pravilno ponovite prejšnje korake, boste zdaj imeli delovni projekt, s pomočjo katerega boste lahko opazovali temperaturne trende v svoji sobi ali kamor koli nameravate projekt postaviti. Ker sem ta Instructable ohranil čim bolj splošen, zato lahko s svojim internetom stvari zbirate vse vrste podatkov in poskušate iz njega sklepati kaj koristnega, ali pa to storite le zaradi manekenstva, če sem pravilno razumel ta navodila.

Zame je najboljši del IoT dejstvo, da nam omogoča, da zberemo ogromne koščke podatkov, ki niso prepričljivi, če jih vzamemo sami, in jih pretvorimo v nekaj prepričljivega. To resnično zadene duh znanosti. Zame je bilo zelo zadovoljivo in razsvetljujoče, da sem skozi grafikon opazil, da je temperatura v moji sobi med dežnimi urami padla.

Aplikacija losant-temp-sensor-senzor je optimizirana za porabo energije, saj uporablja funkcijo globokega spanja ESP32, zato jo lahko uporabljate dlje časa, ne da bi skrbeli za baterijo. Učinkovitost porabe energije lahko še povečate tako, da odstranite LED na razvojni plošči. Trenutni žreb celotne nastavitve je prikazan zgoraj.

Namen tega Instructablea je bil že od začetka samo predstaviti vam svet IoT. Ko končate ta Instructable, se boste dobro držali osnov, ki jih lahko še okrepite z drugimi spletnimi viri.

Čeprav na tej stopnji ne boste mogli ustvarjati zapletenih projektov, je treba vedno upoštevati, da če imate dovolj močno opeko in način, kako jih združiti, lahko iz preproste izdelate katero koli zamisljivo strukturo. do zapletenih. Podobno, če dobro razumete osnove in veste, kako jih pravilno uporabiti, vam bo omogočilo, da ustvarite množico načinov. Zato si naredite prvi korak za hrbet.

5. korak: Krediti in podpora

Ta navodila so sestavljena iz ilustracij, npr. tista, ki pojasnjuje izmenjavo MQTT, ki sem jo naredil osebno. Te ilustracije so bile možne le zaradi naslednjih brezplačnih paketov SVG:

  • Infografski vektor, ki ga je ustvaril freepik - www.freepik.com
  • Infografski vektor, ki ga je ustvaril starline - www.freepik.com
  • Vektor ljudi, ki ga je ustvaril pikisuperstar - www.freepik.com
  • Abstraktni vektor, ki ga je ustvaril macrovector - www.freepik.com
  • Abstraktni vektor, ki ga je ustvaril macrovector - www.freepik.com
  • Infografski vektor, ki ga je ustvaril pikisuperstar - www.freepik.com

Ta Instructable je sponzoriral DFRobot. DFRobot ima odlično zbirko elektronike, zato jo obvezno preverite.

Če menite, da vam je bil ta Instructable všeč in želite več takih Instructables, me lahko podprete na Patreonu. Če ne morete iti tako daleč, mi lahko sledite tukaj na Instructables.

Priporočena: