Sadržaj:

Bežična komunikacija SmartHome: ekstremne osnove MQTT -a: 3 koraka
Bežična komunikacija SmartHome: ekstremne osnove MQTT -a: 3 koraka

Video: Bežična komunikacija SmartHome: ekstremne osnove MQTT -a: 3 koraka

Video: Bežična komunikacija SmartHome: ekstremne osnove MQTT -a: 3 koraka
Video: Бездротові крани для системи антипотому AJAX м. Дніпро 2024, Juli
Anonim
Bežična komunikacija SmartHome: ekstremne osnove MQTT -a
Bežična komunikacija SmartHome: ekstremne osnove MQTT -a
Bežična komunikacija SmartHome: ekstremne osnove MQTT -a
Bežična komunikacija SmartHome: ekstremne osnove MQTT -a

Osnove MQTT -a:

** Radit ću seriju kućne automatizacije, proći ću korake koje sam poduzeo kako bih naučio sve što sam radio u budućnosti. Ovaj Instructable je osnova za postavljanje MQTT -a za upotrebu u mojim budućim Instructables -ima. Međutim, učenja u ovom sadržaju bit će primjenjiva na bilo koji projekt koji biste htjeli preuzeti. **

Internet stvari:

Internet stvari preuzima svijet, a posebno u zajednicama poput naše ovdje na Instructables. Otkad sam se pridružio ovoj zajednici, ukorijenila se u izgradnji ljudi

Uređaji povezani na internet i kontrolirani preko njih. Prilikom rada s internetom stvari teško je ne doći do protokola MQTT. Ovo je komunikacijski protokol poput drugih koji se danas koriste na Internetu, poput HTTP -a ili FTP -a, međutim način rada je drugačiji što ga čini idealnim za aplikacije Internet of Things.

Šta je MQTT:

MQTT (Telemetrijski transport u redu za poruke je lagani komunikacijski protokol koji koristi arhitekturu objavljivanja/pretplate. HTTP, koji većina interneta koristi, izgrađen je na sistemu zahtjeva/odgovora. To znači da prima zahtjev od klijenta i šalje odgovor na tog klijenta. MQTT također ima server (koji se naziva posrednik), kao i mnoge klijente. Za razliku od HTTP -a, MQTT omogućava klijentima da objavljuju ili se pretplate na određene "teme". Ono što to omogućava je šira komunikacija putem centralizirana tačka, posrednik. Svaki čvor može objaviti temu na brokeru, a svaki čvor koji je pretplaćen na tu temu primit će poruku. Klijenti se mogu pretplatiti i na više tema, a zatim mogu primiti više direktiva ili ažuriranja.

Cijeli sistem je vođen događajima i omogućava da se poruke posrednika šalju svakom pretplaćenom klijentu. Dakle, umjesto HTTP -a, gdje klijent traži informacije, klijent gura informacije direktno od brokera po prijemu. Postoje i ugrađene usluge koje dopuštaju različite mjere zaštite, poput QOS specifikacija. QOS specifikacija omogućuje brokeru da odredi treba li poruku dostaviti najviše jednom, barem jednom ili točno jednom. Ovo osigurava da se podaci isporučuju na potreban način svakom klijentu. Klijenti također mogu zahtijevati da se objavljene poruke na njihovu temu memoriraju u posredniku u slučaju da su iz bilo kojeg razloga isključeni s njega. Nakon što se vrate na mrežu, ti će se podaci proslijediti klijentu.

Tema nije ništa posebno, to su samo različiti nizovi koji su kombinirani i odvojeni kosim crtama. Format u primjeru koji će se koristiti u nastavku je sljedeći: dom/spavaća soba/stropno svjetlo. Svaka kosa crta postavlja se iza teme kako bi označila podtemu. Tako bi se poruka mogla objaviti kući, gdje će je primiti svi uređaji u kući. Može se objaviti direktno u kući/spavaćoj sobi, gdje će svi uređaji u spavaćoj sobi primiti poruku. I može se spustiti na određeni uređaj kao što je prvo prikazano svjetlo za dom/spavaću sobu/plafon_svjetlo gdje će samo stropno svjetlo u spavaćoj sobi primiti poruku. Način na koji možemo apstrahirati ovakve pojedinačne uređaje sve do čitavog ekosustava izuzetno je zgodan, posebno kada je u pitanju kućna automatizacija. Postoje daljnji načini za razbijanje tema, a ja ću ih dalje razmatrati u budućim Instructables gdje aplikacija ima najviše smisla.

Supplies

Potrebno je samo jedno od sljedećeg:

Ubuntu:

Windows podsustav za Linux: https://ubuntu.com/wsl (samo ako nemate Linux/MacOS)

MacOS: Potreban je MacBook

Ovo je potrebno:

Mosquitto MQTT posrednik - preuzeto pomoću apt -get (Dokumentacija:

Korak 1: Početno postavljanje (ovisno o vašem OS -u)

MacOS/Linux:

Nije potrebno postavljanje, samo otvorite terminal i prijeđite na Mosquitto Setup!

Windows:

Ako koristite Windows, morat ćete instalirati Windows podsistem za Linux. Ovo je super jednostavan za korištenje i izuzetno vrijedan alat koji vam omogućuje pokretanje Ubuntu terminala u sustavu Windows. Nema potrebe za instaliranjem i dvostrukim pokretanjem Ubuntu -a samo radi testiranja razvoja u terminalu!

Koraci instalacije:

1. Idite u Windows Store i potražite ubuntu

2. Preuzmite i instalirajte Windows podsistem za Linux

3. Otvorite aplikaciju i slijedite upute za dovršetak postavljanja i spremni ste za nastavak!

Korak 2: Postavljanje komaraca:

Postavljanje komaraca
Postavljanje komaraca
Postavljanje komaraca
Postavljanje komaraca
Postavljanje komaraca
Postavljanje komaraca

Kao što je rečeno u uvodu o MQTT -u, protokol zahtijeva posrednika (server). Ovaj posrednik je baza za sve uspostavljene veze sa svakim klijentom. Sve poruke se prosljeđuju i čekaju u redu u ovom brokeru. Za brokera možete izabrati mnogo opcija, a možete ih pronaći na internetu, ali ona koju ćemo koristiti vjerojatno je najčešća: Mosquitto.

Mosquitto je MQTT posrednik baziran na Linuxu sa mnoštvom funkcionalnosti. Neću sada ulaziti u specifičnosti te funkcionalnosti, ali nekoliko osnovnih zahtjeva koje ispunjava su autentifikacija korisnika/lozinke i TLS šifriranje koje su sve korisne u razvoju uređaja Internet of Things.

Koraci:

Sve ove korake treba dovršiti u prozoru terminala.

1. Instalirajte Mosquitto i MQTT klijente

sudo apt-get install mosquitto mosquitto-clients

2. Pretplatite se na temu

mosquitto_sub -t "test"

Ovo čini pretplatu na temu. Ova tema je označena sa "-t", a vrijednost teme je "test". Ova vrijednost nakon "-t" može biti sve što želite, osim za nekoliko posebnih rezervacija.

3. Otvorite novi prozor terminala i objavite poruku na temu "test"

mosquitto_pub -t "test" -m "Hello World with MQTT!"

Ovo objavljuje poruku na temu "test", dopuštajući našoj drugoj instanci terminala da primi poruku na strani pretplate. Objavljena poruka označena je sa "-m", a vrijednost poruke je "Hello World With MQTT". Ova poruka, baš kao i tema, može se promijeniti u što god želite!

4. Idite na prvi prozor terminala da vidite svoje rezultate! Trebali biste primiti poruku s porukom "Hello World With MQTT". Ako ne vidite ovo, provjerite jeste li unijeli pravu temu. Ako ste ovo uspješno završili, nastavite se igrati s njom. Isprobajte različite teme, s podtemama i različitim porukama!

Korak 3: Završite

To je to! Nakon što sve završite, razumijete osnove rada MQTT -a. Ovo je vrlo rudimentarni vodič koji samo prikazuje najmanji minimum MQTT protokola. Budući instruktori će detaljnije proučiti kako protokol funkcionira u praksi s internetom stvari, posebno s modulima ESP8266 koji pokreću Arduino. Moja prva praktična primjena bit će pametni aparat za kavu koji trenutno imam u svojoj sobi. Ako želite naučiti kako napraviti aparat za kavu kojim se može upravljati i s vašeg telefona i s Alexa, slijedite me za dodatne upute.

Preporučuje se: