Kazalo:
- 1. korak: Namestitev posrednika Mqtt:
- 2. korak: Testiranje MQTT (Mosquitto)
- 3. korak: Delo z Armtronix Board & Mqtt
Video: MQTT na ploščah Armtronix: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
V tem navodilu vam želimo na začetku pokazati, kako lahko uporabite sistem, ki temelji na Linuxu (Debian ali Ubuntu), in nanj namestite Mosquitto (posrednik Mqtt), prav tako pa vam pokažemo, kako uporabljati odjemalca Mqtt v telefonu (Android)/ Linux sistem, pošiljanje in sprejemanje sporočil prek Mqtt. Ko smo se seznanili s tem, bi vam radi pokazali, kako lahko konfigurirate in povežete našo ploščo s tem nameščenim posrednikom Mqtt. Prav tako bi vam rad pokazal, kako lahko posredniku Mqtt dodate preverjanje pristnosti, ter nekaj osnovnih namigov in trikov za odpravljanje napak. Pa začnimo ………..
1. korak: Namestitev posrednika Mqtt:
Obstaja več posrednikov Mqtt, ki jih lahko namestite. Nekateri znani so navedeni spodaj. Nekatere od njih so storitve v oblaku.
- HiveMQ
- MosquittoCloud
- MQTT
- Adafruit.io
Pokazali vam bomo, kako namestiti Mosquitto v sistem, ki temelji na Linuxu (Ubuntu 18.04). Če želite to narediti, najprej dodajte Mosquitto na seznam virov ubuntu. Ko bo Mosquitto na voljo v skladiščih Ubuntu, ga boste lahko namestili z apt-get.
Odprite terminal. Če želite odpreti terminal, pojdite v spodnji levi kot namizja Ubuntu, kliknite Pokaži aplikacijo (mreža s pikčasto 3X3). Odpre se okno. Tam iščete Terminal. Če kliknete terminal, bi morali videti odprto okno, kot je prikazano na naslednjih slikah.
- Pokaži aplikacijo (slika 1).
- Poiščite terminal (slika 2).
- Okno terminala (slika 3).
Ko odprete terminal, vnesite naslednje ukaze
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get posodobitev
sudo apt-get install mosquitto
Namestite lahko tudi odjemalca Mqtt. Ukaz za to bo
sudo apt-get install mosquitto-clients
Nekaj slik za vašo referenco
- Dodajanje ppa (slika 4).
- Posodabljanje repo (slika 5).
- Namestitev Mosquitta (slika 6).
- Namestitev odjemalca Mosquitto (slika 7).
2. korak: Testiranje MQTT (Mosquitto)
Če želite preizkusiti mqtt prek ubuntuja (isti sistem ali drug sistem), morate namestiti odjemalca mqtt, ki ga je prej namestil ukaz sudo apt-get install mosquitto-clients. Če ga želite preizkusiti z mobilnim telefonom (android), lahko namestite aplikacijo MyMqtt iz trgovine Play.
Mqtt dela na nečem, kar se imenuje Teme. Zaradi lažjega razumevanja obravnavajte te teme kot mapo na trdem disku računalnika. Računalnik obravnavajmo kot računalniški strežnik (ki je v svetu mqtt posrednik Mqtt). V tem strežniku razmislimo o eni mapi.
Ime mape: /Folder_one /
Zdaj pa razmislimo o tem, da dve osebi iz dveh različnih sistemov (osebni računalnik/prenosni računalnik) dostopata do tega strežnika bodisi za branje datotek bodisi za pošiljanje/izpis datotek ali za oboje.
Dve osebi/sistemu bomo poimenovali System X, System Y (To sta odjemalca Mqtt v svetu Mqtt).
Zdaj recimo, da System X pošlje/izpiše nekaj datotek (ime datoteke: temperatura) v mapo “/Folder_one/”, to v svetu mqtt lahko imenujemo to objavljanje (namesto datoteke pošljemo nekaj sporočila/koristnega tovora).
Recimo, da sistem Y želi pridobiti/prebrati to datoteko ali katero koli novo datoteko ali posodobiti to mapo, prva stvar, ki jo potrebuje, je vedeti ime in pot mape, ki je v našem primeru »/Folder_one/«. Zdaj bo šel v to mapo in prebral/prejel to datoteko (ime datoteke: temperatura). Poznavanje poti/teme in preverjanje sprememb v datoteki/novih datotekah v svetu Mqtt je naročnina na to temo.
Če upoštevamo zgornji primer, Sistem X objavlja v “/Folder_one”, sistem Y pa je naročen na “/Folder_one”
Upoštevajte tudi, da se lahko sistem X tudi naroči na »/Folder_one«, sistem Y pa lahko objavi tudi v »/Folder_one«. Tako kot pametno lahko tudi strežniški sistem (posrednik Mqtt) objavi/se naroči na “/Folder_one” tako, da nanj namesti odjemalca Mqtt, kot smo to storili zdaj. Druga stvar, ki si jo morate zapomniti, je, da objavite ali se naročite na temo, za katero morate poznati naslov IP posrednika Mqtt.
Najprej ga bomo preizkusili prek odjemalca ubuntu, ki je nameščen v istem sistemu kot posrednik. Odprli bomo dve terminalski okni, eno bo objavilo, drugo pa se bo nanj naročilo. Kot primer bomo za temo uporabili /Folder_one. Pred pub/sub temo boste morali poiskati naslov IP ubuntu. Če želite to narediti, kliknite v zgornjem desnem kotu zaslona, izberite nastavitev wifi, od tam boste lahko našli naslov IP sistema ubuntu (trenutno IP posrednika). Kratki zaslon v skupni rabi za referenco (slika 8).
Ali pa za iskanje naslova IP posrednika lahko poiščete naslov IP z namestitvijo mrežnih orodij z naslednjim ukazom v terminalu
sudo apt namestite net-tools
Nameščanje mrežnih orodij (slika 9). Nato vnesite ukaz ipconfig in dobili boste seznam omrežnega vmesnika z naslovom mac in IP
sudo ipconfig
Naslov IP mojega sistema je 192.168.1.67 (slika 10)
Objaviti
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone
Tu je ukaz mosquitto_pub, ki mu sledi element identifikatorja parametra -h, ki je naslov IP gostitelja /posrednika (v našem primeru 192.168.1.67), sledi -t, ki je ime teme za založnika (v našem primeru /Folder_one), čemur sledi -m, kar pomeni sporočilo/koristno obremenitev, ki jo je treba poslati (v našem primeru je pub_to_folderone).
Naročiti se
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Sporočilo, ki ga je poslal založnik: pub_to_folderone
Primer za objavo
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 deluje"
Primer odgovora, prejetega ob naročanju na temo
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Sporočilo založnika:
- pub_to_folderone
- zdravo test mqtt
- mqtt deluje
Pub Sub v dveh ločenih terminalskih oknih drug ob drugem (slika 11)
Testiranje Mqtt na androidu (moj mqtt)
Namestite aplikacijo mymqtt iz trgovine Play na telefon Android (slika 12)
Odprite aplikacijo in kliknite v zgornjem levem kotu (Slika 13, Slika 14).
Kliknite Nastavitve in vnesite naslov posrednika IP, vrata bodo privzeto 1883. Trenutno ne uporabljamo overjenega posrednika mqtt, zato bo uporabniško ime in geslo prazno. Samo shranite in znova kliknite v zgornjem levem kotu aplikacije (<Nastavitve), da se predal znova odpre (Slika 15).
Na vrhu predala bo prikazan IP naslov posrednika in vrata, na katera je aplikacija povezana (slika 16).
Zdaj dodajte temo, na katero se želite naročiti, tako da kliknete Naročite se. Tukaj bomo dodali temo kot /Folder_one (Slika 17, Slika 18).
Po tem bomo iz sistema ubuntu s pomočjo terminala objavili temo. Ob objavi bi morali objaviti koristno obremenitev/sporočilo v tej mobilni aplikaciji. Na primer objavljanje koristnega tovora kot »ARM -Automation Robotics & Mechatronics«. Ukaz je, kot je bilo že omenjeno.
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Automation Robotics & Mechatronics”
objavljanje iz sistema ubuntu (slika 19).
Prejeto objavljeno sporočilo na nadzorni plošči (slika 20).
Zdaj pa objavimo s telefona Android (My mqtt) in se naročimo na sistem ubuntu. V tem primeru uporabljamo temo »/mymqtt_to_pub«.
Če želite to narediti, najprej odprite terminal iz sistema ubuntu in se z naslednjim ukazom naročite na temo »/mymqtt_to_pub« (slika 21)
mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub
Zdaj pojdite v predal aplikacije mymqtt in kliknite na objavi. Dodajte temo objave (v našem primeru je to »/mymqtt_to_pub«) in pošljite sporočilo, kot bomo poslali »hi Ubuntu«, pritisnite gumb za pošiljanje (slika 22, slika 23).
Sporočilo bi se moralo pojaviti v terminalnem oknu sistema ubuntu (slika 24).
Upoštevajte, da morata biti sistem ubuntu in telefon Android v istem omrežju ali pa morata biti izpostavljeni vrata 1883 in vedeti morate naslov IP vašega usmerjevalnika/prehoda, da bo mqtt deloval. Če želite svojemu posredniku mqtt dodati preverjanje pristnosti, lahko to storite tako, da sledite spodnji povezavi do spletnega dnevnika https://medium.com/@eranda/setting-up-authenticat… Sledite iz drugega koraka tega spletnega dnevnika. Omogočili smo preverjanje pristnosti našega posrednika in bomo za naše deske uporabljali overjenega posrednika.
3. korak: Delo z Armtronix Board & Mqtt
Trenutno za to navodilo uporabljamo našo ploščo z enojnim zatemnilnikom Wifi, ki uporablja Triac za sekanje sinusnega vala in nato zatemni žarnico ali nadzoruje hitrost ventilatorja. Povezali smo ga tudi z vrsto avtentikacije mqtt.
Sprva smo konfigurirali ploščo. Koraki za njegovo konfiguracijo so navedeni spodaj.
Napajanje Na plošči bo začela gostovati dostopna točka Wifi.
S telefonom ali prenosnim računalnikom Android se povežite s to točko dostopa (slika 25).
Ko ste povezani s to AP, vnesite 192.168.4.1 tako, da odprete brskalnik (chrome/firefox) iz sistema/telefona, povezanega z AP. Prepričajte se, da ne uporabljate podatkovne povezave (3G/4G).
Ko vnesete IP, se odpre spletna stran, kamor morate vnesti naslednje (slika 26).
- SSID: Ime dostopne točke Wifi.
- Geslo: Geslo SSID.
- Način IoT Mqtt ali Http (izberite Mqtt).
- IP posrednika Mqtt (v našem primeru je 192.168.1.67).
- Uporabniško ime in geslo Mqtt, saj uporabljamo vrsto preverjanja pristnosti, smo uporabili Naren, xxxx
- Tema objave Mqtt: To bo tema, ki jo objavlja tudi tabla, ki smo jo uporabili /testpub.
- Tema naročnine na Mqtt: To bo tema, na kateri plošča posluša ukaze za sprožitev triaka, ki smo jih uporabili /testub.
- Ime naprave: To je ime, ki ga kličete alexa za sprožitev plošče, uporabili smo corvi.
Ko vnesete podrobnosti, pritisnite gumb za oddajo, pri tem boste dobili zaslon, kot je prikazano na sliki 27, počakajte nekaj časa, da plošča neha gostiti dostopno točko.
Upoštevajte, da smo ploščo prek Uarta povezali s serijskim monitorjem Arduino IDE. Tako boste na levi strani videli sporočila za odpravljanje napak, ki jih natisne prek Uarta (to je samo za vašo referenco).
Ko to storite, si lahko ogledate zaslon za odpravljanje napak. Večina podrobnosti bo tam vidna. Po tem se bo uspešno povezal s posrednikom na zaslonu za odpravljanje napak (serijski), kar lahko vidite.
Povezan s posrednikom MQTT s preverjanjem pristnosti. Naročite se na temo 1.
Ko to natisne, lahko zdaj začnete pošiljati ukaze prek mqtt na temo, na katero se je naročil, tj. /Testsub /
Za to ploščo so ukazi:
- R13_ON: Vklop triaka na 100%.
- R13_OFF: Za izklop triaka na 0%.
- Zatemnitev: xx: Kjer je xx vrednost zatemnitve in se lahko spreminja od 0 do 99.
- Ponastavi: Če želite počistiti konfiguracijo plošče.
- Status: Natisnite stanje zatemnitve plošče na temo objave plošče.
Če želite poslati ta ukaz iz sistema, ki temelji na ubuntu, kjer je nameščen odjemalec mqtt, ga vnesite, kot je prikazano spodaj. Tu sta zaradi preverjanja pristnosti dodana dva dodatna parametra -tj. -U, ki je uporabniško ime, in -P je geslo. Upoštevajte, da sta občutljivi na velike in male črke.
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 /testingub -m R13_OFF
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testub -m Dimmer: 50
Opomba: 50 je vrednost zatemnitve
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 Status
Za najnovejši status se status natisne na temo objave plošče, ki je v našem primeru /testpub. Na naši plošči je vsaka sprememba naprave natisnjena na temo založništva plošče. Na primer, če podamo Dimmer: 50 na temo, ki je naročena na tablo, kot pri fizičnem izvajanju tega, bo odbor poslal sporočilo z zatemnjeno stopnjo na temo založništva. Primer je prikazan spodaj, Če se želite iz svojega sistema ubuntu naročiti na temo objave na deski, vnesite naslednji ukaz
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub
sporočilo, ki ga dobimo, je
DimmerIS50
spodaj je nekaj istih kratkih zaslonov (Slika 28, Slika 29)
Priporočena:
Luči razpoloženja MQTT z ESP32: 4 koraki (s slikami)
MQTT Mood Lights z ESP32: kar nekaj časa me je mikalo, da bi skočil na LED trak, zato sem stekel ven in pobral LED trak, s katerim bi se igral. Na koncu sem naredil te luči razpoloženja. Nadzorujemo jih z MQTT, kar omogoča dodajanje vseh vrst pametnosti. To je
Senzor za vrata in zaklepanje vrat na baterijah, sončni, ESP8266, ESP-Now, MQTT: 4 koraki (s slikami)
Senzor za vrata in zaklepanje vrat na baterijah, sončni, ESP8266, ESP-Now, MQTT: V tem navodilu vam bom pokazal, kako sem izdelal senzor na baterijski pogon za spremljanje vrat in zaklepanja moje daljinske lope za kolesa. Nimam napajanja iz omrežja, zato imam napajanje iz baterije. Baterijo polni majhna sončna plošča.Modul je d
Pretvarjanje vrat USB na ploščah SAMD21 v serijska vrata strojne opreme!: 3 koraki
Pretvarjanje vrat USB na ploščah SAMD21 v serijska vrata strojne opreme!: Danes je standardna uporaba vrat USB na Arduino (ali kateri koli drugi združljivi) plošči kot emulirana serijska vrata. To je zelo koristno za odpravljanje napak, pošiljanje in prejemanje podatkov z naših ljubkih desk. Delal sem na uChipwhen, ko sem pregledoval podatkovno zbirko
Plošča ARMTRONIX Wifi 30Amps: 4 koraki (s slikami)
Plošča ARMTRONIX Wifi 30Amps: UVOD: Relejna plošča Armtronix 30AMPS je IOT plošča. Značilnosti plošče so: Brezžično krmiljenje. Na plošči USB v UART. Na plošči AC do DC napajanje 230VAC do 5V DC. Videz in občutek ter velikost plošče je 105 mm X 7
ARMTRONIX WIFI ENOTNA zatemnilna plošča V0.2: 3 koraki (s slikami)
ARMTRONIX WIFI Enojna zatemnilna plošča V0.2: Armtronix Wifi zatemnilnik je plošča IOT, zasnovana za avtomatizacijo doma. Značilnosti plošče so: Brezžično krmiljenje Majhna oblika faktorja Na krovu AC do DC napajanja 230VAC do 5V DC. DC virtualno stikalo Velikost plošče je 61,50