Sadržaj:
- Pribor
- Korak 1: Uvod u MQTT
- Korak 2: Uvod u IoT platformu
- Korak 3: Pripremite izdavača MQTT
- Korak 4: Fusnota
- Korak 5: Zasluge i podrška
Video: Osnove IoT -a: Povezivanje vašeg IoT -a s oblakom pomoću Mongoose OS -a: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Ako ste osoba koja se bavi petljanjem i elektronikom, češće ćete naići na pojam Interneta stvari, obično skraćeno IoT, koji se odnosi na skup uređaja koji se mogu spojiti na internet! Budući da sam i sam bio takva osoba, bio sam fasciniran kada sam saznao da su mi takvi sjajni uređaji lako dostupni. Sama pomisao na to da ću moći povezati svoje projekte s internetom pomoću malog hardvera i samo razmišljanje o bezbrojnim vratima koja će mi otvoriti za projektne ideje natjerala me da se napumpim.
No, reći IoT -u da se poveže s internetom nije tako jednostavno kao samo kupiti ga s police i uključiti. Osim povezivanja uređaja s internetom, na Internet moramo poslati i neke korisne podatke. Ovaj Instructable bavi se postupcima koji su uključeni u postizanje gore navedenog cilja, a namijenjen je čitateljima bilo koje razine iskustva, od početnika do veterana koji su tek počeli koristiti IoT.
U ovom Instructable -u, kao primjer, pokazat ću kako iscrtati grafikon očitanja osjetnika unutarnje temperature razvojne ploče ESP32 što bi čitateljima trebalo dati dobru predodžbu o procesu.
Iako ovaj Instructable koristi ESP32 i Mongoose OS, postupak se može proširiti na sve IoT -ove i firmware koji postoje!
Pribor
Da biste sami mogli implementirati ovaj Instructable, trebat će vam samo minimalna količina hardvera, a to su:
- Internet stvari (IoT): Koristio sam jeftin klon razvojne ploče ESP32. Ako planirate kupiti novu razvojnu ploču ESP32, morate provjeriti ESP32 ploču DFRobota.
- Podatkovni kabel: upotrijebite kabel koji vašem IoT -u treba za bljeskanje itd.
- Baterija (izborno): Kupite ovo samo ako namjeravate napajati svoj IoT na dulja razdoblja.
- Mini tlocrt (izborno)
Predlažem čitatelju da koristi IoT različit od ESP32 kako bi doista razumio što se ovdje radi, umjesto da me jednostavno oponaša. Vjerujte mi, uživat ćete u provedbi ovog procesa koristeći vlastiti um u nekom drugom IoT -u, na primjer, ESP8266 bi bio dobar izbor.
Korak 1: Uvod u MQTT
Što je MQTT?
"MQTT je jednostavan protokol za razmjenu poruka, dizajniran za ograničene uređaje s niskom propusnošću. Dakle, savršeno je rješenje za aplikacije Internet of Things. MQTT vam omogućuje slanje naredbi za upravljanje izlazima, čitanje i objavljivanje podataka sa čvorova senzora i još mnogo toga. " (Iz RandomNerdTutoriala)
Kako funkcionira MQTT?
Prije nego krenemo na tehniku, razmislimo prvo o našem stvarnom svijetu. Pretpostavimo da vas zanima zbirka kartica u vlasništvu prijatelja vašeg prijatelja, recimo, Laurel, koju osobno ne poznajete. Budući da ste vrlo pažljivi u vezi s tim prikupljanjem kartica, pitat ćete prijatelja, pretpostavimo Toma, da li ga Laurel želi prodati ili ne. Pritom ćete tražiti od Toma da sam kupi zbirku kartica ako je Laurel voljna prodati, jer ne želite da neka druga osoba uzme u ruke zbirku za kojom žudite! Kako vrijeme prolazi, Tom i Laurel stupaju u interakciju, a prema zajedničkom dogovoru, Laurel daje svoju zbirku kartica Tomu u zamjenu za novac. Nakon ove razmjene, Tom drži kartice kod sebe dok vas ponovno ne sretne, tada vam konačno daje zbirku kartica. Tako se normalna razmjena odvija u našem svakodnevnom životu.
U MQTT -u, osnovni elementi uključeni u razmjenu su izdavač (Laurel), pretplatnik (Vi) i posrednik (Tom). Njegov tijek rada također je sličan gore navedenom primjeru iz stvarnog svijeta, osim jedne velike razlike! U MQTT -u razmjenu inicira posrednik, tj. Laurel bi prva došla do Toma i rekla da želi prodati svoju zbirku kartica. Ako usporedimo rad MQTT-a s našim primjerom iz stvarnog svijeta, to bi bilo sljedeće:
- Laurel govori Tomu da želi prodati svoju zbirku kartica (podatke ili korisni teret) i daje mu kartice.
- Tom uzima te kartice u svoje vlasništvo i otvoren je za ponude za prikupljanje kartica. Kad se vi i Tom upoznate i on otkrije da ste zainteresirani za karte (pretplati se na neku temu). Tom vam tada daje karte.
Budući da se cijeli proces oslanja na posrednika i nema izravne interakcije između pretplatnika i izdavača, MQTT uklanja muke pri sinkronizaciji i izdavača i pretplatnika. Prisutnost posredničkog posrednika blagodat je za uređaje s ograničenim resursima, poput IoT-a i mikroprocesora, jer je njihova procesorska snaga nedovoljna za normalan prijenos podataka, što bi uključivalo dodatne opće troškove, kao što su provjera autentičnosti, šifriranje itd. Osim toga, MQTT ima mnogo drugih značajki, kao što su lagani, distribucija jedan na više itd., Što ga čini idealnim za ograničene mreže i klijente
Korak 2: Uvod u IoT platformu
Što je IoT platforma?
"Na visokoj razini, platforma Internet of Things (IoT) softver je za podršku koji povezuje rubni hardver, pristupne točke i podatkovne mreže s drugim dijelovima lanca vrijednosti (koji su općenito aplikacije krajnjih korisnika). IoT platforme obično upravljati tekućim poslovima upravljanja i vizualizacijom podataka, koji korisnicima omogućuju automatiziranje njihovog okruženja. " (Iz Link-Labs-a)
Apstraktno, IoT platforma djeluje kao medij između korisnika i agenata za prikupljanje podataka koji je odgovoran za predstavljanje prikupljenih podataka.
U ovom Instructable -u planiramo objaviti očitanja temperature našeg ESP32 na mreži. Naš ESP32 djelovat će kao izdavač MQTT -a, a posrednik MQTT će biti IoT platforma po našem izboru. Imajte na umu da u našem projektu nema uloge pretplatnika na MQTT jer podatke iz prve ruke predstavlja sama platforma. IoT platforma bit će odgovorna za pohranu naših objavljenih podataka i njihovo lijepo predstavljanje ovdje, kao linijski grafikon. Ovdje ću koristiti Losant kao svoju IoT platformu jer je besplatna za korištenje i nudi neke dobre načine za predstavljanje podataka. Neki drugi primjeri IoT platformi su Google Cloud, Amazon AWS i Adafruit, Microsoft Azure itd. Htio bih savjetovati čitatelja da se pozove na dokumentaciju odabrane IoT platforme.
Postavljanje Losanta:
- Prijavite se u Losant
- Izradite uređaj (samostalni tip)
- Dodajte nekoliko vrsta podataka u uređaj1. Naziv: temperatura, Vrsta podataka: Broj2. Naziv: pomak, Vrsta podataka: Broj 3. Naziv: jedinica, Vrsta podataka: Niz
- Generirajte pristupni ključ i zabilježite ID uređaja i pristupni ključ
- Napravite grafikon1. Izradite nadzornu ploču.2. Dodajte mu blok "Grafikon vremenskih serija" pomoću varijable temperature i vašeg stvorenog uređaja.
"ID uređaja" služi kao jedinstveni otisak prsta za uređaj. "Pristupni ključevi", kako naziv sugerira, omogućuju IoT -u objavljivanje na Losantu pod identitetom uređaja.
Korak 3: Pripremite izdavača MQTT
Sada kada smo pripremili IoT platformu za primanje i predstavljanje podataka, moramo pripremiti izdavača MQTT koji bi bio odgovoran za prikupljanje i slanje podataka na platformu.
Pregled priprema izdavača za MQTT je sljedeći:
- Napišite kôd: Da biste izdavaču (IoT) dali upute kako prikupiti podatke, obraditi ih i poslati na IoT platformu. Upute su napisane u programskim jezicima visoke razine koji se mogu čitati i koje se obično naziva kod.
- Provjerite firmver: IoT neće lako razumjeti ove upute jer u početku ne poznaje nijedan jezik. Kako bi se premostila ova jezična barijera između čovjeka i stroja, kôd se sastavlja u grubi skup uputa, u osnovi skupova heksadecimalnih ili binarnih vrijednosti specifičnih za memorijske lokacije unutar IoT -a, poznate kao firmver koji se zatim prosljeđuje na IoT.
U ovom Instructable -u, budući da koristim svoj zgodan ESP32, na njega ću prebaciti firmver Mongoose OS -a koji prihvaća programe napisane C i JavaScript. Osim kompatibilnosti s JS -om, Mongoose OS još ima mnogo toga za ponuditi, primjerice ažuriranja putem bežične mreže, za prilagođavanje vašeg programa na mreži i namjensku nadzornu ploču za uređaje (mDash) itd.
Razvio sam aplikaciju otvorenog koda za Mongoose OS za ovaj Instructable. To je jednostavna aplikacija pod nazivom losant-temp-sensor, koja koristi MQTT za slanje približnih očitanja temperature okoline, na temelju očitanja unutarnje temperature ESP32, Losantu (besplatna IoT platforma). Za bolje razumijevanje savjetuje se da prođete kroz kôd aplikacije. Bljeskat ćemo ovu aplikaciju za ovaj Instructable.
Ako ste avanturističkog tipa, pokušajte postići isti cilj pomoću firmvera Arduino-ESP32 koji omogućuje korištenje ESP32 kao Arduina (s mogućnošću WiFi-a).
Kratki pregled flash aplikacije s Mongoose OS -om:
- Instalirajte mos alat za svoj OS.
-
Otvorite alat i izvršite sljedeće naredbe:
- mos clone
- cd losant-temp-sensor
- mos build -platforma esp32
- mos flash
- mos wifi "your wifi ssid" "your wifi password" npr. mos wifi "Dom" "dom@123"
-
mos config-set temperature.basis =
temperatura.jedinica ="
"npr. mos config-set temperature.basis = 33 / temperature.unit =" celzius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Nakon uspješnog bljeskanja, dopustite uređaju da se ponovno pokrene, a zatim izvršite sljedeće naredbe:
Nakon što ispravno završite sve ove korake, završit ćete s ESP32 koji periodično, svakih 10 minuta, šalje očitanja temperature Losantu. Uspješno objavljivanje označeno je plavom LED diodom, kao što je prikazano u gornjem videu.
Korak 4: Fusnota
Ako možete pravilno ponoviti prethodne korake, sada ćete imati radni projekt pomoću kojeg možete promatrati temperaturne trendove u svojoj prostoriji ili gdje god planirate projekt postaviti. Budući da sam ovaj Instructable držao što općenitijim, stoga možete koristiti svoj IoT za prikupljanje svih vrsta podataka i pokušati iz njega zaključiti nešto korisno, ili to možete učiniti samo radi petljanja, ako dobro smo razumjeli ovaj Instructable.
Za mene je najbolji dio IoT -a činjenica da nam omogućuje prikupljanje ogromnih dijelova podataka, neuvjerljivih ako se uzmu sami, te njihovo pretvaranje u nešto uvjerljivo. Ovo doista pogađa duh znanosti. Za mene je bilo jako zadovoljavajuće i prosvjetljujuće primijetiti pad temperature u mojoj sobi tijekom kišnih sati kroz moj grafikon.
Aplikacija losant-temp-sensor-senzor optimizirana je za potrošnju energije jer koristi značajku dubokog sna ESP32, pa je možete koristiti dulje vrijeme bez brige o bateriji. Možete dodatno povećati energetsku učinkovitost uklanjanjem LED diode na razvojnoj ploči. Trenutni crtež cijelog postavljanja prikazan je gore.
Cilj ovog Instructable -a od samog početka bio je samo dati vam uvod u svijet IoT -a. Nakon što završite ovaj Instructable, dobro ćete se uhvatiti u osnove koje možete dodatno ojačati kroz druge mrežne izvore.
Iako u ovoj fazi nećete moći napraviti složene projekte, ipak uvijek treba imati na umu da ako imate dovoljno jaku ciglu i način da ih spojite, tada možete napraviti bilo koju zamislivu strukturu, od jednostavnih do složenih. Slično, dobro razumijevanje osnova i znanje kako ih pravilno primijeniti omogućit će vam postavljanje mnoštva izuma. Stoga, dajte sebi tapšanje po leđima da napravite prvi korak.
Korak 5: Zasluge i podrška
Ovaj Instruktor se sastoji od ilustracija, npr. onaj koji objašnjava MQTT razmjenu, koju sam osobno napravio. Te su ilustracije moguće samo zahvaljujući sljedećim besplatnim SVG paketima:
- Infografski vektor stvorio freepik - www.freepik.com
- Infografski vektor stvorio starline - www.freepik.com
- Vektor ljudi stvorio pikisuperstar - www.freepik.com
- Sažetak vektora koji je izradio macrovector - www.freepik.com
- Sažetak vektora koji je izradio macrovector - www.freepik.com
- Infografski vektor stvorio pikisuperstar - www.freepik.com
Ovaj Instructable sponzorirao je DFRobot. DFRobot ima sjajnu kolekciju elektronike pa je svakako provjerite.
Ako mislite da vam se svidio ovaj Instructable i želite još ovakvih Instructablesa, možete me podržati na Patreonu. Ako ne možete ići tako daleko, možete me slijediti ovdje na Instructables.
Preporučeni:
Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina na IP mrežu?: 11 koraka (sa slikama)
Kako napraviti vlastiti WIFI pristupnik za povezivanje vašeg Arduina s IP mrežom?: Kao i mnogi ljudi mislite da je Arduino vrlo dobro rješenje za kućnu automatizaciju i robotizaciju! No, u smislu komunikacije, Arduinos dolazi samo sa serijskim vezama. Radim na robotu koji mora biti trajno povezan sa poslužiteljem koji radi
Kućna automatizacija kontrolirana internetom/oblakom pomoću Esp8266 (aREST, MQTT, IoT): 7 koraka (sa slikama)
Kućna automatizacija koja se kontrolira internetom/oblakom pomoću Esp8266 (aREST, MQTT, IoT): SVI krediti na http://arest.io/ za uslugu u oblaku !! IoT trenutno najpopularnija tema na svijetu !! Poslužitelji i usluge u oblaku koji to omogućuju atrakcija su današnjeg svijeta … IZLAZI BARIJERU DALJINA bila je i jest
Povezivanje Arduino WiFi -a s oblakom pomoću ESP8266: 7 koraka
Povezivanje Arduino WiFi -a s oblakom pomoću ESP8266: U ovom vodiču ćemo vam objasniti kako spojiti svoj Arduino na IoT oblak putem WiFi -a. Konfigurirat ćemo postavku sastavljenu od Arduina i ESP8266 WiFi modula kao IoT stvar i učiniti je spremnom za komunikaciju s oblakom AskSensors.L
Povezivanje vašeg Raspberry Pi na web: 9 koraka
Povezivanje vašeg Raspberry Pi -a s internetom: U ovoj lekciji naučit ćete kako stvoriti web stranicu, prikupiti podatke pomoću svjetskog weba i koristiti API -je za postavljanje slika na Tumblr i Twitter
Recikliranje vašeg starog prekidača za prigušivanje zraka kao promjenjive kontrole temperature vašeg lemilice: 7 koraka
Recikliranje vašeg starog prekidača za prigušivanje zraka kao varijabilna kontrola temperature vašeg lemilice: Vidio sam mnogo profesionalnih kontrola promjenjive temperature lemilice, ali preskupih. Tako sam napravio jedan od starog prekidača za prigušivanje, utičnice, ploče i utikača koji su već bili bezvrijedni i neke stare PVC kutije s prekidačima koja je došla s njim i tako