Sadržaj:
- Supplies
- 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 izmjena: 2024-01-30 08:06
Ako ste osoba koja se bavi petljanjem i elektronikom, češće ćete naići na izraz Internet stvari, obično skraćen kao IoT, i koji se odnosi na skup uređaja koji se mogu povezati na internet! Budući da sam i sam bio takva osoba, bio sam fasciniran kada sam saznao da su mi tako sjajni uređaji lako dostupni. Samo pomisao na to da mogu povezati svoje projekte s internetom pomoću malog komada hardvera i samo razmišljanje o bezbrojnim vratima koja će mi otvoriti pred projektnim idejama me je napušila.
Ali 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, moramo na Internet ubaciti i neke korisne podatke. Ovaj Instructable bavi se procedurom koja je uključena u postizanje gore navedenog cilja i namijenjena je čitateljima bilo kojeg nivoa iskustva, od početnika do veterana koji su tek počeli koristiti Internet stvari.
U ovom Instructable -u, kao primjer, pokazat ću kako iscrtati grafikon očitavanja senzora unutrašnje temperature razvojne ploče ESP32 koji bi čitateljima trebao dati dobru predstavu o procesu.
Iako ovaj Instructable koristi ESP32 i Mongoose OS, postupak se može proširiti na sve IoT -ove i firmver koji postoje!
Supplies
Da biste mogli sami 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 pogledati DFRobotovu ploču ESP32.
- Kabel za prijenos podataka: Koristite kabel koji vašem IoT -u treba za bljeskanje itd.
- Baterija (opcionalno): Kupite ovo samo ako namjeravate napajati IoT na duže periode.
- Mini iverica (opcionalno)
Predlažem čitatelju da koristi IoT različit od ESP32 kako bi zaista razumio šta se ovdje radi, umjesto da me jednostavno oponaša. Vjerujte mi, uživat ćete u implementaciji ovog procesa koristeći vlastiti um u nekom drugom IoT -u, na primjer, ESP8266 bi bio dobar izbor.
Korak 1: Uvod u MQTT
Šta 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 kontrolu izlaza, čitanje i objavljivanje podataka sa čvorova senzora i još mnogo toga. " (Iz RandomNerdTutoriala)
Kako funkcionira MQTT?
Prije nego krenemo u tehniku, razmislimo prvo o našem stvarnom svijetu. Pretpostavimo da vas zanima zbirka kartica u vlasništvu prijatelja vašeg prijatelja, recimo, Laurel, koju lično ne poznajete. Budući da ste vrlo pažljivi u vezi sa prikupljanjem kartica, pitaćete svog prijatelja, pretpostavimo Toma, da ga pita da li je Laurel voljna da ga proda 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 kolekciju za kojom žudite! Kako vrijeme prolazi, Tom i Laurel stupaju u interakciju, a prema zajedničkom dogovoru, Laurel predaje Tomu svoju zbirku kartica u zamjenu za novac. Nakon ove razmjene, Tom drži karte 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 tok rada je takođe sličan gore navedenom primjeru iz stvarnog svijeta, osim jedne velike razlike! U MQTT -u razmjenu inicira posrednik, odnosno Laurel bi prva došla do Toma i rekla da želi prodati svoju kolekciju kartica. Ako usporedimo rad MQTT-a sa našim primjerom iz stvarnog svijeta, to bi bilo sljedeće:
- Laurel kaže 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 zainteresovani za karte (pretplati se na neku temu). Tom vam tada daje karte.
Kako se cijeli proces oslanja na posrednika i nema direktne interakcije između pretplatnika i izdavača, MQTT uklanja muke pri sinkronizaciji i izdavača i pretplatnika. Prisutnost posredničkog posrednika je blagodat za uređaje s ograničenim resursima, poput IoT-a i mikroprocesora, jer je njihova procesorska snaga nedovoljna za obavljanje normalnog prijenosa podataka, što bi uključivalo dodatne opće troškove, poput autentifikacije, šifriranja itd. Osim toga, MQTT ima mnogo drugih značajki, kao što su lagani, distribucija jedan-prema-više, itd., Što ga čini idealnim za ograničene mreže i klijente
Korak 2: Uvod u IoT platformu
Šta je IoT platforma?
"Na visokom nivou, platforma Internet of Things (IoT) je softver za podršku koji povezuje rubni hardver, pristupne tač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 automatizaciju 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 će djelovati kao MQTT izdavač, a MQTT posrednik će biti IoT platforma po našem izboru. Imajte na umu da u našem projektu ne postoji uloga pretplatnika na MQTT jer se podaci predstavljaju iz prve ruke iz same platforme. IoT platforma bit će odgovorna za pohranjivanje 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
- Kreirajte uređaj (samostalni tip)
- Dodajte nekoliko tipova podataka u uređaj1. Naziv: temperatura, Tip podataka: Broj2. Naziv: offset, Tip podataka: Broj3. Naziv: jedinica, Tip podataka: Niz
- Generirajte pristupni ključ i zabilježite ID uređaja i pristupni ključ
- Napravite grafikon1. Kreirajte 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 govori, omogućuju IoT -u da objavi 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 da prikuplja podatke, obrađuje ih i šalje na IoT platformu. Upute su napisane u programskim jezicima visokog nivoa koji se mogu čitati od ljudi, a koji se obično nazivaju kodom.
- Pojačajte firmver: IoT neće lako razumjeti ove upute jer u početku ne zna nijedan jezik. Kako bi se premostila ova jezička 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 u IoT.
U ovom Instructable -u, budući da koristim svoj zgodan ESP32, na njega ću prebaciti firmver Mongoose OS -a koji prihvata programe napisane na C i JavaScript. Osim JS kompatibilnosti, Mongoose OS i dalje ima mnogo toga za ponuditi, poput 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 osnovu internih očitanja temperature ESP32, u Losant (besplatna IoT platforma). Preporučuje se da prođete kroz kôd aplikacije radi boljeg razumijevanja. Bljeskat ćemo ovu aplikaciju za ovaj Instructable.
Ako ste avanturističkog tipa, možete pokušati postići isti cilj pomoću firmvera Arduino-ESP32 koji omogućava korištenje ESP32 kao Arduina (sa WiFi sposobnošću).
Brzi pregled fleširanja aplikacije sa Mongoose OS:
- Instalirajte mos alat za vaš 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 =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
Nakon uspješnog treptanja, dopustite uređaju da se ponovo 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 ste u mogućnosti pravilno ponoviti prethodne korake, sada ćete imati radni projekt pomoću kojeg možete promatrati temperaturne trendove u vašoj prostoriji ili gdje god planirate postaviti projekt. 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 sam razumio ovu Instrukciju.
Za mene, najbolji dio IoT -a je činjenica da nam omogućuje prikupljanje ogromnih dijelova podataka, neuvjerljivih ako se uzmu sami i pretvaranje u nešto zaključno. Ovo zaista pogađa duh nauke. Za mene je bilo veoma zadovoljavajuće i prosvetljujuće primetiti pad temperature u mojoj sobi tokom kišnih sati kroz moj grafikon.
Losant-temp-sensor-aplikacija optimizirana je za potrošnju energije jer koristi funkciju dubokog sna ESP32, pa je možete koristiti duže vrijeme bez brige o bateriji. Možete dodatno proširiti energetsku efikasnost 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 da vam pruži uvod u svijet IoT -a. Po završetku ovog Instructable -a, dobro ćete se snaći u osnovama 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 kompleksa. Slično, ako dobro razumijete osnove i znate kako ih pravilno primijeniti, omogućit ćete da postavite mnogo načina. Stoga, dajte sebi tapšanje po leđima da napravite prvi korak.
Korak 5: Zasluge i podrška
Ovo uputstvo se sastoji od ilustracija, npr. onaj koji objašnjava MQTT razmjenu, koju sam lično napravio. Te su ilustracije moguće samo zahvaljujući sljedećim besplatnim SVG paketima:
- Infografski vektor kreirao freepik - www.freepik.com
- Infografski vektor kreirao starline - www.freepik.com
- Vektor ljudi koji je stvorio pikisuperstar - www.freepik.com
- Apstraktni vektor kreirao macrovector - www.freepik.com
- Apstraktni vektor kreirao macrovector - www.freepik.com
- Infografski vektor kreirao pikisuperstar - www.freepik.com
Ovaj Instructable sponzorisao 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 pratiti ovdje na Instructables.
Preporučuje se:
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 serverom koji radi
Kućna automatizacija kontrolirana internetom/oblakom pomoću Esp8266 (aREST, MQTT, IoT): 7 koraka (sa slikama)
Internet/cloud kontrola kućne automatizacije pomoću Esp8266 (aREST, MQTT, IoT): SVI krediti http://arest.io/ za uslugu u oblaku !! IoT trenutno najpopularnija tema na svijetu !! Cloud serveri i usluge koji to omogućavaju atrakcija su današnjeg svijeta … ODLAGANJE OGRANIČENJA DALJINA bila je i ostaje
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, prikupljati podatke pomoću svjetske mreže i koristiti API -je za postavljanje slika na Tumblr i Twitter
Recikliranje vašeg starog prekidača za prigušivanje zraka kao varijabilne kontrole temperature vašeg lemilice: 7 koraka
Recikliranje vašeg starog prekidača za prigušivanje zraka kao promenljive kontrole temperature vašeg lemilice: Video sam mnogo profesionalnih kontrola promenljive 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 otpad i neke stare PVC kutije s prekidačima koja je došla s njim i tako