Turinys:
- Prekės
- 1 veiksmas: pradinė sąranka (priklausomai nuo jūsų OS)
- 2 žingsnis: „Mosquitto“sąranka:
- 3 žingsnis: apsivilkite
Video: „SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
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:
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:
Belaidis šifruotas ryšys „Arduino“: 5 žingsniai
Belaidis šifruotas ryšys Arduino: Sveiki visi! Šiame antrame straipsnyje aš jums paaiškinsiu, kaip naudoti lustą „Atecc608a“belaidžiam ryšiui apsaugoti. Tam aš naudosiu NRF24L01+ belaidžio ryšio daliai ir „Arduino UNO“. Mikročetą ATECC608A sukūrė
Didelis nuotolis, 1,8 km, nuo Arduino iki Arduino belaidis ryšys su HC-12: 6 žingsniai (su nuotraukomis)
Didelis nuotolis, 1,8 km, nuo Arduino iki Arduino belaidis ryšys su HC-12: Šioje instrukcijoje sužinosite, kaip bendrauti tarp „Arduinos“dideliu atstumu iki 1,8 km lauke. HC-12 yra belaidis nuoseklusis prievadas komunikacijos modulis, kuris yra labai naudingas, labai galingas ir paprastas naudoti. Pirmiausia sužinosite
Belaidis ryšys naudojant „NRF24L01“siųstuvo -imtuvo modulį „Arduino“projektams: 5 žingsniai (su paveikslėliais)
Belaidis ryšys naudojant „NRF24L01“siųstuvo-imtuvo modulį „Arduino“projektams: tai yra mano antroji pamokoma pamoka apie robotus ir mikrovaldiklius. Tikrai nuostabu matyti jūsų robotą gyvą ir veikiantį taip, kaip tikėtasi, ir patikėkite manimi, kad bus smagiau, jei valdysite savo robotą ar kitus dalykus belaidžiu ryšiu greitai ir
Nulaužkite pelę su Arduino. 2500 Ft belaidis ryšys. PS/2: 5 žingsniai
Nulaužkite pelę su Arduino. 2500 Ft belaidis ryšys. PS/2: Šioje instrukcijoje parodysiu, kaip nulaužti pelę, kad galėtumėte ją naudoti kaip LED, variklių, belaidžių programų ir pan. Valdiklį. Ši pamoka apims peles, turinčias vielą. Dauguma šių pelių naudoja PS/2 protokolą. Sąranka
Belaidis ryšys naudojant pigius 433 MHz RF modulius ir „Pic“mikrovaldiklius. 2 dalis: 4 žingsniai (su nuotraukomis)
Belaidis ryšys naudojant pigius 433 MHz RF modulius ir „Pic“mikrovaldiklius. 2 dalis. Pirmoje šios instrukcijos dalyje parodžiau, kaip užprogramuoti PIC12F1822 naudojant MPLAB IDE ir XC8 kompiliatorių, kad būtų galima siųsti paprastą eilutę belaidžiu būdu, naudojant pigius TX/RX 433 MHz modulius. Imtuvo modulis buvo prijungtas per USB prie UART TTL kabelinė reklama