Turinys:

„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai: 3 žingsniai
„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai: 3 žingsniai

Video: „SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai: 3 žingsniai

Video: „SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai: 3 žingsniai
Video: MOES Bluetooth Protocol Smart Switch Module with Sigmesh and Point-to-point control Install#moes 2024, Lapkritis
Anonim
„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai
„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai
„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai
„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai

MQTT pagrindai:

** Aš ketinu daryti namų automatikos seriją, aš atliksiu veiksmus, kurių ėmiausi, kad išmokčiau viską, ką padariau ateityje. Ši instrukcija yra pagrindas, kaip nustatyti MQTT naudoti būsimose instrukcijose. Tačiau šio turinio mokymai bus pritaikyti bet kokiam projektui, kurį norėtųsi įgyvendinti. **

Daiktų internetas:

Daiktų internetas užkariauja pasaulį, o ypač tokiose bendruomenėse kaip mūsų čia, „Instructables“. Nuo tada, kai įstojau į šią bendruomenę, ji buvo įsitvirtinusi žmonių kūrime

Prietaisai, prijungti ir valdomi internetu. Dirbant su daiktų internetu sunku nesilaikyti protokolo MQTT. Tai ryšių protokolas, kaip ir kiti, šiandien naudojami internete, pvz., HTTP ar FTP, tačiau jo veikimo būdas skiriasi, todėl jis idealiai tinka daiktų interneto programoms.

Kas yra MQTT:

MQTT („Message Queuing Telemetry Transport“yra lengvas ryšio protokolas, kuriame naudojama paskelbimo/prenumeratos architektūra. HTTP, kurį naudoja dauguma interneto, yra sukurtas pagal užklausų/atsakymų sistemą. Tai reiškia, kad gauna užklausą iš kliento ir siunčia atsakymas į tą klientą. MQTT taip pat turi serverį (vadinamą tarpininką) ir daug klientų. Priešingai nei HTTP, MQTT leidžia klientams skelbti arba užsisakyti tam tikras „temas“. Tai leidžia platesnis bendravimas centralizuotą tašką, tarpininką. Kiekvienas mazgas gali paskelbti brokerio temą, o bet kuris tos temos abonentas gaus pranešimą. Klientai taip pat gali užsiprenumeruoti kelias temas ir tada gauti kelias direktyvas ar atnaujinimus.

Visa sistema yra pagrįsta įvykiais ir leidžia tarpininko pranešimus perduoti kiekvienam prenumeruojamam klientui. Taigi, o ne HTTP, kai klientas prašo informacijos, klientas gauna informaciją tiesiai iš brokerio, kai jis gauna. Taip pat yra integruotų paslaugų, leidžiančių taikyti įvairias apsaugos priemones, pvz., QOS specifikacijas. QOS specifikacija leidžia brokeriui nustatyti, ar pranešimą reikia pristatyti ne daugiau kaip vieną kartą, bent kartą ar tiksliai vieną kartą. Tai užtikrina, kad duomenys kiekvienam klientui būtų pristatyti reikiamu būdu. Klientai taip pat gali prašyti, kad jų temoje paskelbti pranešimai būtų įtraukti į tarpininko buferį tuo atveju, jei dėl kokių nors priežasčių jie nuo to atsijungtų. Kai jie vėl prisijungs, tie duomenys bus perduoti klientui.

Tema nėra nieko ypatingo, tai tik įvairios eilutės, sujungtos ir atskirtos brūkšneliais. Pavyzdys, kuris bus naudojamas toliau, yra toks: namas/miegamasis/lubų šviesa. Kiekvienas brūkšnys dedamas po tema, kad reikštų potemę. Taigi pranešimas gali būti paskelbtas namuose, kur jį gaus visi namų įrenginiai. Jis gali būti paskelbtas tiesiai namuose/miegamajame, kur visi miegamojo įrenginiai gaus pranešimą. Ir tai gali būti nukreipta į konkretų įrenginį, kaip pirmą kartą parodyta namuose/miegamajame/lubų šviesoje, kur pranešimą gaus tik miegamojo lubų šviestuvas. Tai, kaip mes galime abstrahuoti tokius atskirus įrenginius iki visos ekosistemos, yra labai patogu, ypač kai kalbama apie namų automatizavimą. Yra ir kitų būdų, kaip suskaidyti temas, ir toliau jas nagrinėsiu būsimuose „Instructables“, kur programa yra prasmingiausia.

Prekės

Reikia tik vieno iš šių dalykų:

„Ubuntu“:

„Windows“posistemis, skirtas „Linux“: https://ubuntu.com/wsl (tik jei neturite „Linux“/„MacOS“)

„MacOS“: reikalinga „MacBook“

Tai būtina:

„Mosquitto MQTT Broker“- atsisiųsta naudojant apt -get (dokumentacija:

1 veiksmas: pradinė sąranka (priklausomai nuo jūsų OS)

„MacOS“/„Linux“:

Nereikia jokių sąrankų, tiesiog atidarykite terminalą ir pereikite prie „Mosquitto Setup“!

„Windows“:

Jei naudojate „Windows“, turėsite įdiegti „Windows“posistemį, skirtą „Linux“. Tai labai paprasta naudoti ir labai vertinga priemonė, leidžianti paleisti „Ubuntu“terminalą sistemoje „Windows“. Nereikia įdiegti ir dvigubai paleisti „Ubuntu“, kad tik išbandytumėte plėtrą terminale!

Diegimo žingsniai:

1. Eikite į „Windows“parduotuvę ir ieškokite „ubuntu“

2. Atsisiųskite ir įdiekite „Windows“posistemį, skirtą „Linux“

3. Atidarykite programą ir vykdykite instrukcijas, kad užbaigtumėte sąranką ir esate pasiruošę tęsti!

2 žingsnis: „Mosquitto“sąranka:

Uodų sąranka
Uodų sąranka
Uodų sąranka
Uodų sąranka
Uodų sąranka
Uodų sąranka

Taigi, kaip aptarta įvade apie MQTT, protokolui reikalingas tarpininkas (serveris). Šis tarpininkas yra visų užmegztų ryšių su kiekvienu klientu pagrindas. Šiame pranešime visi pranešimai perduodami ir eilėje. Yra daug brokerio variantų, kuriuos galite rasti internete, tačiau tą, kurį naudosime, tikriausiai yra labiausiai paplitęs: „Mosquitto“.

„Mosquitto“yra „Linux“pagrįstas „MQTT Broker“, turintis daugybę funkcijų. Dabar nesigilinsiu į šios funkcijos specifiką, tačiau keli pagrindiniai reikalavimai, kuriuos ji atitinka, yra vartotojo/slaptažodžio autentifikavimas ir TLS šifravimo palaikymas, kurie visi yra naudingi kuriant daiktų interneto įrenginius.

Žingsniai:

Visi šie veiksmai turėtų būti atlikti terminalo lange.

1. Įdiekite „Mosquitto“ir „MQTT“klientus

sudo apt-get įdiegti mosquitto mosquitto-klientus

2. Prenumeruokite temą

mosquitto_sub -t "testas"

Tai daro prenumerata temai. Ši tema žymima „-t“, o tema-„testas“. Ši reikšmė po „-t“gali būti bet kas, ką norite išsaugoti kelioms specialioms išlygoms.

3. Atidarykite naują terminalo langą ir paskelbkite pranešimą tema „testas“

mosquitto_pub -t "test" -m "Labas pasaulis su MQTT!"

Tai paskelbia pranešimą tema „testas“, todėl mūsų kitas terminalo egzempliorius gali gauti pranešimą prenumeratos pusėje. Paskelbta žinutė žymima „-m“, o pranešimo vertė yra „Labas pasaulis su MQTT“. Šią žinutę, kaip ir temą, galima pakeisti bet kokia!

4. Norėdami pamatyti savo rezultatus, eikite į pirmąjį terminalo langą! Turėtumėte gauti pranešimą, kuriame rodoma „Labas pasaulis su MQTT“. Jei to nematote, įsitikinkite, kad įvedėte tinkamą temą. Jei tai sėkmingai baigėte, tęskite žaidimą. Išbandykite įvairias temas su potemėmis ir skirtingais pranešimais!

3 žingsnis: apsivilkite

Viskas! Kai viskas bus baigta, jūs suprasite MQTT veikimo pagrindus. Tai labai elementari pamoka, kurioje tik parodytas minimalus MQTT protokolo minimumas. „Future Instructables“išsamiau aptars, kaip protokolas praktiškai veikia su daiktų internetu, ypač naudojant ESP8266 modulius, kuriuose veikia „Arduino“. Pirmasis mano praktinis pritaikymas bus išmanusis kavos virimo aparatas, kurį šiuo metu turiu savo kambaryje. Jei norite sužinoti, kaip pasigaminti kavos virimo aparatą, kurį galima valdyti tiek iš telefono, tiek iš „Alexa“, būtinai sekite mane, kad gautumėte daugiau pamokų.

Rekomenduojamas: