Innehållsförteckning:

MQTT på Armtronix -kort: 3 steg
MQTT på Armtronix -kort: 3 steg

Video: MQTT på Armtronix -kort: 3 steg

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

I denna instruerbara skulle vi först vilja visa dig hur du kan använda ett Linux (Debian eller Ubuntu) baserat system och installera Mosquitto (Mqtt Broker) på det, också visa dig hur du använder Mqtt -klienten på din telefon (Android)/ Linux -baserad system, skicka och ta emot meddelanden via Mqtt. Efter att ha bekantat oss med detta vill vi visa dig hur du kan konfigurera och ansluta vårt kort med denna installerade Mqtt -mäklare. Vill också visa dig hur du kan lägga till autentisering till Mqtt -mäklaren och några grundläggande tips och tricks för att felsöka. Så låt oss börja ………….

Steg 1: Installera Mqtt Broker:

Installera Mqtt Broker
Installera Mqtt Broker
Installera Mqtt Broker
Installera Mqtt Broker
Installera Mqtt Broker
Installera Mqtt Broker
Installera Mqtt Broker
Installera Mqtt Broker

Det finns flera Mqtt -mäklare som du kan installera. Några kända är som nämnts nedan. Några av dem är molnbaserade tjänster.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Vi kommer att visa dig hur du installerar Mosquitto på ett Linux -baserat system (Ubuntu 18.04). För att göra detta, lägg först till Mosquitto i ubuntu -källistan. När Mosquitto är tillgängligt i Ubuntu-lagren kommer du att kunna installera det med apt-get.

Bara öppna en terminal. För att öppna en terminal, gå till vänster nedre hörnet av Ubuntu Desktop, klicka på Visa applikation (Dotted 3X3 grid). Ett fönster öppnas. Där söker du efter Terminal. Klicka på terminalen så ska du kunna se ett fönster öppet som visas i följande bilder.

  • Visa ansökan (bild 1).
  • Sök efter terminal (bild 2).
  • Terminalfönster (bild 3).

Ange följande kommandon när du har öppnat terminalen

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

sudo apt-get uppdatering

sudo apt-get install mygg

Du kan också installera Mqtt -klienten. Kommando att göra det kommer att vara

sudo apt-get install myggklienter

Några bilder som referens

  • Lägger till ppa (bild 4).
  • Uppdaterar repo (bild 5).
  • Installera Mosquitto (bild 6).
  • Installera Mosquitto Client (bild 7).

Steg 2: Testa MQTT (Mosquitto)

Testar MQTT (Mosquitto)
Testar MQTT (Mosquitto)
Testar MQTT (Mosquitto)
Testar MQTT (Mosquitto)
Testar MQTT (Mosquitto)
Testar MQTT (Mosquitto)

För att testa mqtt via ubuntu (samma system eller annat system) måste du installera mqtt-klienten som installerades tidigare med kommandot sudo apt-get install mosquitto-clients. Om du vill testa den med en mobiltelefon (android) kan du installera MyMqtt -appen från Play Store.

Mqtt arbetar med något som kallas ämnen. För enkel förståelse betrakta dessa ämnen som en mapp på en dators hårddisk. Låt oss behandla den här datorn som en datorserver (som i mqtt -världen är en Mqtt -mäklare). Låt oss överväga att ha en mapp på den här servern.

Mappnamn: /Folder_one /

Låt oss nu överväga två personer från två olika system (PC/bärbar dator) som använder denna server antingen för att läsa filer eller för att skicka/dumpa filer eller för att utföra båda operationerna.

Vi kommer att namnge de två personerna/systemet som System X, System Y (Dessa är Mqtt -klienter i Mqtt -världen).

Låt oss nu säga att System X skickar/dumpar någon fil (filnamn: temperatur) till mappen "/Folder_one/", detta i mqtt -världen kan vi kalla detta publicering (vi skickar ett meddelande/nyttolast istället för fil).

Låt oss säga att System Y vill hämta/läsa den här filen eller någon ny fil eller uppdatera i den här mappen, det första som behövs är att veta mappnamnet och sökvägen, som i vårt fall är "/Folder_one/". Så nu kommer den att gå till den här mappen och läsa/ta emot den filen (filnamn: temperatur). Att känna till sökvägen/ämnet och leta efter ändringar i filen/nya filer i Mqtt -världen är prenumeration på det ämnet.

Med tanke på ovanstående exempel, System X publicerar till “/Folder_one” och System Y har prenumerationer på “/Folder_one”

Observera också att System X också kan prenumerera på "/Folder_one" och System Y kan också publicera på "/Folder_one". På samma sätt kan även serversystemet (The Mqtt Broker) publicera/prenumerera på “/Folder_one” genom att installera Mqtt -klienten på den som vi har gjort för närvarande. Den andra saken att komma ihåg är att publicera eller prenumerera på ett ämne som du behöver veta IP -adressen till Mqtt Broker.

Först testar vi det via ubuntu -klienten som är installerad på samma system som mäklaren. Vi kommer att öppna två terminalfönster, det ena kommer att publiceras och det andra kommer att prenumerera på det. I exemplet Vi kommer att använda /Folder_one som ämne. Innan pub/sub till ett ämne måste du hitta IP -adressen för ubuntu. För att göra detta, klicka på det övre högra hörnet av skärmen, välj wifi -inställning, därifrån kan du hitta IP -adressen till ubuntu -systemet (för närvarande mäklarens IP). Skärmbilden delas för referens (bild 8).

Eller för att hitta mäklarens IP -adress kan du hitta IP -adressen genom att installera nätverktyg med följande kommando i terminalen

sudo apt installera nätverktyg

Installera nätverktyg (bild 9). Efter det skriver du bara kommandot ipconfig så får du en lista över nätverksgränssnitt med mac och IP -adress

sudo ipconfig

IP -adressen för mitt system är 192.168.1.67 (bild 10)

Att publicera

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Här är mosquitto_pub kommandot, följt av parameteridentifieringselement -h som är värd /mäklares IP -adress (i vårt fall 192.168.1.67), följt av -t som är ämnesnamn till utgivare (i vårt fall /mapp_on), följt av -m vilket betyder meddelandet/nyttolasten som ska skickas som (i vårt fall är pub_to_folderone).

Att prenumerera

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Meddelande skickat av utgivaren: pub_to_folderone

Exempel för publicering

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 fungerar”

Exempel på svar mottaget vid prenumeration på ämne

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Meddelande skickat av utgivaren:

  • pub_to_folderone
  • hej test mqtt
  • mqtt fungerar

Pub Sub i två separata terminalfönster sida vid sida (Bild 11)

Testar Mqtt på Android (min mqtt)

Installera mymqtt -appen från Play Store på din Android -telefon (bild 12)

Öppna appen och klicka på det övre vänstra hörnet (bild 13, bild 14).

Klicka på Inställningar och ange mäklarens IP -adress, porten är som standard 1883. För närvarande använder vi inte autentiserad mqtt -mäklare så användarnamn och lösenord kommer att vara tomma. Spara bara det och klicka igen i det övre vänstra hörnet av appen (<Inställningar) lådan öppnas igen (bild 15).

Högst upp i lådan visar den mäklarens IP -adress och port som appen är ansluten till (bild 16).

Lägg nu till ämnet du vill prenumerera genom att klicka på Prenumerera. Här kommer vi att lägga till ämne som /Folder_one (bild 17, bild 18).

Efter att ha gjort detta, från ubuntu -systemet med hjälp av terminal kommer vi att publicera till ämnet. När du publicerar bör du få nyttolasten/meddelandet publicerat i den här mobilappen. Till exempel publicera nyttolast som “ARM -Automation Robotics & Mechatronics”. Kommandot är som tidigare nämnts.

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

publicering från ubuntu -system (bild 19).

Fått publicerat meddelande på instrumentpanelen (bild 20).

Låt oss nu publicera från Android -telefonen (My mqtt) och prenumerera på ubuntu -systemet. I det här exemplet använder vi ämnet "/mymqtt_to_pub".

För att göra detta öppnar du först en terminal från ditt ubuntu -system och prenumererar på ämnet "/mymqtt_to_pub" med följande kommando (bild 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Gå nu till lådan i mymqtt -appen och klicka på publicera. Lägg till publiceringsämnet (i vårt fall är det "/mymqtt_to_pub") och skicka ett meddelande som om vi skickar "hej Ubuntu", tryck på skicka -knappen (bild 22, bild 23).

Meddelandet ska visas i ditt terminalfönster i ubuntu -systemet (bild 24).

Observera att både ubuntu -systemet och Android -telefonen ska vara i samma nätverk eller port 1883 bör exponeras och du bör veta IP -adressen till din router/gateway för att mqtt ska fungera. Om du vill lägga till autentisering till din mqtt-mäklare kan du göra det genom att följa nedanstående blogglänk https://medium.com/@eranda/setting-up-authenticat… Följ från bloggens steg två. Vi har aktiverat autentisering av vår mäklare och kommer att använda autentiserad mäklare för våra styrelser.

Steg 3: Arbeta med Armtronix Board & Mqtt

Arbetar med Armtronix Board & Mqtt
Arbetar med Armtronix Board & Mqtt
Arbetar med Armtronix Board & Mqtt
Arbetar med Armtronix Board & Mqtt
Arbetar med Armtronix Board & Mqtt
Arbetar med Armtronix Board & Mqtt

För närvarande för denna instruerbara, använder vi vårt Wifi Single Dimmer Board som använder Triac för att hugga sinusvågan och i sin tur dämpar glödlampan eller styr fläktens hastighet. Vi har också anslutit det genom mqtt -autentiseringstyp.

Inledningsvis har vi konfigurerat kortet. Steg för att konfigurera det är som nämnts nedan.

Power On the board, det kommer att börja vara värd för en Wifi -åtkomstpunkt.

Använd en Android -telefon eller bärbar dator för att ansluta till denna AP (bild 25).

När du är ansluten till detta AP skriver du 192.168.4.1 genom att öppna en webbläsare (chrome/firefox) från det AP -anslutna systemet/telefonen. Se till att du inte använder din dataanslutning (3G/4G).

När du skriver IP -adressen öppnas en webbsida där följande måste anges (bild 26).

  • SSID: Wifi AP -namn.
  • Lösenord: SSID -lösenord.
  • IoT -läge Mqtt eller Http (Välj Mqtt).
  • Mqtt Broker IP (I vårt fall är det 192.168.1.67).
  • Mqtt användarnamn och lösenord, eftersom vi använder autentiseringstyp har vi använt Naren, xxxx
  • Mqtt publicera ämne: Detta kommer att vara på vilket ämne styrelsen publicerar också, vi har använt /testpub.
  • Mqtt subscribe topic: Detta kommer att vara på vilket ämne styrelsen lyssnar på för kommandon för att utlösa triac, vi har använt /testsub.
  • Enhetsnamn: Det är namnet du ropar till alexa för att utlösa kortet, vi har använt corvi.

Efter att ha angett detaljerna, tryck på skicka -knappen. När du gör detta får du en skärm som visas i bild 27, vänta en stund tills styrelsen slutar vara värd för AP.

Observera att vi har anslutit vårt kort via Uart till den seriella bildskärmen för Arduino IDE. Så på vänster sida ser du felsökningsmeddelandena som det skriver ut via Uart (detta är bara för din referens).

När detta är gjort kan du se felsökningsskärmen. De flesta detaljerna kommer att synas där. Efter detta kommer det att lyckas ansluta till mäklaren på felsökningsskärmen (seriell) du kan se detta.

Ansluten till MQTT -mäklare med autentisering. Prenumerera på ämne 1.

När det har skrivit ut detta kan du nu börja skicka kommandon via mqtt om ämnet det har prenumererat på, dvs /testsub /

För detta kort är kommandon:

  • R13_ON: För att slå på triac till 100%.
  • R13_OFF: För att stänga av triac till 0%.
  • Dimmer: xx: Var, xx är dimningsvärdet och kan varieras från 0 till 99.
  • Återställ: För att radera konfigurationen av kortet.
  • Status: Skriv ut tavlans dimmerstatus på tavlans publiceringsämne.

För att skicka det här kommandot från ett ubuntu -baserat system där mqtt -klienten är installerad, skriv det bara som nedan. Två ytterligare parametrar läggs till här på grund av autentisering -dvs -u som är användarnamnet och -P är lösenordet, observera att dessa är skiftlägeskänsliga.

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

Obs: 50 är dimmervärdet

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

För den senaste statusen skrivs statusen ut på tavlans publiceringstema som i vårt fall är /testpub. På vår tavla skrivs alla ändringar i enheten ut på tavlans publiceringstema. Till exempel, om vi klarar Dimmer: 50 på tavlan som prenumererar på ämnet än på att fysiskt genomföra detta, kommer styrelsen att skicka ett meddelande som anger den nedtonade nivån på publiceringsämnet. Exempel visas nedan, För att prenumerera från ditt ubuntu -system på publiceringsämnet för tavlan anger du följande kommando

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

budskapet vi får är

DimmerIS50

några skärmar av samma är nedan (Bild 28, Bild 29)

Rekommenderad: