Turinys:

MQTT „Armtronix“plokštėse: 3 žingsniai
MQTT „Armtronix“plokštėse: 3 žingsniai

Video: MQTT „Armtronix“plokštėse: 3 žingsniai

Video: MQTT „Armtronix“plokštėse: 3 žingsniai
Video: MQTT (Mosquitto) Протокол | Теория 2024, Lapkritis
Anonim
MQTT „Armtronix“plokštėse
MQTT „Armtronix“plokštėse

Šioje pamokoje norime iš pradžių parodyti, kaip galite naudoti „Linux“(„Debian“ar „Ubuntu“) sistemą ir įdiegti „Mosquitto“(„Mqtt Broker“), taip pat parodysime, kaip naudotis „Mqtt“klientu savo telefone („Android“)/ „Linux“sistema, siunčiant ir gaunant pranešimus per „Mqtt“. Susipažinę su tuo, norėtume parodyti, kaip galite sukonfigūruoti ir prijungti mūsų plokštę prie šio įdiegto „Mqtt“brokerio. Taip pat norėčiau parodyti, kaip galite pridėti autentifikavimą prie „Mqtt“tarpininko, ir keletą pagrindinių patarimų bei gudrybių, kurias reikia derinti. Taigi pradėkime ………..

1 veiksmas: „Mqtt Broker“diegimas:

„Mqtt Broker“diegimas
„Mqtt Broker“diegimas
„Mqtt Broker“diegimas
„Mqtt Broker“diegimas
„Mqtt Broker“diegimas
„Mqtt Broker“diegimas
„Mqtt Broker“diegimas
„Mqtt Broker“diegimas

Yra keli „Mqtt“brokeriai, kuriuos galite įdiegti. Kai kurie žinomi yra tokie, kaip nurodyta žemiau. Kai kurios iš jų yra debesies paslaugos.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Mes jums parodysime, kaip įdiegti „Mosquitto“sistemoje „Linux“(„Ubuntu 18.04“). Norėdami tai padaryti, pirmiausia pridėkite „Mosquitto“prie „Ubuntu“šaltinių sąrašo. Kai „Mosquitto“bus prieinama „Ubuntu“saugyklose, galėsite ją įdiegti naudodami „apt-get“.

Tiesiog atidarykite terminalą. Norėdami atidaryti terminalą, eikite į kairįjį apatinį „Ubuntu Desktop“kampą, spustelėkite Rodyti programą (pažymėtas 3X3 tinklelis). Atsivers langas. Ten ieškote terminalo. Spustelėkite terminalą, kad pamatytumėte atidarytą langą, kaip parodyta šiuose paveikslėliuose.

  • Rodyti programą (1 pav.).
  • Ieškokite terminalo (2 pav.).
  • Terminalo langas (3 pav.).

Atidarę terminalą, įveskite šias komandas

sudo apt-add-saugykla ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get atnaujinimas

sudo apt-get install mosquitto

Taip pat galite įdiegti „Mqtt“klientą. Įsakymas tai padaryti bus

sudo apt-get install mosquitto-customers

Kai kurie vaizdai jūsų nuorodai

  • Pridedamas ppa (4 pav.).
  • Atnaujinamas repo (5 pav.).
  • „Mosquitto“diegimas (6 pav.).
  • „Mosquitto Client“diegimas (7 pav.).

2 žingsnis: MQTT (Mosquitto) testavimas

MQTT (Mosquitto) bandymas
MQTT (Mosquitto) bandymas
MQTT (Mosquitto) bandymas
MQTT (Mosquitto) bandymas
MQTT (Mosquitto) bandymas
MQTT (Mosquitto) bandymas

Norėdami išbandyti „mqtt“per „ubuntu“(ta pati sistema ar kita sistema), turite įdiegti „mqtt“klientą, kuris anksčiau buvo įdiegtas naudojant komandą sudo apt-get install mosquitto-customers. Jei norite jį išbandyti naudodami mobilųjį telefoną („Android“), galite įdiegti „MyMqtt“programą iš „Play“parduotuvės.

„Mqtt“dirba su tema, vadinama „Temos“. Kad būtų lengviau suprasti, apsvarstykite šias temas kaip kompiuterio standžiojo disko aplanką. Laikykime šį kompiuterį kaip kompiuterio serverį (kuris mqtt pasaulyje yra „Mqtt Broker“). Šiame serveryje apsvarstykime galimybę turėti vieną aplanką.

Aplanko pavadinimas: /Folder_one /

Dabar pažvelkime į du žmones iš dviejų skirtingų sistemų (asmeninio kompiuterio/nešiojamojo kompiuterio), kurie prisijungia prie šio serverio, norėdami skaityti failus, siųsti/iškelti failus arba atlikti abi operacijas.

Du žmones/sistemą pavadinsime „System X“, „Y“(tai „Mqtt“klientai „Mqtt“pasaulyje).

Dabar, tarkime, sistema X siunčia/išleidžia tam tikrą failą (failo pavadinimas: temperatūra) į aplanką „/Folder_one/“, tai mqtt pasaulyje galime vadinti šiuo leidiniu (vietoj failo siunčiame tam tikrą pranešimą/naudingąją apkrovą).

Dabar, tarkime, „System Y“nori gauti/perskaityti šį failą ar bet kurį naują failą arba atnaujinti šiame aplanke, pirmiausia reikia žinoti aplanko pavadinimą ir kelią, kuris mūsų atveju yra „/Folder_one/“. Taigi dabar jis pateks į šį aplanką ir perskaitys/gaus tą failą (failo pavadinimas: temperatūra). Žinoti kelią/temą ir patikrinti failo/naujų failų pakeitimus „Mqtt“pasaulyje yra tos temos prenumerata.

Atsižvelgiant į aukščiau pateiktą pavyzdį, Sistema X skelbia „/Folder_one“, o Y - prenumeruoja „/Folder_one“

Taip pat atkreipkite dėmesį, kad sistema X taip pat gali prenumeruoti „/Folder_one“, o sistema Y taip pat gali publikuoti „/Folder_one“. Netgi serverio sistema („Mqtt Broker“) gali paskelbti/užsiprenumeruoti „/Folder_one“, įdiegdama jame „Mqtt“klientą, kaip tai darėme šiuo metu. Kitas dalykas, kurį reikia atsiminti, yra paskelbti arba užsiprenumeruoti temą, kurią turėsite žinoti „Mqtt Broker“IP adresas.

Pirmiausia mes jį išbandysime per „ubuntu“klientą, kuris yra įdiegtas toje pačioje sistemoje kaip ir brokeris. Mes atidarysime du terminalo langus, vienas iš jų bus paskelbtas, o kitas jį prenumeruos. Pavyzdyje kaip temą naudosime /Folder_one. Prieš pub/sub temą turėsite rasti ubuntu IP adresą. Norėdami tai padaryti, spustelėkite viršutiniame dešiniajame ekrano kampe, pasirinkite „wifi“nustatymą, iš ten galėsite rasti „Ubuntu“sistemos IP adresą (šiuo metu tarpininko IP). Ekrano trumpinys bendrinamas kaip nuoroda (8 pav.).

Arba norėdami rasti tarpininko IP adresą, galite jį rasti įdiegę tinklo įrankius naudodami šią komandą terminale

sudo apt install net-tools

Tinklo įrankių montavimas (9 pav.). Po to tiesiog įveskite komandą „ipconfig“ir gausite tinklo sąsajos su „Mac“ir IP adresų sąrašą

sudo ipconfig

Mano sistemos IP adresas yra 192.168.1.67 (10 pav.)

Publikuoti

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Čia komanda „mosquitto_pub“yra komanda, po kurios eina parametro identifikatoriaus elementas -h, kuris yra pagrindinio kompiuterio /tarpininko IP adresas (mūsų atveju 192.168.1.67), po to -t, kuris yra temos pavadinimas leidėjui (mūsų atveju /Folder_one), po kurio eina -m, kuris reiškia pranešimą/naudingą krovinį, kuris turi būti išsiųstas (mūsų atveju yra pub_to_folderone).

Norėdami užsiprenumeruoti

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Leidėjo atsiųsta žinutė: pub_to_folderone

Leidybos pavyzdys

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „hi test mqtt“

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „mqtt working“

Atsakymo, gauto užsiprenumeravus temą, pavyzdys

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Leidėjo atsiųsta žinutė:

  • pub_to_folderone
  • Sveiki, mqtt
  • mqtt veikia

