Cuprins:

Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT: 3 pași
Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT: 3 pași

Video: Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT: 3 pași

Video: Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT: 3 pași
Video: Ce tipuri de cleme folosim intr-un tablou de automatizare - SMART HOME SYSTEMS 2024, Iunie
Anonim
Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT
Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT
Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT
Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT

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:

Configurare Mosquitto
Configurare Mosquitto
Configurare Mosquitto
Configurare Mosquitto
Configurare Mosquitto
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: