Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Første opsætning (afhængigt af dit operativsystem)
- Trin 2: Opsætning af myg:
- Trin 3: Afslut
Video: SmartHome trådløs kommunikation: MQTT's ekstreme grundlæggende funktioner: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
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:
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:
LoRa 3 km til 8 km trådløs kommunikation med lavpris E32 (sx1278/sx1276) enhed til Arduino, Esp8266 eller Esp32: 15 trin
LoRa 3 til 8 km trådløs kommunikation med lavpris E32 (sx1278/sx1276) enhed til Arduino, Esp8266 eller Esp32: Jeg opretter et bibliotek til at styre EBYTE E32 baseret på Semtech -serien af LoRa -enheder, meget kraftfuld, enkel og billig enhed.Du kan finde 3Km version her, 8Km version herDe kan arbejde over en afstand på 3000m til 8000m, og de har en masse funktioner og
Trådløs krypteret kommunikation Arduino: 5 trin
Trådløs krypteret kommunikation Arduino: Hej alle sammen, I denne anden artikel vil jeg forklare dig, hvordan du bruger chippen Atecc608a til at sikre din trådløse kommunikation. Til dette vil jeg bruge NRF24L01+ til den trådløse del og Arduino UNO. Mikrochippen ATECC608A er designet af
GRUNDLÆGGENDE FOR UART -KOMMUNIKATION: 16 trin
GRUNDLÆGGENDE FOR UART -KOMMUNIKATION: Husker du, da printere, mus og modemer havde tykke kabler med de enorme klodset stik? Dem der bogstaveligt talt skulle skrues ind i din computer? Disse enheder brugte sandsynligvis UART'er til at kommunikere med din computer. Mens USB har almos
Lær nogle få grundlæggende funktioner i SOLIDWORKS: Lav en seks -sidet terning: 22 trin
Lær nogle få grundlæggende funktioner i SOLIDWORKS: At lave en seks -sidet terning: Denne instruktion vil guide dig gennem de trin, der kræves for at lave en 3D -model af en seks -sidet terning. Mens du designer modellen, tegner du på fly og overflader, ekstruderer og skærer 3D -former og filet indvendige og ydre hjørner eller en 3D -model. Når
Grundlæggende trådløs strømoverførsel: 6 trin (med billeder)
Grundlæggende trådløs strømoverførsel: For omkring hundrede år siden etablerede en skør forsker et godt stykke tid før sin tid et laboratorium i Colorado Springs. Den var fyldt med den mest excentriske teknologi, lige fra massive transformere til radiotårne til gnistspoler, der genererede b