Innholdsfortegnelse:

MQTT på Armtronix -plater: 3 trinn
MQTT på Armtronix -plater: 3 trinn

Video: MQTT på Armtronix -plater: 3 trinn

Video: MQTT på Armtronix -plater: 3 trinn
Video: Home Assistant. Урок 9.4 ADD-ON - Xiaomi Gateway 3, интеграция в zigbee2mqtt 2024, Kan
Anonim
MQTT på Armtronix -plater
MQTT på Armtronix -plater

I denne instruksen vil vi først vise deg hvordan du kan bruke et Linux (Debian eller Ubuntu) basert system og installere Mosquitto (Mqtt Broker) på det, også vise deg hvordan du bruker Mqtt -klient på telefonen (Android)/ Linux -basert system, sende og motta meldinger via Mqtt. Etter å ha blitt kjent med dette, vil vi vise deg hvordan du kan konfigurere og koble vårt kort med denne installerte Mqtt -megleren. Vil også vise deg hvordan du kan legge til autentisering til Mqtt -megleren og noen grunnleggende tips og triks for å feilsøke. Så la oss komme i gang ………….

Trinn 1: Installere Mqtt Broker:

Installere Mqtt Broker
Installere Mqtt Broker
Installere Mqtt Broker
Installere Mqtt Broker
Installere Mqtt Broker
Installere Mqtt Broker
Installere Mqtt Broker
Installere Mqtt Broker

Det er flere Mqtt -meglere du kan installere. Noen kjente er som nevnt nedenfor. Noen av dem er skybaserte tjenester.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Vi viser deg hvordan du installerer Mosquitto på et Linux -basert system (Ubuntu 18.04). For å gjøre dette må du først legge Mosquitto til ubuntu -kildelisten. Når Mosquitto er tilgjengelig i Ubuntu-depotene, vil du kunne installere det med apt-get.

Bare åpne en terminal. For å åpne en terminal, gå til venstre nedre hjørne av Ubuntu Desktop, klikk på Vis program (prikket 3X3 rutenett). Et vindu åpnes. Der søker du etter Terminal. Klikk på terminalen, du bør kunne se et vindu åpent som vist på bildene nedenfor.

  • Vis applikasjon (Bilde 1).
  • Søk etter terminal (bilde 2).
  • Terminalvindu (Bilde 3).

Skriv inn følgende kommandoer etter at du har åpnet terminalen

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

sudo apt-get oppdatering

sudo apt-get install mygg

Du kan også installere Mqtt -klienten. Kommando for å gjøre det vil være

sudo apt-get install mosquitto-klienter

Noen bilder som referanse

  • Legger til ppa (Bilde 4).
  • Oppdaterer repo (Bilde 5).
  • Installere Mosquitto (Bilde 6).
  • Installere Mosquitto Client (Bilde 7).

Trinn 2: Testing av MQTT (Mosquitto)

Testing av MQTT (Mosquitto)
Testing av MQTT (Mosquitto)
Testing av MQTT (Mosquitto)
Testing av MQTT (Mosquitto)
Testing av MQTT (Mosquitto)
Testing av MQTT (Mosquitto)

For å teste mqtt via ubuntu (samme system eller annet system) må du installere mqtt-klienten som ble installert tidligere av kommandoen sudo apt-get install mosquitto-clients. Hvis du vil teste den med en mobiltelefon (android), kan du installere MyMqtt -appen fra spillbutikken.

Mqtt jobber med noe som heter Emner. For enkel forståelse, betrakter disse emnene som en mappe på datamaskinens harddisk. La oss behandle denne datamaskinen som en dataserver (som i mqtt -verden er en Mqtt -megler). I denne serveren la oss vurdere å ha en mappe.

Mappenavn: /Folder_one /

La oss nå vurdere to personer fra to forskjellige systemer (PC/bærbar PC) som får tilgang til denne serveren enten for å lese filer eller for å sende/dumpe filer eller for å utføre begge operasjonene.

Vi vil kalle de to personene/systemet som System X, System Y (Dette er Mqtt -klienter i Mqtt -verdenen).

La oss si at System X sender/dumper noen filer (filnavn: temperatur) til mappen “/Folder_one/”, dette i mqtt -verden kan vi kalle denne publiseringen (vi sender en melding/nyttelast i stedet for en fil).

La oss si at System Y ønsker å få/lese denne filen eller hvilken som helst ny fil eller oppdatere i denne mappen, det første den trenger er å kjenne mappenavnet og banen, som i vårt tilfelle er “/Folder_one/”. Så nå vil den gå til denne mappen og lese/motta den filen (filnavn: temperatur). Å kjenne banen/emnet og se etter endringer i filen/nye filer i Mqtt -verden er et abonnement på det emnet.

Med tanke på eksemplet ovenfor, System X publiserer til “/Folder_one” og System Y har abonnementer på “/Folder_one”

Vær også oppmerksom på at System X også kan abonnere på “/Folder_one” og System Y kan også publisere på “/Folder_one”. På samme måte kan selv serversystemet (The Mqtt Broker) publisere/abonnere på “/Folder_one” ved å installere Mqtt -klienten på den som vi har gjort for øyeblikket. Den andre tingen å huske er å publisere eller abonnere på et emne du trenger for å vite IP -adressen til Mqtt Broker.

Først vil vi teste den gjennom ubuntu -klienten som er installert på samme system som megleren. Vi åpner to terminalvinduer, det ene vil publisere og det andre abonnere på det. For eksempel vil vi bruke /Folder_one som tema. Før pub/sub til et emne må du finne IP -adressen til ubuntu. For å gjøre dette, klikk på øverste høyre hjørne av skjermen, velg wifi -innstilling, derfra vil du kunne finne IP -adressen til ubuntu -systemet (for tiden megler -IP). Skjermbilde delt for referanse (Bilde 8).

Eller for å finne meglerens IP -adresse, du kan finne IP -adressen ved å installere nettverktøy ved å bruke følgende kommando i terminalen

sudo apt installere nettverktøy

Installere nettverktøy (Bilde 9). Deretter skriver du bare kommandoen ipconfig, du får en liste over nettverksgrensesnitt med mac og IP -adresse

sudo ipconfig

IP -adressen til systemet mitt er 192.168.1.67 (Bilde 10)

Å publisere

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Her er mosquitto_pub kommandoen, etterfulgt av parameteridentifikatorelement -h som er vert /megler IP -adresse (I vårt tilfelle 192.168.1.67), etterfulgt av -t som er emnetavn for utgiver (I vårt tilfelle /mappe_one), etterfulgt av -m som betyr meldingen/nyttelasten som skal sendes (i vårt tilfelle er pub_to_folderone).

Å abonnere

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Melding sendt av utgiveren: pub_to_folderone

Eksempel på publisering

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 mottatt ved abonnement på emne

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Melding sendt av utgiveren:

  • pub_til_folderone
  • hei test mqtt
  • mqtt jobber

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

Testing av Mqtt på Android (min mqtt)

Installer mymqtt -appen fra spillbutikken på din Android -telefon (Bilde 12)

Åpne appen og klikk på øverste venstre hjørne (Bilde 13, Bilde 14).

Klikk på Innstillinger og angi meglerens IP -adresse, porten er som standard 1883. For øyeblikket bruker vi ikke godkjent mqtt -megler, så brukernavnet og passordet vil være tomt. Bare lagre den og klikk igjen på øverste venstre hjørne av appen (<Innstillinger) skuffen åpnes igjen (Bilde 15).

På toppen av skuffen viser den meglerens IP -adresse og port som appen er koblet til (Bilde 16).

Legg til emnet du ønsker å abonnere på ved å klikke på Abonner. Her vil vi legge til emne som /Folder_one (Bilde 17, Bilde 18).

Etter å ha gjort dette, fra ubuntu -systemet ved å bruke terminal, vil vi publisere til emnet. Ved publisering bør du få nyttelasten/meldingen publisert på denne mobilappen. For eksempel å publisere nyttelast som “ARM -Automation Robotics & Mechatronics”. Kommandoen er som nevnt tidligere.

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

publisering fra ubuntu -system (Bilde 19).

Mottatt publisert melding på dashbordet (Bilde 20).

La oss nå publisere fra Android -telefonen (My mqtt) og abonnere på ubuntu -systemet. I dette eksemplet bruker vi emnet "/mymqtt_to_pub".

For å gjøre dette må du først åpne en terminal fra ubuntu -systemet og abonnere på emnet "/mymqtt_to_pub" ved å bruke følgende kommando (Bilde 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Gå nå til skuffen i mymqtt -appen og klikk på publiser. Legg til publiseringsemnet (i vårt tilfelle er det "/mymqtt_to_pub") og send en melding som om vi sender "hei Ubuntu", trykk på send -knappen (Bilde 22, Bilde 23).

Meldingen skal vises på terminalvinduet til ubuntu -systemet (Bilde 24).

Vær oppmerksom på at både ubuntu -systemet og Android -telefonen skal være på samme nettverk eller port 1883 skal være avslørt, og du bør kjenne IP -adressen til ruteren/gatewayen for at mqtt skal fungere. Hvis du ønsker å legge til autentisering til din mqtt-megler, kan du gjøre det ved å følge bloggen nedenfor https://medium.com/@eranda/setting-up-authenticat… Følg fra bloggens trinn to. Vi har aktivert autentisering av megleren vår og bruker autentisert megler for våre brett.

Trinn 3: Arbeide med Armtronix Board & Mqtt

Arbeider med Armtronix Board & Mqtt
Arbeider med Armtronix Board & Mqtt
Arbeider med Armtronix Board & Mqtt
Arbeider med Armtronix Board & Mqtt
Arbeider med Armtronix Board & Mqtt
Arbeider med Armtronix Board & Mqtt

For øyeblikket for dette instruerbare, bruker vi vårt Wifi Single Dimmer Board som bruker Triac til å hogge sinusbølgen og i sin tur demper pære eller kontrollerer viften. Vi har også koblet den gjennom mqtt -autentiseringstype.

I utgangspunktet har vi konfigurert brettet. Trinn for å konfigurere det er som nevnt nedenfor.

Strøm På tavlen begynner det å være vert for et Wifi -tilgangspunkt.

Koble til denne AP -en ved hjelp av en Android -telefon eller bærbar datamaskin (Bilde 25).

Når du er koblet til denne AP -en, skriver du 192.168.4.1 ved å åpne en nettleser (chrome/firefox) fra det AP -tilkoblede systemet/telefonen. Sørg for at du ikke bruker datatilkoblingen (3G/4G).

Når du skriver IP -en, åpnes en webside der du må skrive inn følgende (Bilde 26).

  • SSID: Wifi AP -navn.
  • Passord: SSID -passord.
  • IoT -modus Mqtt eller Http (Velg Mqtt).
  • Mqtt Broker IP (I vårt tilfelle er det 192.168.1.67).
  • Mqtt brukernavn og passord, siden vi bruker godkjenningstype, har vi brukt Naren, xxxx
  • Mqtt publisere emne: Dette vil være om hvilket tema styret publiserer også, vi har brukt /testpub.
  • Mqtt subscribe topic: Dette vil være på hvilket tema styret lytter til for kommandoer for å utløse triacen, vi har brukt /testsub.
  • Enhetsnavn: Det er navnet du ringer til alexa for å utløse kortet, vi har brukt corvi.

Etter å ha angitt detaljene, trykker du på send -knappen. Når du gjør dette får du opp en skjerm som vist på bilde 27, vent en stund til brettet slutter å være vert for AP.

Vær oppmerksom på at vi har koblet styret vårt via Uart til den serielle skjermen til Arduino IDE. Så på venstre side vil du se feilsøkingsmeldingene den skriver ut via Uart (dette er bare for din referanse).

Når dette er gjort kan du se feilsøkingsskjermen. De fleste detaljene vil være synlige der. Etter dette vil det lykkes å koble til megleren på feilsøkings (seriell) skjermen, du kan se dette.

Koblet til MQTT -megler med autentisering. Abonner på emne 1.

Etter at den har skrevet ut denne, kan du nå begynne å sende den kommandoer via mqtt om emnet den har abonnert på, dvs. /testsub /

For dette brettet er kommandoene:

  • R13_ON: For å slå på triac til 100%.
  • R13_OFF: For å slå av triacen til 0%.
  • Dimmer: xx: Hvor, xx er dimmeverdien og kan varieres fra 0 til 99.
  • Tilbakestill: For å fjerne konfigurasjonen av brettet.
  • Status: Skriv ut tavlerens dimmerstatus for publiseringstemaet for tavlen.

For å sende denne kommandoen fra et ubuntu -basert system der mqtt -klienten er installert, bare skriv den som vist nedenfor. To ekstra parametere legges til her på grunn av autentisering -dvs. -u som er brukernavnet og -P er passordet. Vær oppmerksom på at disse er store og små bokstaver.

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

Merk: 50 er dimmerverdien

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 siste statusen, blir statusen skrevet ut på publiseringstemaet for brettet som i vårt tilfelle er /testpub. På vårt brett skrives enhver endring i enheten på publiseringstemaet for brettet. For eksempel, hvis vi passerer Dimmer: 50 på tavlen som abonnerer på temaet enn på å utføre dette fysisk, vil tavlen sende en melding om det nedtonede nivået på publiseringstemaet. Eksempelet er vist nedenfor, For å abonnere fra ditt ubuntu -system på publiseringstemaet for brettet, skriv inn følgende kommando

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

meldingen vi får er

DimmerIS50

noen få skjermshorts av samme er nedenfor (Bilde 28, Bilde 29)

Anbefalt: