Indholdsfortegnelse:

SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner: 3 trin
SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner: 3 trin

Video: SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner: 3 trin

Video: SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner: 3 trin
Video: eWeLink-Smart WiFi 2-Way Wall Panel Switch 2024, November
Anonim
SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner
SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner
SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner
SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner

MQTT Basics:

** Jeg skal lave en hjemmeautomatiseringsserie, jeg vil gennemgå de trin, jeg tog for at lære alt, hvad jeg har gjort i fremtiden. Denne instruktionsbog er grundlinjen for, hvordan jeg opsætter MQTT til brug i mine fremtidige instruktioner. Læren i dette indhold vil dog være gældende for ethvert projekt, man gerne vil påtage sig. **

Tingenes internet:

Tingenes internet overtager verden, og især i samfund som vores eget her på Instructables. Lige siden jeg sluttede mig til dette fællesskab, har det været forankret i mennesker, der bygger

Enheder forbundet til og kontrolleret over internettet. Når man arbejder med Internet of Things er det svært ikke at komme efter protokollen MQTT. Dette er en kommunikationsprotokol som andre, der bruges på Internettet i dag såsom HTTP eller FTP, men måden det fungerer på er anderledes, hvilket gør den ideel til Internet of Things -applikationer.

Hvad er MQTT:

MQTT (Message Queuing Telemetry Transport er en let kommunikationsprotokol, der anvender en publish/subscribe -arkitektur. HTTP, som er det meste af Internettet bruger, er bygget på et anmodnings-/responssystem. Det betyder, at det får en anmodning fra en klient og sender et svar på den klient. MQTT har også en server (kaldet en mægler) samt mange klienter. I modsætning til HTTP giver MQTT mulighed for, at klienter kan udgive eller abonnere på bestemte "emner". Det, der muliggør, er mere bred kommunikation gennem et centraliseret punkt, mægleren. Hver node kan publicere til et emne på mægleren, og enhver node, der abonnerer på dette emne, modtager beskeden. Kunder kan også abonnere på flere emner og derefter modtage flere direktiver eller opdateringer.

Hele systemet er hændelsesdrevet og gør det muligt at skubbe meddelelser fra mægleren til hver abonnerede klient. Så frem for HTTP, hvor klienten anmoder om oplysningerne, bliver klienten skubbet oplysningerne direkte fra mægleren ved modtagelse. Der er også indbyggede tjenester, der giver mulighed for forskellige sikkerhedsforanstaltninger, såsom QOS-specifikationer. En QOS -specifikation giver en mægler mulighed for at afgøre, om en besked højst skal leveres en gang, mindst en gang eller præcis en gang. Dette sikrer, at data leveres på den nødvendige måde til hver klient. Kunder kan også anmode om, at offentliggjorte meddelelser til deres emne bufferes i mægleren, hvis de af en eller anden grund bliver afbrudt fra det. Når det kommer tilbage online, bliver disse data skubbet til klienten.

Et emne er ikke noget særligt, det er bare en række forskellige strenge, der kombineres og adskilles af skråstreger. Formatet i eksemplet, der vil blive brugt nedenfor, er følgende: hjem/soveværelse/loftslys. Hver skråstreg placeres efter et emne for at betegne et delemne. Så en besked kunne blive offentliggjort til hjemmet, hvor alle enheder i huset vil modtage den. Det kunne offentliggøres direkte til hjemmet/soveværelset, hvor alle enheder i soveværelset vil modtage beskeden. Og det kan gå ned til den specifikke enhed som først vist hjem/soveværelse/loftslys, hvor kun loftslampen i soveværelset vil modtage beskeden. Den måde, hvorpå vi kan abstrahere individuelle enheder som dette helt op til et helt økosystem, er ekstremt praktisk, især når det kommer til hjemmeautomatisering. Der er flere måder at nedbryde emner på, og jeg vil gå nærmere ind på dem i fremtiden Instructables, hvor applikationen giver mest mening.

Forbrugsvarer

Der kræves kun et af følgende:

Ubuntu:

Windows -undersystem til Linux: https://ubuntu.com/wsl (Kun hvis du ikke har Linux/MacOS)

MacOS: Kræver en MacBook

Dette er påkrævet:

Mosquitto MQTT Broker - Downloadet ved hjælp af apt -get (Dokumentation:

Trin 1: Første opsætning (afhængigt af dit operativsystem)

MacOS/Linux:

Ingen opsætning er nødvendig, bare åbn din terminal og spring over til Mosquitto Setup!

Windows:

Hvis du er på Windows, skal du installere Windows -undersystemet til Linux. Dette er et super let at bruge og ekstremt værdifuldt værktøj, der giver dig mulighed for at køre en Ubuntu-terminal i Windows. Ingen grund til at installere og dual boot Ubuntu bare for at teste udviklingen i terminalen!

Installationstrin:

1. Gå til Windows Store og søg efter ubuntu

2. Download og installer Windows -undersystemet til Linux

3. Åbn programmet, og følg instruktionerne for at fuldføre opsætningen, og du er klar til at fortsætte!

Trin 2: Opsætning af myg:

Mosquitto opsætning
Mosquitto opsætning
Mosquitto opsætning
Mosquitto opsætning
Mosquitto opsætning
Mosquitto opsætning

Så som diskuteret i indledningen om MQTT, kræver protokollen en mægler (server). Denne mægler er grundlaget for alle etablerede forbindelser til hver klient. Alle meddelelser sendes igennem og står i kø i denne mægler. Der er mange muligheder at vælge imellem for en mægler, og du kan finde disse online, men den, vi vil bruge, er nok den mest almindelige: Mosquitto.

Mosquitto er en Linux-baseret MQTT-mægler med masser af funktionalitet. Jeg vil ikke komme ind på detaljerne i denne funktionalitet lige nu, men et par grundlæggende krav, den opfylder, er bruger-/adgangskodegodkendelse, og TLS -krypteringssupport, der alle er nyttige i udviklingen af Internet of Things -enheder.

Trin:

Alle disse trin skal udføres i et terminalvindue.

1. Installer Mosquitto- og MQTT -klienter

sudo apt-get install mosquitto myg-klienter

2. Abonner på et emne

mosquitto_sub -t "test"

Hvad dette gør er at abonnere på et emne. Dette emne er betegnet med "-t", og emneværdien er "test". Denne værdi efter "-t" kan være alt hvad du vil gemme til et par særlige forbehold.

3. Åbn et nyt terminalvindue, og offentliggør en besked til emnet "test"

mosquitto_pub -t "test" -m "Hej verden med MQTT!"

Dette publicerer en besked til emnet "test", så vores anden terminalinstans kan modtage beskeden på abonnementsiden. Den publicerede meddelelse er betegnet med et "-m", og meddelelsesværdien er "Hello World With MQTT". Denne besked, ligesom emnet, kan ændres til hvad du vil!

4. Gå til det første terminalvindue for at se dine resultater! Du bør modtage en meddelelse, der siger "Hello World With MQTT" vises. Hvis du ikke kan se dette, skal du sørge for at have indtastet det rigtige emne i. Hvis du har gennemført dette, skal du fortsætte med at lege med det. Prøv forskellige emner med underemner og forskellige beskeder!

Trin 3: Afslut

Det er det! Når du har det hele afsluttet, forstår du det grundlæggende i, hvordan MQTT fungerer. Dette er en meget rudimentær tutorial, der bare viser det minimale minimum af MQTT -protokollen. Future Instructables vil gå mere i dybden med, hvordan protokollen fungerer i praksis med tingenes internet, især med ESP8266 -moduler, der kører Arduino. Min første praktiske applikation vil være den smarte kaffemaskine, jeg har i øjeblikket på mit værelse. Hvis du gerne vil lære at lave en kaffemaskine, der kan styres fra både din telefon og Alexa, skal du følge mig for flere vejledninger.

Anbefalede: