Sisukord:

SmartHome'i traadita side: MQTT äärmuslikud põhitõed: 3 sammu
SmartHome'i traadita side: MQTT äärmuslikud põhitõed: 3 sammu

Video: SmartHome'i traadita side: MQTT äärmuslikud põhitõed: 3 sammu

Video: SmartHome'i traadita side: MQTT äärmuslikud põhitõed: 3 sammu
Video: Aqara E1 zigbee - умный выключатель для круглого подрозетника, интеграция в Home Assistant 2024, November
Anonim
SmartHome'i traadita side: MQTT äärmuslikud põhitõed
SmartHome'i traadita side: MQTT äärmuslikud põhitõed
SmartHome'i traadita side: MQTT äärmuslikud põhitõed
SmartHome'i traadita side: MQTT äärmuslikud põhitõed

MQTT põhitõed:

** Ma kavatsen teha koduautomaatika sarja, ma lähen läbi samme, mida ma tegin, et õppida kõike, mida olen tulevikus teinud. See juhend on lähtepunkt, kuidas seadistada MQTT minu tulevastes juhistes kasutamiseks. Selle sisu õpetused on aga rakendatavad kõigi projektide puhul, mida soovitakse ette võtta. **

Asjade Internet:

Asjade Internet võtab üle maailma ja eriti sellistes kogukondades nagu meie siin Instructablesis. Sellest ajast, kui ma selle kogukonnaga liitusin, on see inimeste ehitamisega juurdunud

Interneti kaudu ühendatud ja juhitavad seadmed. Asjade Internetiga töötamisel on raske mitte tulla protokolli MQTT järgi. See on sideprotokoll nagu teised, mida tänapäeval Internetis kasutatakse, näiteks HTTP või FTP, kuid selle toimimisviis on erinev, mistõttu on see ideaalne asjade Interneti rakenduste jaoks.

Mis on MQTT:

MQTT (Message Queuing Telemetry Transport on kerge suhtlusprotokoll, mis kasutab avaldamis-/tellimisarhitektuuri. HTTP, mida enamik Internetist kasutab, on üles ehitatud päringute/vastuste süsteemile. See tähendab, et saab kliendilt päringu ja saadab vastus sellele kliendile. MQTT -l on ka server (nn maakler) ja palju kliente. Erinevalt HTTP -st võimaldab MQTT klientidel avaldada või tellida konkreetseid teemasid. See võimaldab laiemat suhtlust tsentraliseeritud punkt, vahendaja. Iga sõlm saab avaldada vahendaja teema ja iga selle teemaga liitunud sõlm saab sõnumi. Kliendid saavad tellida ka mitu teemat ja seejärel saada mitu direktiivi või värskendust.

Kogu süsteem on sündmustepõhine ja võimaldab maakleri sõnumeid edastada igale tellitud kliendile. Nii et kui HTTP, kus klient teavet küsib, lükatakse klient selle kättesaamisel otse maaklerilt. Samuti on sisseehitatud teenused, mis võimaldavad erinevaid kaitsemeetmeid, näiteks QOS-i spetsifikatsioone. QOS -spetsifikatsioon võimaldab maakleril määrata, kas sõnum tuleb edastada kõige rohkem üks kord, vähemalt üks kord või täpselt üks kord. See tagab, et andmed edastatakse igale kliendile nõutaval viisil. Samuti saavad kliendid taotleda, et nende teemal avaldatud sõnumid puhverdataks maakleris juhuks, kui nad sellest mingil põhjusel lahti ühendatakse. Kui see on võrgus tagasi, edastatakse need andmed kliendile.

Teema pole midagi erilist, see on lihtsalt mitmesugused stringid, mis on ühendatud ja eraldatud kaldkriipsudega. Allpool kasutatava näite vorming on järgmine: kodu/magamistuba/laevalgus. Iga kaldkriips paigutatakse alateema tähistamiseks teema järele. Seega võiks avaldada teate koju, kus kõik maja seadmed selle vastu võtavad. Selle võiks avaldada otse koju/magamistuppa, kus sõnumi saavad kõik magamistoas olevad seadmed. Ja see võib minna konkreetse seadme juurde, nagu esmalt näidatud kodu/magamistuba/laevalgus, kus sõnumi saab ainult magamistoa laevalgusti. See, kuidas saame selliseid üksikuid seadmeid kogu ökosüsteemini abstraheerida, on äärmiselt mugav, eriti kui tegemist on koduautomaatikaga. Teemade jaotamiseks on veel viise ja ma lähen nendesse edasi tulevastes Instructablesides, kus rakendus on kõige mõttekam.

Tarvikud

Vaja on ainult ühte järgmistest.

Ubuntu:

Windowsi allsüsteem Linuxile: https://ubuntu.com/wsl (ainult siis, kui teil pole Linuxit/MacOS -i)

MacOS: nõuab MacBooki

See on nõutav:

Mosquitto MQTT Broker - alla laaditud apt -get abil (dokumentatsioon:

Samm: esmane seadistamine (olenevalt teie operatsioonisüsteemist)

MacOS/Linux:

Seadistamist pole vaja, lihtsalt avage oma terminal ja minge üle Mosquitto seadistusele!

Windows:

Kui kasutate Windowsi, peate installima Windowsi allsüsteemi Linuxile. See on ülilihtne kasutada ja äärmiselt väärtuslik tööriist, mis võimaldab teil Windowsis Ubuntu terminali käitada. Pole vaja Ubuntu installida ja topeltkäivitada, et testida terminali arengut!

Paigaldamise sammud:

1. Minge Windowsi poodi ja otsige üles ubuntu

2. Laadige alla ja installige Windowsi allsüsteem Linuxile

3. Avage rakendus ja järgige seadistamise lõpuleviimiseks juhiseid ning olete valmis jätkama!

Samm 2: Mosquitto seadistamine:

Mosquitto seadistamine
Mosquitto seadistamine
Mosquitto seadistamine
Mosquitto seadistamine
Mosquitto seadistamine
Mosquitto seadistamine

Nii nagu MQTT -i tutvustuses arutati, nõuab protokoll maaklerit (serverit). See maakler on iga kliendiga loodud ühenduse aluseks. Kõik sõnumid edastatakse ja vahendatakse selles maakleris. Maakleri jaoks on palju valikuid ja leiate need veebist, kuid see, mida me kasutame, on tõenäoliselt kõige levinum: Mosquitto.

Mosquitto on Linuxil põhinev MQTT maakler, millel on palju funktsioone. Ma ei hakka praegu selle funktsionaalsuse spetsiifikasse süvenema, kuid mõned põhinõuded, millele see vastab, on kasutaja/parooli autentimine ja TLS -krüptimise tugi, mis kõik on kasulikud asjade Interneti -seadmete arendamisel.

Sammud:

Kõik need toimingud tuleks lõpetada terminaliaknas.

1. Installige Mosquitto ja MQTT kliendid

sudo apt-get install mosquitto mosquitto-kliendid

2. Telli teema

mosquitto_sub -t "test"

See tellib teema. Seda teemat tähistab "-t" ja teema väärtus on "test". See väärtus, mis järgneb "-t" -le, võib olla kõik, mida soovite mõne erireservatsiooni jaoks salvestada.

3. Avage uus terminaliaken ja avaldage teade "test"

mosquitto_pub -t "test" -m "Tere maailm koos MQTT -ga!"

See avaldab sõnumi teemale "test", mis võimaldab meie teisel terminali eksemplaril saada teate tellimuse poolel. Avaldatud sõnumit tähistab "-m" ja sõnumi väärtus on "Hello World With MQTT". Seda sõnumit, nagu ka teemat, saab muuta soovitud kujul!

4. Minge tulemuste vaatamiseks esimesse terminaliaknasse! Peaksite nägema sõnumit „Tere maailm koos MQTT -ga”. Kui te seda ei näe, veenduge, et sisestasite õige teema. Kui olete selle edukalt lõpetanud, jätkake sellega mängimist. Proovige erinevaid teemasid koos alateemade ja erinevate sõnumitega!

3. samm: lõpetage

See ongi! Kui olete kõik lõpetanud, saate aru, kuidas MQTT töötab. See on väga algeline õpetus, mis näitab lihtsalt MQTT protokolli miinimummäära. Future Instructables tutvustab põhjalikumalt, kuidas protokoll praktiliselt asjade internetiga töötab, eriti ESP8266 moodulitega, mis käitavad Arduino. Minu esimene praktiline rakendus on nutikas kohvimasin, mis mul praegu toas on. Kui soovite õppida, kuidas valmistada kohvimasinat, mida saab juhtida nii teie telefonist kui ka Alexast, järgige kindlasti rohkem õpetusi.

Soovitan: