Turinys:
- 1 veiksmas: „Mqtt Broker“diegimas:
- 2 žingsnis: MQTT (Mosquitto) testavimas
- 3 žingsnis: darbas su „Armtronix Board“ir „Mqtt“
Video: MQTT „Armtronix“plokštėse: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Š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:
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
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“
Š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:
MQTT nuotaikos žibintai su ESP32: 4 žingsniai (su nuotraukomis)
„MQTT Mood Lights“su ESP32: Jau kurį laiką buvau susigundęs užlipti ant LED juostos, todėl išbėgau ir pasiėmiau LED juostelę žaislui. Aš baigiau gaminti šias nuotaikos lemputes. Jie gali būti valdomi naudojant MQTT, todėl galima pridėti visų rūšių išmaniųjų. Tai yra
MQTT baseino temperatūros monitorius: 7 žingsniai (su nuotraukomis)
„MQTT“baseino temperatūros monitorius: Šis projektas yra mano kitų namų automatikos projektų „Smart Data- Logging Geyser Controller“ir „Universal-Room-Lighting and Appliance Controller“papildinys. Tai prie baseino montuojamas monitorius, kuris matuoja baseino vandens temperatūrą, aplinkos orą
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: 4 žingsniai (su nuotraukomis)
Baterijomis varomų durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: Šioje instrukcijoje aš jums parodysiu, kaip sukūriau jutiklį, maitinamą baterijomis, kad galėčiau stebėti nuotolinio dviračio pastogės duris ir užrakto būseną. Turiu maitinimą iš tinklo, todėl maitinu iš akumuliatoriaus. Bateriją įkrauna nedidelis saulės kolektorius. Modulis yra
„ARMTRONIX Wifi 30Amps“lenta: 4 žingsniai (su nuotraukomis)
ARMTRONIX „Wifi 30Amps“plokštė: ĮVADAS: „Armtronix 30AMPS“relės plokštė yra IOT plokštė. Plokštės savybės yra šios: Belaidis valdymas. Plokštėje nuo USB iki UART. Lėktuvų kintamosios ir nuolatinės srovės maitinimo šaltiniuose nuo 230VAC iki 5V DC.AC virtualus jungiklis. Lentos išvaizda ir dydis yra 105 mm x 7
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: 3 žingsniai (su nuotraukomis)
„ARMTRONIX WIFI SINGLE Dimmer Board V0.2“: „Armtronix Wifi“dimeris yra IOT plokštė, skirta namų automatizavimui. Plokštės savybės yra šios: Belaidis valdymas Mažos formos koeficientas Borto kintamosios srovės maitinimo šaltinis nuo 230VAC iki 5V DC. DC virtualus jungiklis Lentos dydis yra 61,50