
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04


Noțiuni de bază despre MQTT:
** Voi face o serie de automatizare la domiciliu, voi parcurge pașii pe care i-am făcut pentru a afla tot ce am făcut în viitor. Acest instructabil este linia de bază cu privire la modul de configurare a MQTT pentru utilizare în viitoarele mele instructabile. Cu toate acestea, învățăturile din acest conținut vor fi aplicabile oricărui proiect pe care ar dori să îl asume. **
Internetul Lucrurilor:
Internetul obiectelor stăpânește lumea și mai ales în comunități ca a noastră aici, la Instructables. De când m-am alăturat acestei comunități, ea a fost înrădăcinată în construirea oamenilor
Dispozitive conectate și controlate prin internet. Când lucrați cu Internetul obiectelor, este greu să nu intrați în protocolul MQTT. Acesta este un protocol de comunicații ca altele utilizate în prezent pe internet, cum ar fi HTTP sau FTP, totuși modul în care funcționează este diferit, ceea ce îl face ideal pentru aplicațiile Internet of Things.
Ce este MQTT:
MQTT (Message Queuing Telemetry Transport este un protocol de comunicație ușor care utilizează o arhitectură de publicare / abonare. HTTP, care este cea mai mare parte a internetului, este construit pe un sistem de solicitare / răspuns. Aceasta înseamnă că primește o cerere de la un client și trimite un răspuns la acel client. MQTT are, de asemenea, un server (numit broker), precum și mulți clienți. Spre deosebire de HTTP, MQTT permite clienților să publice sau să se aboneze la „subiecte” specifice. Ceea ce permite acest lucru este o comunicare mai largă prin un punct centralizat, brokerul. Fiecare nod poate publica pe un subiect al brokerului și orice nod abonat la acel subiect va primi mesajul. Clienții se pot abona și la mai multe subiecte și pot primi mai multe directive sau actualizări.
Întregul sistem este bazat pe evenimente și permite transmiterea mesajelor de la broker către fiecare client abonat. Deci, mai degrabă decât HTTP, unde clientul solicită informații, clientul este împins informațiile direct de la broker la primire. Există și servicii încorporate care permit diverse garanții, cum ar fi specificațiile QOS. O specificație QOS permite unui broker să stabilească dacă un mesaj trebuie sau nu să fie livrat cel mult o dată, cel puțin o dată sau exact o dată. Acest lucru asigură faptul că datele sunt livrate în mod necesar fiecărui client. Clienții pot solicita, de asemenea, ca mesajele publicate către subiectul lor să fie stocate în broker în cazul în care sunt deconectate de la acesta din orice motiv. Odată ce revin online, aceste date vor fi trimise către client.
Un subiect nu este nimic special, este doar o varietate de șiruri care sunt combinate și separate prin bare. Formatul din exemplul care va fi folosit mai jos este următorul: acasă / dormitor / tavan_light. Fiecare bară este plasată după un subiect pentru a semnifica un subtopic. Deci, un mesaj ar putea fi publicat acasă, unde toate dispozitivele din casă îl vor primi. Ar putea fi publicat direct în casă / dormitor, unde toate dispozitivele din dormitor vor primi mesajul. Și poate coborî la dispozitivul specific așa cum este afișat mai întâi acasă / dormitor / tavan_light, unde numai lampa de tavan din dormitor va primi mesajul. Modul în care putem abstractiza astfel de dispozitive individuale până într-un întreg ecosistem este extrem de util, mai ales când vine vorba de Home Automation. Există alte modalități de a descompune subiectele și voi analiza mai departe în viitoarele Instrucțiuni unde aplicația are cel mai mult sens.
Provizii
Este necesară doar una dintre următoarele:
Ubuntu:
Subsistemul Windows pentru Linux: https://ubuntu.com/wsl (Numai dacă nu aveți Linux / MacOS)
MacOS: necesită un MacBook
Acest lucru este necesar:
Mosquitto MQTT Broker - Descărcat folosind apt-get (Documentație:
Pasul 1: Configurare inițială (în funcție de sistemul dvs. de operare)
MacOS / Linux:
Nu este necesară configurarea, doar deschideți terminalul și treceți la Configurarea Mosquitto!
Windows:
Dacă sunteți pe Windows, va trebui să instalați subsistemul Windows pentru Linux. Acesta este un instrument extrem de ușor de utilizat și extrem de valoros, care vă permite să rulați un terminal Ubuntu în Windows. Nu este nevoie să instalați și să încărcați dual Ubuntu doar pentru a testa dezvoltarea în terminal!
Pași de instalare:
1. Accesați Magazinul Windows și căutați ubuntu
2. Descărcați și instalați subsistemul Windows pentru Linux
3. Deschideți aplicația și urmați instrucțiunile pentru a finaliza configurarea și sunteți gata să continuați!
Pasul 2: Configurare Mosquitto:



Deci, așa cum sa discutat în introducerea despre MQTT, protocolul necesită un broker (server). Acest broker este punctul de bază pentru toate conexiunile stabilite cu fiecare client. Toate mesajele sunt transmise și puse în coadă în acest broker. Există multe opțiuni pentru a alege pentru un broker și le puteți găsi online, dar cea pe care o vom folosi este probabil cea mai comună: Mosquitto.
Mosquitto este un broker MQTT bazat pe Linux, cu o mulțime de funcționalități. Nu voi intra în specificul acelei funcționalități chiar acum, dar câteva cerințe de bază pe care le îndeplinește sunt autentificarea utilizator / parolă și criptarea TLS, toate acestea fiind utile în dezvoltarea dispozitivelor Internet of Things.
Pași:
Toți acești pași ar trebui să fie finalizați într-o fereastră a terminalului.
1. Instalați clienții Mosquitto și MQTT
sudo apt-get install mosquitto mosquitto-clients
2. Abonați-vă la un subiect
mosquitto_sub -t "test"
Ceea ce face este să se aboneze la un subiect. Acest subiect este notat cu „-t”, iar valoarea subiectului este „test”. Această valoare care urmează „-t” poate fi orice doriți să salvați pentru câteva rezervări speciale.
3. Deschideți o fereastră nouă de terminal și publicați un mesaj la subiectul „test”
mosquitto_pub -t "test" -m "Hello World with MQTT!"
Aceasta publică un mesaj către subiectul „test”, permițând celeilalte instanțe de terminal să primească mesajul din partea abonamentului. Mesajul publicat este notat cu un „-m”, iar valoarea mesajului este „Hello World With MQTT”. Acest mesaj, la fel ca subiectul, poate fi schimbat cu orice doriți!
4. Mergeți la prima fereastră a terminalului pentru a vedea rezultatele! Ar trebui să primiți un mesaj care să afișeze „Hello World With MQTT”. Dacă nu vedeți acest lucru, asigurați-vă că ați introdus subiectul potrivit. Dacă ați finalizat cu succes acest lucru, continuați să jucați cu el. Încercați diferite subiecte, cu subteme și mesaje diferite!
Pasul 3: încheie
Asta e! Odată ce ați terminat totul, înțelegeți noțiunile de bază despre modul în care funcționează MQTT. Acesta este un tutorial foarte rudimentar care arată doar minimul protocolului MQTT. Viitoarele instructabile vor parcurge mai în profunzime modul în care funcționează protocolul în practică cu Internetul obiectelor, în special cu modulele ESP8266 care rulează Arduino. Prima mea aplicație practică va fi aparatul de cafea inteligent pe care îl am în prezent în camera mea. Dacă doriți să aflați cum să creați o cafetieră care poate fi controlată atât de pe telefonul dvs., cât și de pe Alexa, asigurați-vă că mă urmați pentru mai multe tutoriale.
Recomandat:
Robot Arduino fără fir folosind modulul HC12 fără fir: 7 pași

Robot wireless Arduino folosind modulul HC12 fără fir: Hei băieți, bine ați revenit. În postarea mea anterioară, am explicat ce este un circuit H Bridge, circuitul de conducător auto L293D IC, piggybacking L293D driverul IC pentru conducerea driverelor de curent mare și modul în care puteți proiecta și crea propriul dvs. driver de motor L293D
Microfon fără fir DIY la sistem de chitară fără fir: 4 pași

Sistem de microfon fără fir DIY la sistem de chitară fără fir: Am urmărit câteva videoclipuri și câteva trupe și aproape dintre ele folosesc un sistem wireless pe chitară. Înnebunind, mișcându-se, mergând și fac tot ce vor fără cablu, așa că visez să am unul .. Dar … pentru mine acum este prea scump, așa că am ajuns la asta
Noțiunile de bază ale unui site web bazat pe div: 7 pași

Noțiunile de bază ale unui site web bazat pe div: acest instructiv vă va arăta elementele de bază ale modului de a construi un site web cu divs. Deoarece tabelele utilizate pentru aspect sunt rele!: PPentru a înțelege acest lucru instructiv, va trebui să cunoașteți html și css de bază. Dacă nu înțelegeți ceva, nu ezitați să
Răcitor / suport pentru laptop cu cost zero (fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): 3 pași

Zero Cost Laptop Cooler / Stand (Fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): ACTUALIZARE: VĂ RUGĂM VOTĂ PENTRU MEA MEA MEA INTRAREA PE www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ SAU POATE VOTA PENTRU CEL MAI BUN PRIETEN AL MEU
Hack un clopoțel fără fir într-un comutator de alarmă fără fir sau întrerupător de pornire / oprire: 4 pași

Spargerea unui clopoțel wireless într-un comutator de alarmă fără fir sau întrerupător de pornire / oprire: recent am construit un sistem de alarmă și l-am instalat în casa mea. Am folosit întrerupătoare magnetice la ușă și le-am conectat prin pod la ferestre. Ferestrele erau o altă poveste, iar cablarea dură a acestora nu era o opțiune. Aveam nevoie de o soluție wireless și asta este