Cuprins:
- Provizii
- Pasul 1: Introducere în MQTT
- Pasul 2: Introducere în platforma IoT
- Pasul 3: Pregătiți editorul MQTT
- Pasul 4: Notă de subsol
- Pasul 5: Credite și asistență
Video: Noțiuni de bază despre IoT: conectarea IoT-ului dvs. la cloud utilizând sistemul de operare Mongoose: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Dacă sunteți o persoană care este îndrăgostită și electronică, cel mai adesea, veți întâlni termenul Internetul obiectelor, de obicei prescurtat ca IoT, și că se referă la un set de dispozitive care se pot conecta la internet! Fiind eu însăși o astfel de persoană, am fost fascinat când am aflat că astfel de dispozitive grozave îmi erau ușor accesibile. Simplul gând de a-mi putea conecta proiectele la internet folosind o mică bucată de hardware și doar de a mă gândi la porțile nenumărate pe care le-ar deschide pentru ideile mele de proiecte m-ar fi făcut să mă pompez.
Dar a spune IoT-ului să se conecteze la internet nu este la fel de simplu ca să îl cumpărați de pe raft și să îl alimentați. Și, în afară de faptul că dispozitivul se conectează la internet, trebuie, de asemenea, să împingem câteva date utile pe internet. Acest Instructable tratează procedura implicată pentru atingerea obiectivului menționat mai sus și este destinat cititorilor de orice nivel de experiență, de la începători la veterani care sunt noi în IoT.
În acest Instructable, ca exemplu, voi demonstra cum să trasați graficul citirilor senzorului de temperatură internă ale plăcii de dezvoltare ESP32, care ar trebui să ofere cititorilor o idee bună despre proces.
Deși acest Instructable utilizează ESP32 și Mongoose OS, totuși procedura poate fi extinsă la toate IoT-urile și firmware-urile existente!
Provizii
Pentru a putea implementa singur acest instructabil, veți avea nevoie doar de o cantitate minimă de hardware și acestea sunt:
- Un Internet of Thing (IoT): am folosit o clonă ieftină pentru placa de dezvoltare ESP32. Dacă intenționați să cumpărați o nouă placă de dezvoltare ESP32, atunci trebuie să verificați placa ESP32 a DFRobot.
- Un cablu de date: utilizați un cablu de care IoT-ul dvs. necesită intermitent etc.
- O baterie (opțional): cumpărați acest lucru numai dacă intenționați să vă alimentați IoT-ul pentru perioade lungi de timp.
- O mini-pană (opțional)
Îi sugerez cititorului să folosească un IoT diferit de ESP32, astfel încât el / ea să poată înțelege cu adevărat ce se face aici, în loc să mă imite pur și simplu. Crede-mă, îți va face plăcere să implementezi acest proces folosindu-ți propria minte în alte IoT, de exemplu, ESP8266 ar fi o alegere bună.
Pasul 1: Introducere în MQTT
Ce este MQTT?
"MQTT este un protocol simplu de mesagerie, conceput pentru dispozitive cu restricții cu lățime de bandă redusă. Deci, este soluția perfectă pentru aplicațiile Internet of Things. MQTT vă permite să trimiteți comenzi pentru a controla ieșirile, a citi și a publica date de la nodurile senzorilor și multe altele. " (De la RandomNerdTutorials)
Cum funcționează MQTT?
Înainte de a merge tehnic, să ne gândim mai întâi la lumea noastră reală. Să presupunem că te interesează o colecție de carduri deținută de prietenul prietenului tău, să zicem, Laurel, pe care personal nu îl cunoști. Deoarece sunteți foarte special în legătură cu acea colecție de carduri, îl veți ruga pe prietenul dvs., să presupunem că Tom, să întrebe dacă Laurel este dispus să o vândă sau nu. În timp ce faceți acest lucru, îl veți ruga pe Tom să cumpere colecția de cărți el însuși dacă Laurel este dispus să vândă, deoarece nu doriți ca o altă persoană să pună mâna pe colecția de care doriți! Pe măsură ce timpul trece, Tom și Laurel interacționează și, de comun acord, Laurel îi dă colecția de cărți lui Tom în schimbul banilor. După acest schimb, Tom păstrează cărțile cu el până când te întâlnește din nou, moment în care îți dă în cele din urmă colecția de cărți. Așa se desfășoară un schimb normal în viața noastră de zi cu zi.
În MQTT, elementele de bază implicate în schimb sunt editorul (Laurel), un abonat (Tu) și brokerul (Tom). Fluxul său de lucru este, de asemenea, similar cu exemplul din lumea reală menționat mai sus, cu excepția unei diferențe uriașe! În MQTT, schimbul este inițiat de broker, adică Laurel ar fi primul care va ajunge la Tom pentru a spune că vrea să-și vândă colecția de carduri. Dacă comparăm funcționarea MQTT cu exemplul nostru din lumea reală, atunci ar fi după cum urmează:
- Laurel îi spune lui Tom că vrea să-și vândă colecția de carduri (date sau sarcină utilă) și îi dă cărțile.
- Tom ia acele cărți în posesia sa și este deschis ofertelor pentru colectarea cărților. Când tu și Tom vă întâlniți și el află că sunteți interesat de carduri (vă abonați la un subiect). Tom îți dă apoi cărțile.
Deoarece întregul proces se bazează pe broker și pe nicio interacțiune directă între abonat și editor, MQTT elimină problemele de sincronizare atât a editorului, cât și a abonatului. Prezența unui broker intermediar este un avantaj pentru dispozitivele cu resurse limitate, cum ar fi IoT-urile și microprocesoarele, deoarece puterea lor de procesare este insuficientă pentru a efectua transferul de date în mod normal, ceea ce ar implica cheltuieli generale suplimentare, cum ar fi autentificarea, criptarea etc. MQTT are o mulțime de alte caracteristici, cum ar fi distribuția ușoară, de la unu la mulți și așa mai departe, care îl fac ideal pentru rețele și clienți constrânși
Pasul 2: Introducere în platforma IoT
Ce este o platformă IoT?
„La un nivel înalt, o platformă Internet of Things (IoT) este software-ul de asistență care conectează hardware-ul de margine, punctele de acces și rețelele de date la alte părți ale lanțului valoric (care sunt în general aplicațiile utilizatorului final). Platformele IoT de obicei gestionează sarcinile de gestionare în curs și vizualizarea datelor, care permit utilizatorilor să-și automatizeze mediul. (De la Link-Labs)
Pe scurt, o platformă IoT acționează ca mijloc între utilizator și agenții de colectare a datelor, care este responsabil pentru reprezentarea datelor colectate.
În acest Instructable, intenționăm să împingem online citirile de temperatură ale ESP32. ESP32-ul nostru va acționa ca editor MQTT, iar brokerul MQTT va fi o platformă IoT la alegere. Rețineți că în proiectul nostru nu există rolul unui abonat MQTT, deoarece datele sunt reprezentate de platformă în sine. Platforma IoT va fi responsabilă pentru stocarea datelor noastre publicate și reprezentarea lor frumoasă, aici, ca un grafic liniar. Voi folosi Losant ca platformă IoT aici, deoarece este gratuit și oferă câteva modalități bune de reprezentare a datelor. Alte exemple de platforme IoT sunt Google Cloud, Amazon AWS și Adafruit, Microsoft Azure etc. Aș dori să sfătuiesc cititorul să se refere la documentația platformei lor IoT alese.
Configurarea Losant:
- Conectați-vă la Losant
- Creați un dispozitiv (tip autonom)
- Adăugați câteva tipuri de date pe dispozitiv1. Nume: temperatură, tip de date: număr2. Nume: offset, Tip de date: Număr3. Nume: unitate, tip de date: șir
- Generați o cheie de acces și notați ID-ul dispozitivului și cheia de acces
- Creați un grafic1. Creați un tablou de bord. Adăugați blocul „Time Series Graph” utilizând variabila de temperatură și dispozitivul creat.
„ID-ul dispozitivului” servește scopului de a acționa ca o amprentă digitală unică pentru un dispozitiv. „Cheile de acces”, așa cum sugerează și numele, permit IoT să publice în Losant sub identitatea dispozitivului.
Pasul 3: Pregătiți editorul MQTT
Acum că am pregătit platforma IoT pentru primirea și reprezentarea datelor, trebuie să pregătim un editor MQTT care să fie responsabil pentru colectarea și trimiterea datelor către platformă.
Schița pregătirii editorului MQTT este după cum urmează:
- Scrieți codul: Pentru a instrui editorul (IoT) cum să colecteze date, să le proceseze și să le trimită platformei IoT. Instrucțiunile sunt scrise în limbaje de programare la nivel înalt, care pot fi citite de om, denumite în mod normal cod.
- Blocați firmware-ul: IoT nu va înțelege cu ușurință aceste instrucțiuni, deoarece nu cunoaște nicio limbă inițial. Pentru a elimina această barieră lingvistică între om și mașină, codul este compilat într-un set brut de instrucțiuni, practic seturi de valori hexazecimale sau binare specifice locațiilor de memorie din interiorul IoT, cunoscut sub numele de firmware care este apoi trimis către IoT.
În acest Instructable, deoarece utilizez ESP32-ul meu la îndemână, voi interveni firmware-ul Mongoose OS, care acceptă programe scrise C și JavaScript. În afară de compatibilitatea JS, sistemul de operare Mongoose are încă multe de oferit, cum ar fi actualizările over-air, pentru modificarea programului dvs. online și un tablou de bord dedicat pentru dispozitive (mDash) etc.
Am dezvoltat o aplicație open-source pentru sistemul de operare Mongoose pentru acest instructabil. Este o aplicație simplă numită losant-temp-sensor, care folosește MQTT pentru a trimite citirile aproximative ale temperaturii ambiante, pe baza citirilor de temperatură internă ale ESP32, către Losant (o platformă IoT gratuită). Este recomandat să parcurgeți codul aplicației pentru o mai bună înțelegere. Vom clipi această aplicație pentru acest instructabil.
Dacă sunteți de genul aventuros, atunci puteți încerca să atingeți același obiectiv cu firmware-ul Arduino-ESP32 care permite utilizarea ESP32 ca Arduino (cu capacitate WiFi).
Un rezumat rapid pentru aplicația intermitentă cu sistemul de operare Mongoose:
- Instalați instrumentul mos pentru sistemul dvs. de operare.
-
Deschideți instrumentul și executați următoarele comenzi:
- clona mos
- cd losant-temp-sensor
- mos build --platform esp32
- mos flash
- mos wifi "wifi wifi ssid" "parola wifi" de ex. mos wifi "Acasă" "acasă @ 123"
-
mos config-set temperature.basis =
temperature.unit ="
"de ex. mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
După ce clipiți cu succes, permiteți dispozitivului să repornească și apoi executați următoarele comenzi:
După ce ați terminat corect acești pași, veți ajunge cu un ESP32 care trimite citirile de temperatură către Losant periodic, după fiecare 10 minute. Publicarea cu succes este indicată de LED-ul albastru, așa cum se arată în videoclipul de mai sus.
Pasul 4: Notă de subsol
Dacă puteți să reproduceți corect pașii anteriori, atunci veți avea un proiect de lucru cu ajutorul căruia puteți observa tendințele de temperatură din camera dvs. sau oriunde intenționați să plasați proiectul. Întrucât am păstrat acest instructabil la fel de general pe cât aș putea să-l fac, prin urmare vă puteți folosi IoT-ul pentru a culege date de tot felul și pentru a încerca să concluzionați ceva util din acesta, sau îl puteți face doar de dragul de a juca dacă Am înțeles corect acest instructabil.
Pentru mine, cea mai bună parte despre IoT este faptul că ne permite să colectăm bucăți uriașe de date, neconcludente dacă sunt luate singure și să le transformăm în ceva concludent. Acest lucru lovește cu adevărat spiritul științei. Pentru mine, a fost foarte satisfăcător și luminant să observ că temperatura scade în camera mea în timpul orelor de ploaie prin graficul meu.
Aplicația pentru senzor de temperatură losant a fost optimizată pentru consumul de energie, deoarece folosește caracteristica de somn profund a ESP32, prin urmare, o puteți utiliza pentru perioade lungi de timp fără a vă face griji cu privire la baterie. Puteți extinde și mai mult eficiența energetică prin îndepărtarea LED-ului de pe placa de dezvoltare. Desenul curent al întregii configurări a fost prezentat mai sus.
Scopul acestui instructabil, chiar de la început a fost doar să vă fac o introducere în lumea IoT. După ce terminați acest Instructable, veți avea o bază bună asupra elementelor de bază pe care le puteți consolida și mai mult prin alte resurse online.
Deși nu veți putea face proiecte complexe în această etapă, totuși ar trebui să aveți întotdeauna în vedere faptul că, dacă aveți o cărămidă suficient de puternică și o modalitate de a le combina împreună, atunci puteți face orice structură imaginabilă, de la simplă la complex. În mod similar, dacă înțelegeți bine elementele de bază și să știți cum să le aplicați corect vă va permite să creați o mulțime de înșelăciuni. Prin urmare, dă-ți o palmă pe spate pentru a face primul pas.
Pasul 5: Credite și asistență
Acest instructabil este format din ilustrații, de ex. cel care explică schimbul MQTT, pe care l-am făcut personal. Aceste ilustrații au fost posibile numai datorită următoarelor pachete SVG gratuite de utilizat:
- Vector infografic creat de freepik - www.freepik.com
- Vector infografic creat de starline - www.freepik.com
- Vector oameni creat de pikisuperstar - www.freepik.com
- Vector abstract creat de macrovector - www.freepik.com
- Vector abstract creat de macrovector - www.freepik.com
- Vector infografic creat de pikisuperstar - www.freepik.com
Acest Instructable a fost sponsorizat de DFRobot. DFRobot are o colecție minunată de electronice, așa că asigurați-vă că o verificați.
Dacă simți că ți-a plăcut acest Instructable și dorești mai multe Instructables ca acesta, atunci mă poți sprijini pe Patreon. Dacă nu poți merge atât de departe, atunci poți să mă urmărești aici pe Instructables.
Recomandat:
Cum se instalează sistemul de operare Raspbian în Raspberry Pi utilizând software-ul și smartphone-ul NOOBS .: 6 pași
Cum se instalează sistemul de operare Raspbian în Raspberry Pi utilizând software-ul și smartphone-ul NOOBS .: Bună tuturor! astăzi în acest tutorial vă arăt cât de ușor instalați Raspbian OS în Raspberry Pi utilizând software-ul NOOBS și Smartphone
Noțiuni introductive despre FRDM-KL46Z (și Mbed Online IDE) utilizând Windows 10: 6 Pași
Noțiuni introductive despre FRDM-KL46Z (și Mbed Online IDE) folosind Windows 10: Plăcile de dezvoltare Freedom (FRDM) sunt platforme de dezvoltare mici, cu consum redus, eficiente din punct de vedere al costurilor, perfecte pentru prototiparea rapidă a aplicațiilor. Aceste plăci de evaluare oferă un programator flash cu modul de stocare în masă ușor de utilizat, o virtute
Noțiuni de bază despre interfața Arduino TFT: 10 pași (cu imagini)
Arduino TFT Interfacing Basics: Ecranele tactile TFT sunt interfața grafică uimitoare care poate fi utilizată cu microcontrolere precum Atmel, PIC, STM, deoarece are o gamă largă de culori, o capacitate grafică bună și o bună mapare a pixelilor. la interfață TFT de 2,4 inci
Noțiuni de bază despre Arduino Esplora: 4 pași
Noțiuni de bază despre Arduino Esplora: Oh! Nu te-am văzut acolo! Trebuie să doriți să învățați elementele de bază ale tabloului Esplora. Ei bine, intră, intră. Acest tutorial te va învăța despre câteva trucuri îngrijite pe care le poți face cu Esplora ta
Buton ușă virtuală folosind sistemul de operare Mongoose și XinaBox: 10 pași
Buton de ușă virtuală folosind sistemul de operare Mongoose și XinaBox: Folosind Mongoose și unele xChips, am creat un buton de ușă virtuală. În loc de un buton fizic în care să atragă personalul, acum îl pot face singuri