Innehållsförteckning:
- Tillbehör
- Steg 1: Initial installation (beroende på ditt operativsystem)
- Steg 2: Mosquitto Setup:
- Steg 3: Avsluta
Video: SmartHome trådlös kommunikation: MQTT: s extrema grunder: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
Grunderna i MQTT:
** Jag kommer att göra en Home Automation -serie, jag kommer att gå igenom stegen jag tog för att lära mig allt jag har gjort i framtiden. Denna instruerbara är baslinjen för hur man ställer in MQTT för användning i mina framtida instruktioner. Lärorna i detta innehåll kommer dock att vara tillämpliga på alla projekt som man skulle vilja ta sig an. **
Sakernas internet:
Internet of Things tar över världen, och särskilt i samhällen som vårt eget här på Instructables. Ända sedan jag gick med i denna gemenskap har den förankrats i att bygga människor
Enheter anslutna till och kontrollerade över internet. När man arbetar med Internet of Things är det svårt att inte komma med protokollet MQTT. Detta är ett kommunikationsprotokoll som andra som används på Internet idag, till exempel HTTP eller FTP, men hur det fungerar är annorlunda vilket gör det perfekt för Internet of Things -applikationer.
Vad är MQTT:
MQTT (Message Queuing Telemetry Transport är ett lätt kommunikationsprotokoll som använder en publicerings-/prenumerationsarkitektur. HTTP, som är det som mest av Internet använder, är byggt på ett begäran/svarssystem. Detta innebär att det får en begäran från en klient och skickar ett svar på den klienten. MQTT har också en server (kallad mäklare) samt många klienter. I motsats till HTTP tillåter MQTT kunder att publicera eller prenumerera på specifika”ämnen”. Vad detta möjliggör är mer bred kommunikation genom en centraliserad punkt, mäklaren. Varje nod kan publicera till ett ämne på mäklaren, och alla noder som prenumererar på det ämnet kommer att få meddelandet. Kunder kan också prenumerera på flera ämnen och sedan få flera direktiv eller uppdateringar.
Hela systemet är händelsedrivet och gör att meddelanden från mäklaren kan skickas till varje prenumerantklient. Så snarare än HTTP, där klienten begär informationen, skickas klienten informationen direkt från mäklaren vid mottagandet. Det finns också inbyggda tjänster som möjliggör olika skyddsåtgärder, till exempel QOS-specifikationer. En QOS -specifikation gör det möjligt för en mäklare att avgöra om ett meddelande måste levereras högst en gång, minst en gång eller exakt en gång. Detta säkerställer att data levereras på önskat sätt till varje klient. Kunder kan också begära att publicerade meddelanden till deras ämne buffras i mäklaren om de av någon anledning kopplas bort från det. När den väl kommer tillbaka online kommer data att skickas till klienten.
Ett ämne är inget särskilt, det är bara en mängd olika strängar som kombineras och separeras med snedstreck. Formatet i exemplet som kommer att användas nedan är följande: hem/sovrum/takljus. Varje snedstreck placeras efter ett ämne för att beteckna ett delämne. Så ett meddelande kan publiceras hemma där alla enheter i huset kommer att ta emot det. Det kan publiceras direkt till hemmet/sovrummet, där alla enheter i sovrummet kommer att ta emot meddelandet. Och det kan gå ner till den specifika enheten som först visades hem/sovrum/takljus där endast taklampan i sovrummet kommer att ta emot meddelandet. Hur vi kan abstrahera enskilda enheter så här ända upp till ett helt ekosystem är oerhört praktiskt, särskilt när det gäller hemautomation. Det finns ytterligare sätt att bryta ner ämnen, och jag kommer att gå in på dem ytterligare i framtida instruktioner där applikationen är mest meningsfull.
Tillbehör
Endast ett av följande behövs:
Ubuntu:
Windows delsystem för Linux: https://ubuntu.com/wsl (endast om du inte har Linux/MacOS)
MacOS: Kräver en MacBook
Detta krävs:
Mosquitto MQTT Broker - Nedladdad med apt -get (Dokumentation:
Steg 1: Initial installation (beroende på ditt operativsystem)
MacOS/Linux:
Ingen installation behövs bara öppna upp din terminal och hoppa över till Mosquitto Setup!
Windows:
Om du använder Windows måste du installera Windows delsystem för Linux. Detta är ett super lättanvänt och extremt värdefullt verktyg som låter dig köra en Ubuntu-terminal i Windows. Du behöver inte installera och dubbla starta Ubuntu bara för att testa utvecklingen i terminalen!
Installationssteg:
1. Gå till Windows Store och sök efter ubuntu
2. Ladda ner och installera Windows delsystem för Linux
3. Öppna programmet och följ instruktionerna för att slutföra installationen och du är redo att fortsätta!
Steg 2: Mosquitto Setup:
Så som diskuterats i inledningen om MQTT kräver protokollet en mäklare (server). Denna mäklare är basen för alla etablerade anslutningar till varje klient. Alla meddelanden passeras och köas i denna mäklare. Det finns många alternativ att välja mellan för en mäklare, och du kan hitta dessa online, men den vi kommer att använda är förmodligen den vanligaste: Mosquitto.
Mosquitto är en Linux-baserad MQTT-mäklare med massor av funktioner. Jag kommer inte att gå in på detaljerna i den funktionaliteten just nu, men några grundläggande krav som den uppfyller är autentisering av användare/lösenord och stöd för TLS -kryptering som alla är användbara vid utvecklingen av Internet of Things -enheter.
Steg:
Alla dessa steg bör slutföras i ett terminalfönster.
1. Installera Mosquitto- och MQTT -klienter
sudo apt-get install mosquitto myggklienter
2. Prenumerera på ett ämne
mosquitto_sub -t "test"
Vad detta gör är att prenumerera på ett ämne. Detta ämne betecknas med "-t" och ämnesvärdet är "test". Detta värde efter "-t" kan vara allt du vill spara för några speciella bokningar.
3. Öppna ett nytt terminalfönster och publicera ett meddelande till ämnet "test"
mosquitto_pub -t "test" -m "Hej världen med MQTT!"
Detta publicerar ett meddelande till ämnet "test", så att vår andra terminalinstans kan ta emot meddelandet på prenumerationssidan. Det publicerade meddelandet betecknas med ett "-m" och meddelandevärdet är "Hello World With MQTT". Detta meddelande, precis som ämnet, kan ändras till vad du vill!
4. Gå till det första terminalfönstret för att se dina resultat! Du bör få ett meddelande som säger "Hello World With MQTT" visas. Om du inte ser det här, se till att du skrev rätt ämne i. Om du har slutfört det här, fortsätt spela med det. Prova olika ämnen, med ämnen och olika meddelanden!
Steg 3: Avsluta
Det är allt! När du har gjort allt förstår du grunderna i hur MQTT fungerar. Detta är en mycket rudimentär handledning som bara visar det minsta av MQTT -protokollet. Framtida instruktioner kommer att gå djupare igenom hur protokollet fungerar i praktiken med Internet of Things, särskilt med ESP8266 -moduler som kör Arduino. Min första praktiska applikation kommer att vara den smarta kaffebryggaren jag har för närvarande i mitt rum. Om du vill lära dig att göra en kaffebryggare som kan styras från både din telefon och Alexa, se till att följa mig för fler handledning.
Rekommenderad:
LoRa 3 km till 8 km trådlös kommunikation med låg kostnad E32 (sx1278/sx1276) enhet för Arduino, Esp8266 eller Esp32: 15 steg
LoRa 3 km till 8 km trådlös kommunikation med låg kostnad E32 (sx1278/sx1276) enhet för Arduino, Esp8266 eller Esp32: Jag skapar ett bibliotek för att hantera EBYTE E32 baserat på Semtech -serien av LoRa -enheter, mycket kraftfull, enkel och billig enhet.Du kan hitta 3Km version här, 8Km version här De kan arbeta över ett avstånd på 3000m till 8000m, och de har många funktioner och
Trådlös krypterad kommunikation Arduino: 5 steg
Trådlös krypterad kommunikation Arduino: Hej alla, I den här andra artikeln kommer jag att förklara hur du använder chipet Atecc608a för att säkra din trådlösa kommunikation. För detta kommer jag att använda NRF24L01+ för den trådlösa delen och Arduino UNO. Mikrochipet ATECC608A har designats av
Lång räckvidd, 1,8 km, Arduino till Arduino Trådlös kommunikation med HC-12 .: 6 steg (med bilder)
Lång räckvidd, 1,8 km, Arduino till Arduino Trådlös kommunikation med HC-12 .: I denna instruktör kommer du att lära dig hur du kommunicerar mellan Arduinos över en lång sträcka upp till 1,8 km utomhus. HC-12 är en trådlös seriell port kommunikationsmodul som är mycket användbar, extremt kraftfull och lätt att använda. Först lär du
Trådlös kommunikation med NRF24L01 -sändtagarmodul för Arduino -baserade projekt: 5 steg (med bilder)
Trådlös kommunikation med NRF24L01-sändtagarmodul för Arduino-baserade projekt: Detta är min andra instruerbara handledning om robotar och mikrokontroller. Det är verkligen fantastiskt att se din robot leva och fungera som förväntat och tro mig det kommer att bli roligare om du styr din robot eller andra trådlösa saker med snabb och
Trådlös kommunikation med hjälp av billiga 433MHz RF -moduler och Pic -mikrokontroller. Del 2: 4 steg (med bilder)
Trådlös kommunikation med hjälp av billiga 433MHz RF -moduler och Pic -mikrokontroller. Del 2: På den första delen av denna instruerbara, visade jag hur man programmerar en PIC12F1822 med MPLAB IDE och XC8 -kompilator, för att skicka en enkel sträng trådlöst med billiga TX/RX 433MHz -moduler. Mottagarmodulen var ansluten via en USB till UART TTL kabelannons