Kazalo:

Brezžična komunikacija SmartHome: skrajne osnove MQTT: 3 koraki
Brezžična komunikacija SmartHome: skrajne osnove MQTT: 3 koraki

Video: Brezžična komunikacija SmartHome: skrajne osnove MQTT: 3 koraki

Video: Brezžična komunikacija SmartHome: skrajne osnove MQTT: 3 koraki
Video: Бездротові крани для системи антипотому AJAX м. Дніпро 2024, Julij
Anonim
Brezžična komunikacija SmartHome: skrajne osnove MQTT
Brezžična komunikacija SmartHome: skrajne osnove MQTT
Brezžična komunikacija SmartHome: skrajne osnove MQTT
Brezžična komunikacija SmartHome: skrajne osnove MQTT

Osnove MQTT:

** Delal bom serijo Home Automation, šel bom skozi korake, ki sem jih naredil, da bi se naučil vsega, kar sem naredil v prihodnosti. Ta Instructable je osnova za nastavitev MQTT za uporabo v mojih prihodnjih Instructables. Vendar bodo nauki v tej vsebini uporabni za vsak projekt, ki bi ga radi prevzeli. **

Internet stvari:

Internet stvari prevzema svet, še posebej v skupnostih, kot je naša, tukaj na Instructables. Odkar sem se pridružil tej skupnosti, je utrjena z gradnjo ljudi

Naprave, povezane z internetom in jih upravljate. Pri delu z internetom stvari je težko ne upoštevati protokola MQTT. To je komunikacijski protokol, podoben drugim, ki se danes uporabljajo po internetu, na primer HTTP ali FTP, vendar je njegov način delovanja drugačen, zaradi česar je idealen za aplikacije Internet of Things.

Kaj je MQTT:

MQTT (Telemetrijski transport v vrsti sporočil je lahek komunikacijski protokol, ki uporablja arhitekturo za objavo/naročnino. HTTP, ki ga večina interneta uporablja, je zgrajen na sistemu za zahteve/odzive. To pomeni, da prejme zahtevo od odjemalca in pošlje odgovor na to stranko. MQTT ima tudi strežnik (imenovan posrednik) in številne odjemalce. V nasprotju s protokolom HTTP MQTT strankam omogoča objavo ali naročanje na določene »teme«. To omogoča širša komunikacija prek centralizirana točka, posrednik. Vsako vozlišče lahko objavi temo pri posredniku in vsako vozlišče, ki je naročeno na to temo, bo prejelo sporočilo. Stranke se lahko naročijo tudi na več tem, nato pa lahko prejmejo več direktiv ali posodobitev.

Celoten sistem temelji na dogodkih in omogoča pošiljanje sporočil posrednika vsakemu naročenemu odjemalcu. Namesto protokola HTTP, kjer odjemalec zahteva informacije, ga po prejemu potisne neposredno od posrednika. Vgrajene so tudi storitve, ki omogočajo različne zaščitne ukrepe, na primer specifikacije QOS. Specifikacija QOS posredniku omogoča, da ugotovi, ali je treba sporočilo dostaviti največ enkrat, vsaj enkrat ali natančno enkrat. To zagotavlja, da so podatki na zahtevan način dostavljeni vsaki stranki. Stranke lahko zahtevajo tudi, da se objavljena sporočila na njihovo temo shranijo v posrednika, če so iz kakršnega koli razloga odklopljene od nje. Ko bodo spet na spletu, bodo ti podatki posredovani odjemalcu.

Tema ni nič posebnega, so samo različni nizi, ki so združeni in ločeni s poševnicami. Oblika v spodnjem primeru bo naslednja: dom/spalnica/stropna svetilka. Vsaka poševnica je postavljena za temo, da označi podtemo. Tako bi lahko sporočilo objavili na domu, kjer ga bodo prejele vse naprave v hiši. Lahko bi ga objavili neposredno v domu/spalnici, kjer bodo vse naprave v spalnici prejele sporočilo. Lahko pa se spusti na določeno napravo, kot je bila prvič prikazana dom/spalnica/stropna svetilka, kjer bo sporočilo prejelo le stropno svetilko v spalnici. Način, kako lahko odvzamemo posamezne naprave, kot je ta, vse do celotnega ekosistema, je izredno priročen, zlasti ko gre za avtomatizacijo doma. Obstajajo še drugi načini za razčlenitev tem, o katerih se bom podrobneje pogovoril v prihodnjih navodilih, kjer je aplikacija najbolj smiselna.

Zaloge

Potrebujete le eno od naslednjega:

Ubuntu:

Podsistem Windows za Linux: https://ubuntu.com/wsl (samo, če nimate Linuxa/MacOS -a)

MacOS: potrebuje MacBook

To je potrebno:

Mosquitto MQTT posrednik - preneseno z apt -get (dokumentacija:

1. korak: Začetna nastavitev (odvisno od operacijskega sistema)

MacOS/Linux:

Namestitev ni potrebna, samo odprite svoj terminal in pojdite na Mosquitto Setup!

Windows:

Če uporabljate Windows, boste morali namestiti podsistem Windows za Linux. To je zelo preprosto in zelo dragoceno orodje, ki vam omogoča zagon terminala Ubuntu v sistemu Windows. Ni potrebe po namestitvi in dvojnem zagonu Ubuntuja samo za preizkus razvoja v terminalu!

Koraki namestitve:

1. Pojdite v trgovino Windows in poiščite ubuntu

2. Prenesite in namestite podsistem Windows za Linux

3. Odprite aplikacijo in sledite navodilom za dokončanje nastavitve in pripravljeni ste nadaljevati!

2. korak: nastavitev komarja:

Nastavitev komarja
Nastavitev komarja
Nastavitev komarja
Nastavitev komarja
Nastavitev komarja
Nastavitev komarja

Torej, kot je opisano v uvodu o MQTT, protokol zahteva posrednika (strežnik). Ta posrednik je osnova za vse vzpostavljene povezave z vsako stranko. Vsa sporočila se posredujejo in čakajo v vrsti v tem posredniku. Za posrednika lahko izbirate med številnimi možnostmi in te lahko najdete na spletu, toda tista, ki jo bomo uporabljali, je verjetno najpogostejša: Mosquitto.

Mosquitto je posrednik MQTT na Linuxu s številnimi funkcijami. Ne bom se spuščal v podrobnosti te funkcionalnosti, vendar nekaj osnovnih zahtev, ki jih izpolnjuje, sta preverjanje pristnosti uporabnika/gesla in šifriranje TLS, kar je vse uporabno pri razvoju naprav Internet stvari.

Koraki:

Vse te korake je treba dokončati v oknu terminala.

1. Namestite odjemalce Mosquitto in MQTT

sudo apt-get namestite odjemalce komarjev proti komarjem

2. Naročite se na temo

mosquitto_sub -t "test"

To naredi tako, da se naroči na temo. Ta tema je označena z "-t", vrednost teme pa je "test". Ta vrednost, ki sledi "-t", je lahko karkoli želite, razen za nekaj posebnih rezervacij.

3. Odprite novo terminalsko okno in objavite sporočilo na temo "test"

mosquitto_pub -t "test" -m "Pozdravljeni svet z MQTT!"

Ta objavi sporočilo na temo "test", ki našemu drugemu terminalnemu primerku omogoča, da prejme sporočilo na strani naročnine. Objavljeno sporočilo je označeno z "-m", vrednost sporočila pa je "Hello World With MQTT". To sporočilo, tako kot temo, lahko spremenite v karkoli želite!

4. Pojdite v prvo okno terminala in si oglejte svoje rezultate! Prejeti bi morali sporočilo z napisom "Hello World With MQTT". Če tega ne vidite, preverite, ali ste vnesli pravo temo. Če ste to uspešno zaključili, se še naprej igrajte z njo. Preizkusite različne teme s podtemami in različnimi sporočili!

3. korak: Zaključite

To je to! Ko končate, razumete osnove delovanja MQTT. To je zelo osnovna vadnica, ki prikazuje le najmanjši minimum protokola MQTT. Prihodnji Instructables bodo podrobneje preučili, kako protokol v praksi deluje z internetom stvari, zlasti z moduli ESP8266 z Arduinom. Moja prva praktična uporaba bo pametni aparat za kavo, ki ga imam trenutno v svoji sobi. Če bi se radi naučili, kako narediti aparat za kavo, ki ga lahko upravljate tako iz telefona kot iz Alexa, me spremljajte za več vaj.

Priporočena: