Innehållsförteckning:

SmartHome trådlös kommunikation: MQTT: s extrema grunder: 3 steg
SmartHome trådlös kommunikation: MQTT: s extrema grunder: 3 steg

Video: SmartHome trådlös kommunikation: MQTT: s extrema grunder: 3 steg

Video: SmartHome trådlös kommunikation: MQTT: s extrema grunder: 3 steg
Video: Unlock the future of home security with the Aqara Doorbell G4. 2024, Juli
Anonim
SmartHome trådlös kommunikation: MQTT: s extrema grunder
SmartHome trådlös kommunikation: MQTT: s extrema grunder
SmartHome trådlös kommunikation: MQTT: s extrema grunder
SmartHome trådlös kommunikation: MQTT: s extrema grunder

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:

Mygga Setup
Mygga Setup
Mygga Setup
Mygga Setup
Mygga Setup
Mygga 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: