Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Første oppsett (avhengig av operativsystemet)
- Trinn 2: Myggoppsett:
- Trinn 3: Slutt opp
Video: SmartHome trådløs kommunikasjon: det ekstreme grunnleggende om MQTT: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Grunnleggende om MQTT:
** Jeg skal lage en hjemmeautomatiseringsserie, jeg skal gå igjennom trinnene jeg tok for å lære alt jeg har gjort i fremtiden. Denne instruksjonsboken er grunnlinjen for hvordan jeg konfigurerer MQTT for bruk i mine fremtidige instrukser. Læren i dette innholdet vil imidlertid gjelde for ethvert prosjekt man ønsker å ta på seg. **
Internett av ting:
Tingenes internett tar over verden, og spesielt i lokalsamfunn som vårt eget her på Instructables. Helt siden jeg ble med i dette fellesskapet, har det blitt forankret i å bygge mennesker
Enheter koblet til og kontrollert over internett. Når du jobber med Internet of Things er det vanskelig å ikke følge protokollen MQTT. Dette er en kommunikasjonsprotokoll som andre som brukes på Internett i dag, for eksempel HTTP eller FTP, men måten den fungerer på er forskjellig, noe som gjør den ideell for Internet of Things -applikasjoner.
Hva er MQTT:
MQTT (Message Queuing Telemetry Transport er en lett kommunikasjonsprotokoll som bruker en publish/subscribe -arkitektur. HTTP, som er det meste av Internett bruker, er bygget på et forespørsels-/responssystem. Dette betyr at den får en forespørsel fra en klient og sender et svar på den klienten. MQTT har også en server (kalt en megler) samt mange klienter. I motsetning til HTTP tillater MQTT at klienter kan publisere eller abonnere på spesifikke "emner". Det dette gir mulighet for er bredere kommunikasjon gjennom et sentralisert punkt, megleren. Hver node kan publisere til et emne på megleren, og enhver node som abonnerer på dette emnet vil motta meldingen. Klienter kan også abonnere på flere emner og kan deretter motta flere direktiver eller oppdateringer.
Hele systemet er hendelsesdrevet og gjør det mulig å sende meldinger fra megleren til hver abonnentklient. Så i stedet for HTTP, hvor klienten ber om informasjonen, blir klienten sendt informasjonen direkte fra megleren ved mottak. Det er også innebygde tjenester som gir mulighet for ulike sikkerhetstiltak, for eksempel QOS-spesifikasjoner. En QOS -spesifikasjon gjør det mulig for en megler å avgjøre om en melding må leveres maksimalt en gang, minst en gang eller nøyaktig en gang. Dette sikrer at data blir levert på den nødvendige måten til hver klient. Klienter kan også be om at publiserte meldinger til emnet deres blir bufret i megleren i tilfelle de kobles fra det av en eller annen grunn. Når den kommer tilbake på nettet, blir disse dataene sendt til klienten.
Et emne er ikke noe spesielt, det er bare en rekke strenger som kombineres og skilles med skråstreker. Formatet i eksemplet som skal brukes nedenfor er følgende: home/bedroom/ceiling_light. Hver skråstrek er plassert etter et emne for å betegne et delemne. Så en melding kan bli publisert til hjemmet, der alle enheter i huset vil motta den. Den kan publiseres direkte til hjemmet/soverommet, der alle enheter på soverommet vil motta meldingen. Og den kan gå ned til den spesifikke enheten som først vist hjemme/soverom/tak_lys der bare taklampen på soverommet vil motta meldingen. Måten vi kan abstrahere individuelle enheter som dette helt opp til et helt økosystem er ekstremt praktisk, spesielt når det gjelder hjemmeautomatisering. Det er flere måter å dele emner ned på, og jeg vil gå nærmere inn på dem i fremtiden Instructables hvor applikasjonen gir mest mening.
Rekvisita
Bare ett av følgende er nødvendig:
Ubuntu:
Windows delsystem for Linux: https://ubuntu.com/wsl (bare hvis du ikke har Linux/MacOS)
MacOS: Krever en MacBook
Dette kreves:
Mosquitto MQTT Broker - Lastet ned ved hjelp av apt -get (Dokumentasjon:
Trinn 1: Første oppsett (avhengig av operativsystemet)
MacOS/Linux:
Ingen oppsett nødvendig, bare åpne opp terminalen og hopp over til Mosquitto Setup!
Windows:
Hvis du bruker Windows, må du installere Windows -delsystemet for Linux. Dette er et superenkelt brukervennlig og ekstremt verdifullt verktøy som lar deg kjøre en Ubuntu-terminal i Windows. Du trenger ikke installere og dual boot Ubuntu bare for å teste utviklingen i terminalen!
Installasjonstrinn:
1. Gå til Windows Store og søk etter ubuntu
2. Last ned og installer Windows -delsystemet for Linux
3. Åpne programmet og følg instruksjonene for å fullføre oppsettet, og du er klar til å fortsette!
Trinn 2: Myggoppsett:
Så som diskutert i innledningen om MQTT, krever protokollen en megler (server). Denne megleren er utgangspunktet for alle etablerte forbindelser til hver klient. Alle meldingene sendes gjennom og står i kø i denne megleren. Det er mange alternativer å velge mellom for en megler, og du kan finne disse på nettet, men den vi skal bruke er sannsynligvis den vanligste: Mosquitto.
Mosquitto er en Linux-basert MQTT-megler med massevis av funksjonalitet. Jeg vil ikke gå nærmere inn på detaljene i denne funksjonaliteten akkurat nå, men noen få grunnleggende krav den oppfyller er bruker-/passordgodkjenning, og TLS -krypteringsstøtte som alle er nyttige i utviklingen av Internet of Things -enheter.
Trinn:
Alle disse trinnene bør fullføres i et terminalvindu.
1. Installer Mosquitto- og MQTT -klienter
sudo apt-get install mosquitto mygg-klienter
2. Abonner på et emne
mosquitto_sub -t "test"
Hva dette gjør er å abonnere på et emne. Dette emnet er markert med "-t" og emneverdien er "test". Denne verdien etter "-t" kan være alt du vil spare for noen spesielle reservasjoner.
3. Åpne et nytt terminalvindu og publiser en melding til emnet "test"
mosquitto_pub -t "test" -m "Hei verden med MQTT!"
Dette publiserer en melding til emnet "test", slik at vår andre terminalforekomst kan motta meldingen på abonnementsiden. Den publiserte meldingen er markert med et "-m" og meldingsverdien er "Hello World With MQTT". Denne meldingen, akkurat som emnet, kan endres til hva du vil!
4. Gå til det første terminalvinduet for å se resultatene! Du bør motta en melding som sier "Hello World With MQTT" vises. Hvis du ikke ser dette, må du kontrollere at du skrev inn riktig emne. Hvis du har fullført dette, må du fortsette å leke med det. Prøv forskjellige emner, med underemner og forskjellige meldinger!
Trinn 3: Slutt opp
Det er det! Når du har fullført alt, forstår du det grunnleggende om hvordan MQTT fungerer. Dette er en veldig rudimentær opplæring som bare viser det minste minimum av MQTT -protokollen. Fremtidige instrukser vil gå grundigere gjennom hvordan protokollen fungerer i praksis med tingenes internett, spesielt med ESP8266 -moduler som kjører Arduino. Min første praktiske applikasjon vil være den smarte kaffetrakteren jeg har på rommet mitt. Hvis du vil lære å lage en kaffetrakter som kan styres fra både telefonen og Alexa, må du følge meg for flere opplæringsprogrammer.
Anbefalt:
LoRa 3 km til 8 km trådløs kommunikasjon med lavpris E32 (sx1278/sx1276) enhet for Arduino, Esp8266 eller Esp32: 15 trinn
LoRa 3 km til 8 km trådløs kommunikasjon med lavpris E32 (sx1278/sx1276) enhet for Arduino, Esp8266 eller Esp32: Jeg lager et bibliotek for å administrere EBYTE E32 basert på Semtech -serien av LoRa -enheter, veldig kraftig, enkel og billig enhet. Du finner 3Km versjon her, 8Km versjon her De kan arbeide over en avstand på 3000m til 8000m, og de har mange funksjoner og
Trådløs kryptert kommunikasjon Arduino: 5 trinn
Trådløs kryptert kommunikasjon Arduino: Hei alle sammen, I denne andre artikkelen vil jeg forklare deg hvordan du bruker brikken Atecc608a for å sikre din trådløse kommunikasjon. Til dette vil jeg bruke NRF24L01+ for den trådløse delen og Arduino UNO. Mikrochippen ATECC608A er designet av
Lang rekkevidde, 1,8 km, Arduino til Arduino Trådløs kommunikasjon med HC-12 .: 6 trinn (med bilder)
Lang rekkevidde, 1,8 km, Arduino til Arduino Trådløs kommunikasjon med HC-12 .: I denne instruksen lærer du hvordan du kommuniserer mellom Arduinos over en lang avstand opp til 1,8 km i friluft. HC-12 er en trådløs seriell port kommunikasjonsmodul som er veldig nyttig, ekstremt kraftig og enkel å bruke. Først vil du lære
Skriv det ! Klare det ! Del det!: 4 trinn
Skriv det ! Klare det ! Del det!: Elevene mine har brukt Legos for å legge til kreativitet i skriving, organisering av skriving og for å vise frem arbeidet sitt digitalt med familien og med sine jevnaldrende i klassen
Hvordan få musikk fra Nesten alle (Haha) nettsteder (så lenge du kan høre det, kan du få det Ok fint hvis det er innebygd i Flash du kanskje ikke kan) REDIGERT !!!!! Lagt til informasjon: 4 trinn
Hvordan få musikk fra Nesten alle (Haha) nettsteder (så lenge du kan høre det, kan du få det … Ok fint hvis det er innebygd i Flash du kanskje ikke kan) REDIGERT !!!!! Lagt til informasjon: hvis du noen gang går til et nettsted og den spiller en sang du liker og vil ha den, så er det instruerbart for meg, det er ikke min feil hvis du ødelegger noe (den eneste måten det vil skje er hvis du begynner å slette ting uten grunn ) Jeg har klart å få musikk til