Indholdsfortegnelse:

MQTT på Armtronix -tavler: 3 trin
MQTT på Armtronix -tavler: 3 trin

Video: MQTT på Armtronix -tavler: 3 trin

Video: MQTT på Armtronix -tavler: 3 trin
Video: # 229 Почтовый мешок (включая тригборд Кевина Дарры), часть 1 (Шелли, Сонофф, RFID, Raspberry) 2024, November
Anonim
MQTT på Armtronix -tavler
MQTT på Armtronix -tavler

I denne instruktive vil vi i første omgang gerne vise dig, hvordan du kan bruge et Linux (Debian eller Ubuntu) baseret system og installere Mosquitto (Mqtt Broker) på det, også vise dig, hvordan du bruger Mqtt -klient på din telefon (Android)/ Linux -baseret system, afsendelse og modtagelse af beskeder via Mqtt. Efter at have stiftet bekendtskab med dette, vil vi gerne vise dig, hvordan du kan konfigurere og forbinde vores kort med denne installerede Mqtt -mægler. Vil også gerne vise dig, hvordan du kan tilføje godkendelse til Mqtt -mægleren og nogle grundlæggende tips og tricks til fejlfinding. Så lad os komme i gang ………..

Trin 1: Installation af Mqtt Broker:

Installation af Mqtt Broker
Installation af Mqtt Broker
Installation af Mqtt Broker
Installation af Mqtt Broker
Installation af Mqtt Broker
Installation af Mqtt Broker
Installation af Mqtt Broker
Installation af Mqtt Broker

Der er flere Mqtt -mæglere, du kan installere. Nogle kendte er som nævnt nedenfor. Nogle af dem er cloud -baserede tjenester.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Vi viser dig, hvordan du installerer Mosquitto på et Linux -baseret system (Ubuntu 18.04). For at gøre dette skal du først tilføje Mosquitto til ubuntu -kildelisten. Når Mosquitto er tilgængelig i Ubuntu-arkiverne, vil du være i stand til at installere det med apt-get.

Bare åbn en terminal. For at åbne en terminal skal du gå til venstre nederste hjørne af Ubuntu Desktop, klikke på Vis applikation (prikket 3X3 -gitter). Et vindue åbnes. Der søger du efter Terminal. Klik på terminal, du skal kunne se et vindue åbent som vist i de følgende billeder.

  • Vis applikation (billede 1).
  • Søg efter terminal (billede 2).
  • Terminalvindue (billede 3).

Indtast følgende kommandoer, når du har åbnet terminalen

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

sudo apt-get opdatering

sudo apt-get install mosquitto

Du kan også installere Mqtt -klienten. Kommando til at gøre det vil være

sudo apt-get install mosquitto-klienter

Nogle billeder til din reference

  • Tilføjelse af ppa (billede 4).
  • Opdaterer repo (billede 5).
  • Installation af myg (billede 6).
  • Installation af Mosquitto Client (Billede 7).

Trin 2: Test af MQTT (Mosquitto)

Test af MQTT (Mosquitto)
Test af MQTT (Mosquitto)
Test af MQTT (Mosquitto)
Test af MQTT (Mosquitto)
Test af MQTT (Mosquitto)
Test af MQTT (Mosquitto)

For at teste mqtt via ubuntu (samme system eller andet system) skal du installere mqtt-klient, som blev installeret tidligere med kommandoen sudo apt-get install mosquitto-clients. Hvis du vil teste det ved hjælp af en mobiltelefon (android), kan du installere MyMqtt -appen fra play -butikken.

Mqtt arbejder på noget, der hedder Emner. For at lette forståelsen betragtes disse emner som en mappe på en computers harddisk. Lad os behandle denne computer som en computerserver (som i mqtt -verden er en Mqtt Broker). På denne server lad os overveje at have en mappe.

Mappenavn: /Folder_one /

Lad os nu overveje to personer fra to forskellige systemer (pc/bærbar computer), der har adgang til denne server, enten for at læse filer eller sende/dumpe filer eller udføre begge operationer.

Vi vil navngive de to personer/system som System X, System Y (Disse er Mqtt -klienter i Mqtt -verdenen).

Lad os nu sige, at System X sender/dumper en fil (filnavn: temperatur) til mappen "/Folder_one/", dette i mqtt -verdenen kan vi kalde denne publicering (vi sender en besked/nyttelast i stedet for fil).

Lad os nu sige, at System Y ønsker at få/læse denne fil eller enhver ny fil eller opdatere i denne mappe, den første ting, den har brug for, er at kende mappenavn og sti, som i vores tilfælde er “/Folder_one/”. Så nu vil den gå til denne mappe og læse/modtage den fil (filnavn: temperatur). At kende stien/emnet og kontrollere for ændringer i filen/nye filer i Mqtt -verdenen er et abonnement på dette emne.

I betragtning af ovenstående eksempel, System X udgiver til “/Folder_one”, og System Y har abonnementer på “/Folder_one”

Bemærk også, at System X også kan abonnere på “/Folder_one” og System Y kan også publicere på “/Folder_one”. På samme måde kan selv serversystemet (The Mqtt Broker) udgive/abonnere på “/Folder_one” ved at installere Mqtt -klienten på den, som vi har gjort i øjeblikket. Den anden ting at huske er at offentliggøre eller abonnere på et emne, du skal kende Mqtt Brokers IP -adresse.

Først tester vi det via ubuntu -klient, der er installeret på det samme system som mægleren er. Vi åbner to terminalvinduer, hvoraf det ene vil udgive, og det andet vil abonnere på det. Som eksempel vil vi bruge /Folder_one som emne. Inden pub/sub til et emne skal du finde ubuntu's IP -adresse. For at gøre dette skal du klikke på øverste højre hjørne af skærmen, vælge wifi -indstilling, derfra vil du kunne finde ubuntu -systemets IP -adresse (i øjeblikket mægler -IP). Skærmbillede deles som reference (billede 8).

Eller for at finde mæglerens IP -adresse, du kan finde IP -adresse ved at installere netværktøjer ved hjælp af følgende kommando i terminalen

sudo apt installere netværktøjer

Installation af netværktøjer (Billede 9). Derefter skal du bare skrive kommandoen ipconfig, du får en liste over netværksgrænseflade med mac og IP -adresse

sudo ipconfig

IP -adressen på mit system er 192.168.1.67 (billede 10)

At publisere

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Her er mosquitto_pub kommandoen efterfulgt af parameteridentifikatorelement -h som er vært /mægler IP -adresse (I vores tilfælde 192.168.1.67) efterfulgt af -t som er emnetavn til udgiver (I vores tilfælde /Folder_one) efterfulgt af -m hvilket betyder meddelelsen/nyttelasten, der skal sendes (i vores tilfælde er pub_to_folderone).

At abonnere

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Meddelelse sendt af udgiveren: pub_to_folderone

Eksempel på udgivelse

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”

Eksempel på svar modtaget ved tilmelding til emne

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Meddelelse sendt af udgiveren:

  • pub_til_folderone
  • hej test mqtt
  • mqtt arbejder

Pub Sub i to separate terminalvinduer side om side (Billede 11)

Test af Mqtt på Android (min mqtt)

Installer mymqtt -appen fra play -butikken på din Android -telefon (Billede 12)

Åbn appen, og klik på øverste venstre hjørne (billede 13, billede 14).

Klik på Indstillinger og indtast mæglerens IP -adresse, porten vil som standard være 1883. I øjeblikket bruger vi ikke godkendt mqtt -mægler, så brugernavn og adgangskode er tomme. Bare gem det og klik igen i øverste venstre hjørne af appen (<Indstillinger) skuffen åbner igen (billede 15).

På toppen af skuffen viser den dig mæglerens IP -adresse og port, som appen er forbundet til (Billede 16).

Tilføj nu det emne, du ønsker at abonnere på, ved at klikke på Abonner. Her tilføjer vi emne som /Folder_one (Billede 17, Billede 18).

Efter at have gjort dette, vil vi fra ubuntu -systemet ved hjælp af terminal offentliggøre emnet. Ved udgivelse bør du få nyttelasten/meddelelsen offentliggjort på denne mobilapp. For eksempel udgivelse af nyttelast som “ARM -Automation Robotics & Mechatronics”. Kommando er som tidligere nævnt.

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

udgivelse fra ubuntu -system (billede 19).

Modtog offentliggjort besked på instrumentbrættet (billede 20).

Lad os nu udgive fra Android -telefon (My mqtt) og abonnere på ubuntu -system. I dette eksempel bruger vi emnet "/mymqtt_to_pub".

For at gøre dette skal du først åbne en terminal fra dit ubuntu -system og abonnere på emnet "/mymqtt_to_pub" ved hjælp af følgende kommando (Billede 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Gå nu til skuffen i mymqtt -appen og klik på udgiv. Tilføj udgivelsesemnet (i vores tilfælde er det “/mymqtt_to_pub”) og send en besked som om vi sender “hej Ubuntu”, tryk på send -knappen (Billede 22, Billede 23).

Meddelelsen skal vises på dit terminalvindue på ubuntu -system (Billede 24).

Bemærk, at både ubuntu -systemet og Android -telefonen skal være på det samme netværk, eller port 1883 skal være udsat, og du skal kende IP -adressen på din router/gateway, for at mqtt kan fungere. Hvis du ønsker at tilføje godkendelse til din mqtt-mægler, kan du gøre det ved at følge nedenstående bloglink https://medium.com/@eranda/setting-up-authenticat… Følg fra denne blogs trin to. Vi har aktiveret godkendelse af vores mægler og vil bruge godkendt mægler til vores bestyrelser.

Trin 3: Arbejde med Armtronix Board & Mqtt

Arbejder med Armtronix Board & Mqtt
Arbejder med Armtronix Board & Mqtt
Arbejder med Armtronix Board & Mqtt
Arbejder med Armtronix Board & Mqtt
Arbejder med Armtronix Board & Mqtt
Arbejder med Armtronix Board & Mqtt

I øjeblikket til dette instruerbare, bruger vi vores Wifi Single Dimmer Board, som bruger Triac til at hakke sinusbølgen og til gengæld dæmper pære eller styrer ventilatorens hastighed. Vi har også forbundet det via mqtt -godkendelsestype.

Oprindeligt har vi konfigureret tavlen. Trin til konfiguration er som nævnt nedenfor.

Strøm På tavlen begynder det at være vært for et Wifi Access Point.

Brug en Android -telefon eller bærbar computer til at oprette forbindelse til denne AP (billede 25).

Når den er forbundet til denne AP, skal du skrive 192.168.4.1 ved at åbne en browser (chrome/firefox) fra det AP -tilsluttede system/telefon. Sørg for, at du ikke bruger din dataforbindelse (3G/4G).

Ved indtastning af IP -adressen åbnes en webside, hvor følgende skal indtastes (billede 26).

  • SSID: Wifi AP -navn.
  • Adgangskode: SSID -adgangskode.
  • IoT -tilstand Mqtt eller Http (Vælg Mqtt).
  • Mqtt Broker IP (I vores tilfælde er det 192.168.1.67).
  • Mqtt brugernavn og adgangskode, da vi bruger godkendelsestype, har vi brugt Naren, xxxx
  • Mqtt publish topic: Dette vil også være om hvilket emne bestyrelsen udgiver, vi har brugt /testpub.
  • Mqtt subscribe topic: Dette vil være om hvilket emne boardet lytter til for kommandoer til at udløse triac, vi har brugt /testsub.
  • Enhedsnavn: Det er det navn, du kalder til alexa for at udløse kortet, vi har brugt corvi.

Når du har indtastet detaljerne, skal du trykke på knappen Send, ved at gøre dette får du en skærm som vist på billede 27, vent et stykke tid, indtil tavlen stopper med at være vært for AP.

Bemærk, at vi har tilsluttet vores bord via Uart til den serielle monitor af Arduino IDE. Så på venstre side vil du se de fejlfindingsmeddelelser, den udskriver via Uart (dette er kun til din reference).

Når dette er gjort, kan du se fejlfindingsskærmen. De fleste detaljer vil være synlige der. Efter dette vil det med succes oprette forbindelse til mægleren på fejlfindingsskærmen (seriel), du kan se dette.

Tilsluttet MQTT -mægler med godkendelse. Abonner på emne 1.

Efter at det har printet dette, kan du nu begynde at sende det kommandoer via mqtt om det emne, det har abonneret på, dvs. /testsub /

For dette bord er kommandoer:

  • R13_ON: For at tænde triac til 100%.
  • R13_OFF: For at slukke triac til 0%.
  • Dæmper: xx: Hvor, xx er dæmpningsværdien og kan varieres fra 0 til 99.
  • Nulstil: For at rydde konfigurationen af kortet.
  • Status: Udskriv tavlens dimmerstatus på tavlens udgivelsesemne.

For at sende denne kommando fra et ubuntu -baseret system, hvor mqtt -klient er installeret, skal du bare skrive den som vist herunder. To yderligere parametre tilføjes her på grund af godkendelse -dvs -u som er brugernavnet og -P er adgangskoden, vær opmærksom på, at disse er store og små bogstaver.

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 Dæmper: 50

Bemærk: 50 er dæmperens værdi

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

For den seneste status udskrives status på udgivelsestemaet på tavlen, som i vores tilfælde er /testpub. På vores tavle udskrives enhver ændring i enheden på tavlens publiceringstema. For eksempel, hvis vi passerer Dimmer: 50 på tavlen, der er abonneret på emnet end på fysisk at udføre dette, sender tavlen en meddelelse, der angiver det nedtonede niveau på udgivelsesemnet. Eksempel er vist herunder, For at abonnere fra dit ubuntu -system på bestyrelsens emne, skal du indtaste følgende kommando

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

besked vi får er

DimmerIS50

et par skærmshorts af samme er herunder (Billede 28, Billede 29)

Anbefalede: