Sadržaj:
- Supplies
- 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 izmjena: 2024-01-30 08:04
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:
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:
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 do 8 km s niskim troškovima E32 (sx1278/sx1276) Uređaj za Arduino, Esp8266 ili Esp32: Stvaram biblioteku 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 funkcija i
Bežična šifrirana komunikacija Arduino: 5 koraka
Bežična šifrirana komunikacija Arduino: Pozdrav svima, U ovom drugom članku ću vam objasniti kako koristiti čip Atecc608a za zaštitu vaše 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 velike udaljenosti, 1,8 km, bežična komunikacija Arduino-Arduino 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 port 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 zasnovane 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 mi da će biti zabavnije ako upravljate svojim robotom ili drugim bežičnim stvarima brzim i
Bežična komunikacija pomoću jeftinih RF modula od 433MHz i Pic mikrokontrolera. Dio 2: 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 povezan preko USB -a na UART TTL kablovski oglas