Sadržaj:
- Pribor
- Korak 1: Početno postavljanje (ovisno o vašem OS -u)
- Korak 2: Postavljanje komaraca:
- Korak 3: Završite
Video: Bežična komunikacija SmartHome: ekstremne osnove MQTT -a: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
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:
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:
LoRa bežična komunikacija od 3 do 8 km s niskim troškovima E32 (sx1278/sx1276) uređaj za Arduino, Esp8266 ili Esp32: 15 koraka
LoRa bežična komunikacija od 3 km do 8 km s niskim troškovima E32 (sx1278/sx1276) Uređaj za Arduino, Esp8266 ili Esp32: Stvaram knjižnicu za upravljanje EBYTE E32 na temelju Semtech serije LoRa uređaja, vrlo snažan, jednostavan i jeftin uređaj. Možete pronaći Ovdje je verzija od 3 km, verzija od 8 kilometara Ovdje mogu raditi na udaljenostima od 3000 do 8000 metara, a imaju mnogo mogućnosti i
Bežična šifrirana komunikacija Arduino: 5 koraka
Bežična šifrirana komunikacija Arduino: Pozdrav svima, U ovom drugom članku objasnit ću vam kako koristiti čip Atecc608a za zaštitu svoje bežične komunikacije. Za to ću koristiti NRF24L01+ za bežični dio i Arduino UNO. Mikro čip ATECC608A dizajnirao je
Daleki domet, 1,8 km, bežična komunikacija Arduino do Arduino s HC-12 .: 6 koraka (sa slikama)
Bežična komunikacija na daljinu, 1,8 km, bežična komunikacija između Arduina i Arduina s HC-12 .: U ovom uputstvu naučit ćete kako komunicirati između Arduinosa na velike udaljenosti do 1,8 km na otvorenom. HC-12 je bežični serijski priključak komunikacijski modul koji je vrlo koristan, izuzetno moćan i jednostavan za korištenje. Prvo ćete napustiti
Bežična komunikacija pomoću modula primopredajnika NRF24L01 za projekte temeljene na Arduinu: 5 koraka (sa slikama)
Bežična komunikacija pomoću NRF24L01 primopredajničkog modula za Arduino temeljene projekte: Ovo je moj drugi vodič za robote i mikrokontrolere. Zaista je nevjerojatno vidjeti svog robota živog i kako radi kako se očekuje i vjerujte da će biti zabavnije ako upravljate svojim robotom ili drugim bežičnim stvarima brzo i
Bežična komunikacija pomoću jeftinih RF modula od 433MHz i mikrokontrolera Pic. 2. dio: 4 koraka (sa slikama)
Bežična komunikacija pomoću jeftinih RF modula od 433MHz i Pic mikrokontrolera. Drugi dio: U prvom dijelu ovog uputstva pokazao sam kako programirati PIC12F1822 koristeći MPLAB IDE i XC8 kompajler, za slanje jednostavnog niza bežično pomoću jeftinih TX/RX 433MHz modula. Prijemnički modul je spojen preko USB -a na UART TTL kabelski oglas