„Pub Sub“dviejuose atskiruose terminalo languose (11 pav.)

„Mqtt“tikrinimas „Android“(mano „mqtt“)

Įdiekite „mymqtt“programą iš „Play“parduotuvės „Android“telefone (12 pav.)

Atidarykite programą ir spustelėkite kairįjį viršutinį kampą (13 pav., 14 pav.).

Spustelėkite Nustatymai ir įveskite tarpininko IP adresą, pagal numatytuosius nustatymus prievadas bus 1883. Šiuo metu mes nenaudojame autentifikuoto mqtt brokerio, todėl vartotojo vardas ir slaptažodis bus tušti. Tiesiog išsaugokite jį ir dar kartą spustelėkite kairiajame viršutiniame programos kampe (<Nustatymai) stalčius vėl atsidarys (15 pav.).

Stalčiaus viršuje bus rodomas tarpininko IP adresas ir prievadas, prie kurio programa yra prijungta (16 paveikslas).

Dabar pridėkite norimą prenumeruoti temą spustelėdami Prenumeruoti. Čia pridėsime temą kaip /Folder_one (17 pav., 18 pav.).

Tai atlikę, iš ubuntu sistemos, naudodami terminalą, paskelbsime temoje. Paskelbdami turėtumėte gauti naudingą krovinį/pranešimą, paskelbtą šioje programoje mobiliesiems. Pavyzdžiui, naudingos informacijos paskelbimas „ARM -Automation Robotics & Mechatronics“. Komanda yra tokia, kaip minėta anksčiau.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „ARM -Automation Robotics & Mechatronics“

leidyba iš ubuntu sistemos (19 pav.).

Gauta paskelbta žinutė prietaisų skydelyje (20 pav.).

Dabar leiskime skelbti iš „Android“telefono („My mqtt“) ir užsiprenumeruoti „Ubuntu“sistemoje. Šiame pavyzdyje mes naudojame temą „/mymqtt_to_pub“.

Norėdami tai padaryti, pirmiausia atidarykite terminalą iš savo „Ubuntu“sistemos ir užsiprenumeruokite temą „/mymqtt_to_pub“naudodami šią komandą (21 pav.)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Dabar eikite į „mymqtt“programos stalčių ir spustelėkite paskelbti. Pridėkite paskelbimo temą (mūsų atveju tai yra „/mymqtt_to_pub“) ir išsiųskite tokį pranešimą, kaip mes atsiųsime „hi Ubuntu“, paspauskite siuntimo mygtuką (22 pav., 23 pav.).

Pranešimas turėtų pasirodyti jūsų ubuntu sistemos terminalo lange (24 pav.).

Atminkite, kad tiek „Ubuntu“sistema, tiek „Android“telefonas turi būti tame pačiame tinkle arba 1883 prievadas turi būti atskleistas, ir jūs turėtumėte žinoti savo maršrutizatoriaus/šliuzo IP adresą, kad „mqtt“veiktų. Jei norite pridėti autentifikavimą prie savo „mqtt“brokerio, tai galite padaryti sekdami toliau nurodytą tinklaraščio nuorodą https://medium.com/@eranda/setting-up-authenticat… Sekite antrą šio tinklaraščio veiksmą. Mes įgalinome savo tarpininko autentifikavimą ir savo lentose naudosime autentifikuotą tarpininką.

3 žingsnis: darbas su „Armtronix Board“ir „Mqtt“

Darbas su Armtronix Board & Mqtt
Darbas su Armtronix Board & Mqtt
Darbas su Armtronix Board & Mqtt
Darbas su Armtronix Board & Mqtt
Darbas su Armtronix Board & Mqtt
Darbas su Armtronix Board & Mqtt

Šiuo metu šiai instrukcijai naudojame „Wifi Single Dimmer Board“, kuri naudoja „Triac“sinusinei bangai susmulkinti, o savo ruožtu pritemdo lemputę arba valdo ventiliatoriaus greitį. Taip pat mes prijungėme jį naudodami „mqtt“autentifikavimo tipą.

Iš pradžių sukonfigūravome plokštę. Jo konfigūravimo veiksmai aprašyti žemiau.

Įjungus plokštę, ji pradės talpinti „Wifi“prieigos tašką.

Naudodami „Android“telefoną ar nešiojamąjį kompiuterį prisijunkite prie šios AP (25 pav.).

Prisijungus prie šios AP, įveskite 192.168.4.1, atidarę naršyklę („Chrome“/„Firefox“) iš AP prijungtos sistemos/telefono. Įsitikinkite, kad nenaudojate savo duomenų ryšio (3G/4G).

Įvedus IP, atsidarys tinklalapis, kuriame reikia įvesti toliau nurodytą informaciją (26 pav.).

  • SSID: „Wi -Fi“AP pavadinimas.
  • Slaptažodis: SSID slaptažodis.
  • „IoT“režimas „Mqtt“arba „Http“(pasirinkite „Mqtt“).
  • „Mqtt Broker IP“(mūsų atveju tai yra 192.168.1.67).
  • „Mqtt“vartotojo vardas ir slaptažodis, nes mes naudojame autentifikavimo tipą, naudojome „Naren“, xxxx
  • „Mqtt“paskelbimo tema: tai bus ta tema, kurią taryba taip pat skelbia, naudojome /testpub.
  • „Mqtt“prenumeratos tema: tai bus ta tema, kurios lenta klauso komandų, kad suaktyvintų triacą, mes naudojome /testsub.
  • Įrenginio pavadinimas: tai yra vardas, kurį šaukiate alexa, norėdami suaktyvinti lentą, mes naudojome „corvi“.

Įvedę išsamią informaciją, paspauskite mygtuką Pateikti, tai padarę gausite ekraną, kaip parodyta 27 paveikslėlyje, palaukite, kol lenta nustos talpinti AP.

Atminkite, kad mes prijungėme savo plokštę per „Uart“prie serijinio „Arduino IDE“monitoriaus. Taigi kairėje pusėje pamatysite derinimo pranešimus, kuriuos jis spausdina per „Uart“(tai tik jūsų nuoroda).

Kai tai bus padaryta, galėsite peržiūrėti derinimo ekraną. Dauguma detalių bus matomos ten. Po to jis sėkmingai prisijungs prie tarpininko derinimo (serijos) ekrane, kurį galite pamatyti.

Prijungtas prie MQTT brokerio su autentifikavimu. Prenumeruota 1 tema.

Po to, kai jis atspausdins, dabar galite pradėti siųsti jam komandas per mqtt tema, kurią jis užsiprenumeravo, ty /testsub /

Šios lentos komandos yra šios:

  • R13_ON: Norėdami įjungti triacą iki 100%.
  • R13_OFF: Norėdami išjungti triacą iki 0%.
  • Šviesos reguliatorius: xx: kur xx yra pritemdymo reikšmė ir gali būti keičiama nuo 0 iki 99.
  • Atstatyti: norint išvalyti plokštės konfigūraciją.
  • Būsena: spausdinkite plokštės šviesesnį statusą lentos publikavimo tema.

Norėdami išsiųsti šią komandą iš ubuntu pagrįstos sistemos, kurioje įdiegtas „mqtt“klientas, tiesiog įveskite ją, kaip parodyta žemiau. Dėl autentifikavimo čia pridedami du papildomi parametrai -ty -u, kuris yra vartotojo vardas, o -P yra slaptažodis, atkreipkite dėmesį, kad jie skiria didžiosios ir mažosios raidės.

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_OFF

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Šviesos reguliatorius: 50

Pastaba: 50 yra pritemdyta vertė

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Būsena

Norėdami gauti naujausią būseną, būsena išspausdinama lentos paskelbimo temoje, kuri mūsų atveju yra /testpub. Mūsų lentoje bet kokie įrenginio pakeitimai spausdinami lentos paskelbimo temoje. Pvz., Jei lentelės prenumeruojamoje temoje praleidžiame „Dimmer: 50“, o ne fiziškai ją įvykdę, lenta atsiųs pranešimą, kuriame bus nurodytas pritemdytas leidybos temos lygis. Pavyzdys parodytas žemiau, Norėdami užsiprenumeruoti lentos paskelbimo temą iš savo „Ubuntu“sistemos, įveskite šią komandą

mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub

žinia, kurią gauname

DimmerIS50

Žemiau yra keletas to paties ekrano šortų (28 pav., 29 vaizdas)

Rekomenduojamas: