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, Srpanj
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 Home Automation, proći ću korake koje sam poduzeo kako bih naučio sve što sam radio u budućnosti. Ovaj Instructable temelj je o tome kako postaviti MQTT za upotrebu u mojim budućim Instructables. Međutim, pouke u ovom sadržaju bit će primjenjive na svaki projekt koji želite 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 s internetom i upravljani njima. 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, no način rada je drugačiji što ga čini idealnim za aplikacije Internet of Things.

Što je MQTT:

MQTT (Telemetrijski transport u redu poruka) lagani je komunikacijski protokol koji koristi arhitekturu objavljivanja/pretplate. HTTP, koji većina interneta koristi, izgrađen je na sustavu zahtjeva/odgovora. To znači da prima zahtjev od klijenta i šalje odgovor na tog klijenta. MQTT također ima poslužitelj (koji se naziva posrednik) kao i mnoge klijente. Za razliku od HTTP -a, MQTT omogućuje klijentima objavljivanje ili pretplatu na određene "teme". Ono što to omogućuje je šira komunikacija putem centralizirana točka, posrednik. Svaki čvor može objaviti temu na brokeru, a bilo koji čvor 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 sustav je vođen događajima i omogućuje slanje poruka posrednika svakom pretplaćenom klijentu. Dakle, umjesto HTTP -a, gdje klijent traži informacije, klijent prima informacije izravno od brokera po primitku. Postoje i ugrađene usluge koje dopuštaju različite 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. To osigurava da se podaci isporučuju na potreban način svakom klijentu. Klijenti također mogu zahtijevati da se objavljene poruke na njihovu temu spreme u međuspremnik u slučaju da su iz bilo kojeg razloga prekinute vezu s njom. 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 se kombiniraju i odvajaju kosim crtama. Format u primjeru koji će se koristiti u nastavku je sljedeći: dom/spavaća soba/stropno svjetlo. Svaka kosa crta stavlja 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 izravno 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 prvi put prikazan dom/spavaća soba/stropno svjetlo gdje će poruku primati samo stropno svjetlo u spavaćoj sobi. Način na koji možemo apstrahirati ovakve pojedinačne uređaje sve do čitavog ekosustava iznimno je zgodan, osobito kada je u pitanju kućna automatizacija. Postoje daljnji načini razbijanja tema, a ja ću ih dalje razmatrati u budućim Instructables gdje aplikacija ima najviše smisla.

Pribor

Potrebno je samo jedno od sljedećeg:

Ubuntu:

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

MacOS: Zahtijeva 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 podsustav za Linux. Ovo je super jednostavan za korištenje i iznimno vrijedan alat koji vam omogućuje pokretanje Ubuntu terminala u sustavu Windows. Nema potrebe za instaliranjem i dual boot Ubuntuom samo za testiranje razvoja u terminalu!

Koraci instalacije:

1. Idite u Windows Store i potražite ubuntu

2. Preuzmite i instalirajte Windows podsustav 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

Dakle, kako je raspravljano u uvodu o MQTT -u, protokol zahtijeva posrednika (poslužitelj). Ovaj posrednik je temeljna točka za sve uspostavljene veze sa svakim klijentom. Sve se poruke prosljeđuju i čekaju u redu u ovom brokeru. Za brokera možete izabrati mnogo mogućnosti, a možete ih pronaći na internetu, ali ona koju ćemo koristiti vjerojatno je najčešća: Mosquitto.

Mosquitto je MQTT posrednik temeljen na Linuxu s mnoštvom funkcionalnosti. Neću sada ulaziti u pojedinosti te funkcionalnosti, ali nekoliko osnovnih zahtjeva koje ispunjava su autentifikacija korisnika/lozinke i TLS šifriranje podržavaju sve što je korisno 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"

Time se pretplaćuje 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 temi "test"

mosquitto_pub -t "test" -m "Pozdrav Svijet s MQTT -om!"

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 s "-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 ovo ne vidite, provjerite jeste li unijeli pravu temu. Ako ste ovo uspješno dovrš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 pokazuje minimalni protokol MQTT. Budući instruktori će detaljnije proučiti kako protokol funkcionira u praksi s internetom stvari, osobito 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, svakako me slijedite za dodatne upute.

Preporučeni: