Kazalo:

MQTT na ploščah Armtronix: 3 koraki
MQTT na ploščah Armtronix: 3 koraki

Video: MQTT na ploščah Armtronix: 3 koraki

Video: MQTT na ploščah Armtronix: 3 koraki
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, November
Anonim
MQTT na ploščah Armtronix
MQTT na ploščah Armtronix

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:

Namestitev posrednika Mqtt
Namestitev posrednika Mqtt
Namestitev posrednika Mqtt
Namestitev posrednika Mqtt
Namestitev posrednika Mqtt
Namestitev posrednika Mqtt
Namestitev posrednika Mqtt
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)

Testiranje MQTT (Mosquitto)
Testiranje MQTT (Mosquitto)
Testiranje MQTT (Mosquitto)
Testiranje MQTT (Mosquitto)
Testiranje MQTT (Mosquitto)
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

Delo z Armtronix Board & Mqtt
Delo z Armtronix Board & Mqtt
Delo z Armtronix Board & Mqtt
Delo z Armtronix Board & Mqtt
Delo z Armtronix Board & Mqtt
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: