Satura rādītājs:

MQTT uz Armtronix dēļiem: 3 soļi
MQTT uz Armtronix dēļiem: 3 soļi

Video: MQTT uz Armtronix dēļiem: 3 soļi

Video: MQTT uz Armtronix dēļiem: 3 soļi
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Jūlijs
Anonim
MQTT uz Armtronix dēļiem
MQTT uz Armtronix dēļiem

Šajā pamācībā mēs sākotnēji vēlētos parādīt, kā jūs varat izmantot uz Linux (Debian vai Ubuntu) balstītu sistēmu un instalēt tajā Mosquitto (Mqtt Broker), kā arī parādīt, kā lietot Mqtt klientu savā tālrunī (Android)/ Linux sistēma, nosūtot un saņemot ziņas, izmantojot Mqtt. Pēc iepazīšanās ar to mēs vēlētos parādīt, kā jūs varat konfigurēt un savienot mūsu dēli ar šo instalēto Mqtt brokeri. Vēlos jums parādīt, kā Mqtt brokerim pievienot autentifikāciju, un dažus pamata padomus un trikus atkļūdošanai. Tātad, sāksim ………..

1. darbība: instalējiet Mqtt Broker:

Mqtt Broker instalēšana
Mqtt Broker instalēšana
Mqtt Broker instalēšana
Mqtt Broker instalēšana
Mqtt Broker instalēšana
Mqtt Broker instalēšana
Mqtt Broker instalēšana
Mqtt Broker instalēšana

Ir vairāki Mqtt brokeri, kurus varat instalēt. Daži no tiem ir zināmi zemāk. Daži no tiem ir mākoņa pakalpojumi.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Mēs jums parādīsim, kā instalēt Mosquitto uz Linux balstītas sistēmas (Ubuntu 18.04). Lai to izdarītu, vispirms pievienojiet Mosquitto ubuntu avotu sarakstam. Kad Mosquitto būs pieejams Ubuntu krātuvēs, jūs varēsit to instalēt ar apt-get.

Vienkārši atveriet termināli. Lai atvērtu termināli, dodieties uz Ubuntu darbvirsmas kreiso apakšējo stūri, noklikšķiniet uz Rādīt lietojumprogrammu (3X3 režģis). Tiks atvērts logs. Tur jūs meklējat Terminal. Noklikšķiniet uz termināļa, un jums vajadzētu redzēt atvērtu logu, kā parādīts šajos attēlos.

  • Rādīt lietojumprogrammu (1. attēls).
  • Meklēt termināli (2. attēls).
  • Termināla logs (3. attēls).

Pēc termināļa atvēršanas ievadiet šādas komandas

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

sudo apt-get update

sudo apt-get install mosquitto

Varat arī instalēt Mqtt klientu. Pavēle to darīt būs

sudo apt-get install mosquitto-customers

Daži attēli jūsu uzziņai

  • Ppa pievienošana (4. attēls).
  • Repo atjaunināšana (5. attēls).
  • Mosquitto instalēšana (6. attēls).
  • Mosquitto Client instalēšana (7. attēls).

2. darbība. MQTT (moskītu) pārbaude

MQTT (moskītu) pārbaude
MQTT (moskītu) pārbaude
MQTT (moskītu) pārbaude
MQTT (moskītu) pārbaude
MQTT (moskītu) pārbaude
MQTT (moskītu) pārbaude

Lai pārbaudītu mqtt, izmantojot ubuntu (to pašu sistēmu vai citu sistēmu), jums jāinstalē mqtt klients, kas iepriekš tika instalēts ar komandu sudo apt-get install mosquitto-customers. Ja vēlaties to pārbaudīt, izmantojot mobilo tālruni (android), varat instalēt MyMqtt lietotni no Play veikala.

Mqtt strādā pie tā, ko sauc par tēmām. Lai atvieglotu izpratni, apsveriet šīs tēmas kā mapi datora cietajā diskā. Aplūkosim šo datoru kā datora serveri (kas mqtt pasaulē ir Mqtt Broker). Šajā serverī apskatīsim vienu mapi.

Mapes nosaukums: /Folder_one /

Tagad aplūkosim divus cilvēkus no divām dažādām sistēmām (personālajiem datoriem/klēpjdatoriem), kas piekļūst šim serverim, lai lasītu failus, nosūtītu/izmestu failus vai veiktu abas darbības.

Divus cilvēkus/sistēmu mēs nosauksim par sistēmu X, sistēmu Y (tie ir Mqtt klienti Mqtt pasaulē).

Tagad pieņemsim, ka sistēma X nosūta/izgāž kādu failu (faila nosaukums: temperatūra) mapē “/Folder_one/”, šajā pasaulē mqtt mēs to varam saukt par publicēšanu (faila vietā mēs nosūtām kādu ziņojumu/lietderīgo slodzi).

Pieņemsim, ka sistēma Y vēlas iegūt/izlasīt šo failu vai jebkuru jaunu failu vai atjaunināt šajā mapē, vispirms ir jāzina mapes nosaukums un ceļš, kas mūsu gadījumā ir “/Folder_one/”. Tātad tagad tas nonāks šajā mapē un lasīs/saņems šo failu (faila nosaukums: temperatūra). Zinot ceļu/tēmu un pārbaudot izmaiņas failā/jaunos failos Mqtt pasaulē, tiek abonēta šī tēma.

Ņemot vērā iepriekš minēto piemēru, Sistēma X publicē mapē “/Folder_one”, bet Y - abonē “/Folder_one”

Ņemiet vērā arī to, ka sistēma X var arī abonēt “/Folder_one” un sistēma Y var publicēt arī mapē “/Folder_one”. Tāpat kā gudri, pat servera sistēma (The Mqtt Broker) var publicēt/abonēt “/Folder_one”, instalējot tajā Mqtt klientu, kā mēs to esam darījuši. Otra lieta, kas jāatceras, ir publicēt vai abonēt tēmu, kas jums būs jāzina Mqtt Broker IP adrese.

Vispirms mēs to pārbaudīsim, izmantojot ubuntu klientu, kas ir instalēts tajā pašā sistēmā kā brokeris. Mēs atvērsim divus termināļa logus, no kuriem viens tiks publicēts, bet otrs to abonēs. Piemēram, kā tēmu izmantosim /Folder_one. Pirms pub/tēmas, jums būs jāatrod ubuntu IP adrese. Lai to izdarītu, noklikšķiniet uz ekrāna augšējā labā stūra, atlasiet wifi iestatījumu, no kurienes jūs varēsit atrast ubuntu sistēmas IP adresi (pašlaik starpnieka IP). Ekrānuzņēmums kopīgots atsaucei (8. attēls).

Vai arī, lai atrastu brokera IP adresi, varat atrast IP adresi, instalējot tīkla rīkus, izmantojot šādu komandu terminālī

sudo apt instalēt net-tools

Tīkla rīku uzstādīšana (9. attēls). Pēc tam vienkārši ierakstiet komandu ipconfig, jūs saņemsit tīkla saskarnes sarakstu ar mac un IP adresi

sudo ipconfig

Manas sistēmas IP adrese ir 192.168.1.67 (10. attēls)

Publicēt

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Šeit komanda mosquitto_pub ir komanda, kam seko parametra identifikatora elements -h, kas ir resursdatora /brokera IP adrese (mūsu gadījumā 192.168.1.67), kam seko -t, kas ir izdevēja tēmas nosaukums (mūsu gadījumā /Folder_one), kam seko -m, kas nozīmē nosūtāmo ziņojumu/lietderīgo kravu (mūsu gadījumā tas ir pub_to_folderone).

Lai abonētu

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Izdevēja nosūtīts ziņojums: pub_to_folderone

Publicēšanas piemērs

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”

Tēmas atbildes abonēšanas piemērs

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Izdevēja nosūtīta ziņa:

  • pub_to_folderone
  • čau, mqtt
  • mqtt strādā

Pub Sub divos atsevišķos termināļa logos blakus (11. attēls)

Mqtt pārbaude operētājsistēmā Android (mans mqtt)

Instalējiet lietotni mymqtt no Play veikala savā Android tālrunī (12. attēls)

Atveriet lietotni un noklikšķiniet uz augšējā kreisā stūra (13. attēls, 14. attēls).

Noklikšķiniet uz Iestatījumi un ievadiet brokera IP adresi, pēc noklusējuma ports būs 1883. Pašlaik mēs neizmantojam autentificētu mqtt brokeri, tāpēc lietotājvārds un parole būs tukši. Vienkārši saglabājiet to un vēlreiz noklikšķiniet uz lietotnes kreisā augšējā stūra (<Iestatījumi), atvilktne tiks atvērta no jauna (15. attēls).

Atvilktnes augšpusē tas parādīs brokera IP adresi un portu, ar kuru lietotne ir savienota (16. attēls).

Tagad pievienojiet tēmu, kuru vēlaties abonēt, noklikšķinot uz Abonēt. Šeit mēs pievienosim tēmu kā /Folder_one (17. attēls, 18. attēls).

Pēc tam, izmantojot Ubuntu sistēmu, izmantojot termināli, mēs publicēsim tēmu. Publicējot, jums vajadzētu publicēt kravu/ziņojumu šajā mobilajā lietotnē. Piemēram, lietderīgās kravas publicēšana kā “ARM -Automation Robotics & Mechatronics”. Komanda ir tāda, kā minēts iepriekš.

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

publicēšana no ubuntu sistēmas (19. attēls).

Saņemts publicēts ziņojums informācijas panelī (20. attēls).

Tagad publicēsim no Android tālruņa (My mqtt) un abonēsim Ubuntu sistēmā. Šajā piemērā mēs izmantojam tēmu “/mymqtt_to_pub”.

Lai to izdarītu, vispirms atveriet termināli no savas ubuntu sistēmas un abonējiet tēmu “/mymqtt_to_pub”, izmantojot šādu komandu (21. attēls)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Tagad dodieties uz lietotnes mymqtt atvilktni un noklikšķiniet uz publicēt. Pievienojiet publicēšanas tēmu (mūsu gadījumā tas ir “/mymqtt_to_pub”) un nosūtiet kādu ziņojumu, piemēram, mēs nosūtīsim “hi Ubuntu”, nospiediet sūtīšanas pogu (22. attēls, 23. attēls).

Ziņojumam vajadzētu parādīties jūsu Ubuntu sistēmas termināla logā (24. attēls).

Ņemiet vērā, ka gan ubuntu sistēmai, gan android tālrunim jāatrodas vienā tīklā vai 1883. portam jābūt atklātam, un jums jāzina maršrutētāja/vārtejas IP adrese, lai mqtt darbotos. Ja vēlaties savam mqtt brokerim pievienot autentifikāciju, varat to izdarīt, izmantojot zemāk minēto emuāra saiti https://medium.com/@eranda/setting-up-authenticat… Izpildiet šī emuāra otro darbību. Mēs esam iespējojuši sava brokera autentifikāciju un mūsu dēļiem izmantosim autentificētu brokeri.

3. darbība. Darbs ar Armtronix Board & Mqtt

Darbs ar Armtronix Board & Mqtt
Darbs ar Armtronix Board & Mqtt
Darbs ar Armtronix Board & Mqtt
Darbs ar Armtronix Board & Mqtt
Darbs ar Armtronix Board & Mqtt
Darbs ar Armtronix Board & Mqtt

Šobrīd šajā pamācībā mēs izmantojam mūsu Wifi Single Dimmer Board, kas izmanto Triac, lai sasmalcinātu sinusa viļņu un savukārt aptumšo spuldzi vai kontrolētu ventilatora ātrumu. Arī mēs to esam savienojuši, izmantojot mqtt autentifikācijas veidu.

Sākotnēji mēs esam konfigurējuši dēli. Lai to konfigurētu, veiciet tālāk norādītās darbības.

Ieslēdzot uz tāfeles, tas sāks mitināt Wifi piekļuves punktu.

Izmantojot Android tālruni vai klēpjdatoru, izveidojiet savienojumu ar šo AP (25. attēls).

Kad ir izveidots savienojums ar šo AP, ierakstiet 192.168.4.1, atverot pārlūkprogrammu (chrome/firefox) no AP pieslēgtas sistēmas/tālruņa. Pārliecinieties, ka neizmantojat savu datu savienojumu (3G/4G).

Ievadot IP, tiks atvērta tīmekļa lapa, kurā jāievada sekojošais (26. attēls).

  • SSID: Wifi AP nosaukums.
  • Parole: SSID parole.
  • IoT režīms Mqtt vai Http (izvēlieties Mqtt).
  • Mqtt Broker IP (mūsu gadījumā tas ir 192.168.1.67).
  • Mqtt lietotājvārds un parole, jo mēs izmantojam autentifikācijas veidu, mēs esam izmantojuši Naren, xxxx
  • Mqtt publicēšanas tēma: mēs izmantosim /testpub. Šī būs arī tēma, ko valde publicēs.
  • Mqtt abonēt tēmu: Mēs izmantosim /testub. Tas būs tas, par kuru tēmu padome klausās komandas, lai iedarbinātu triac.
  • Ierīces nosaukums: tas ir vārds, kuru jūs saucat alexa, lai aktivizētu dēli, mēs esam izmantojuši corvi.

Pēc detaļu ievadīšanas nospiediet pogu Iesniegt, to darot, jūs saņemsiet ekrānu, kā parādīts 27. attēlā. Pagaidiet kādu laiku, līdz tāfele pārtrauc AP mitināšanu.

Lūdzu, ņemiet vērā, ka mēs esam pieslēguši mūsu plati caur Uart ar Arduino IDE sērijas monitoru. Tātad kreisajā pusē redzēsit atkļūdošanas ziņojumus, ko tā izdrukā, izmantojot Uart (tas ir tikai jūsu atsaucei).

Kad tas ir izdarīts, varat apskatīt atkļūdošanas ekrānu. Tur būs redzama lielākā daļa detaļu. Pēc tam tas veiksmīgi izveidos savienojumu ar brokeri atkļūdošanas (sērijas) ekrānā, ko jūs varat redzēt.

Savienots ar MQTT brokeri ar autentifikāciju. Abonēja 1. tēmu.

Kad tas ir izdrukāts, tagad varat sākt sūtīt tai komandas, izmantojot mqtt par tēmu, kuru tā ir abonējusi, ti, /testsub /

Šīs dēļa komandas ir šādas:

  • R13_ON: lai ieslēgtu triac līdz 100%.
  • R13_OFF: lai izslēgtu triac līdz 0%.
  • Dimmer: xx: kur xx ir aptumšošanas vērtība, un to var mainīt no 0 līdz 99.
  • Atiestatīt: lai notīrītu tāfeles konfigurāciju.
  • Statuss: izdrukājiet tāfeles blāvuma statusu uz tāfeles publicēšanas tēmas.

Lai nosūtītu šo komandu no ubuntu bāzes sistēmas, kurā ir instalēts mqtt klients, vienkārši ierakstiet to, kā parādīts zemāk. Autentifikācijas dēļ šeit ir pievienoti divi papildu parametri -ti, -u, kas ir lietotājvārds un -P ir parole, lūdzu, ņemiet vērā, ka tie ir reģistrjutīgi.

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 Dimmer: 50

Piezīme: 50 ir dimmera vērtība

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 Statuss

Lai iegūtu jaunāko statusu, statuss tiek izdrukāts uz tāfeles publicēšanas tēmas, kas mūsu gadījumā ir /testpub. Mūsu padomē visas ierīces izmaiņas tiek drukātas uz tāfeles publicēšanas tēmas. Piemēram, ja mēs nokārtosim Dimmer: 50 uz tāfeles abonētās tēmas, nevis fiziski to izpildot, tāfele nosūtīs ziņojumu, kurā būs norādīts publicēšanas tēmas blāvums. Piemērs ir parādīts zemāk, Lai abonētu no savas ubuntu sistēmas tāfeles publicēšanas tēmu, ievadiet šādu komandu

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

ziņa, ko mēs saņemam

DimmerIS50

Tālāk ir norādīti daži ekrāna šorti (28. attēls, 29. attēls)

Ieteicams: