Innholdsfortegnelse:
- Trinn 1: Hva er MQTT?
- Trinn 2: Installere MQTT Broker på Raspberry Pi
- Trinn 3: Koble IOT Cricket til RaspberryPi Over MQTT
- Trinn 4: Undersøk MQTT -meldinger
- Trinn 5: Oppsummering
- Trinn 6: Om oss
Video: Ultra-lavt strøm WiFi hjemmeautomatiseringssystem: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
I dette prosjektet viser vi hvordan du kan bygge et grunnleggende lokalt hjemmeautomatiseringssystem i noen få trinn. Vi skal bruke en Raspberry Pi som vil fungere som en sentral WiFi -enhet. For sluttnoder skal vi bruke IOT Cricket til å lage batteridrevne WiFi -enheter, f.eks. temperatursensoren og koble den til RPi uten å skrive en eneste linje med kode.
Systemet vårt kommer til å være basert på MQTT kommunikasjonsprotokoll, som er enormt vedtatt i de fleste hjemmeautomatiseringssystemer. For å sette det opp velger vi Mosquitto MQTT -megler (server) og installerer det på Raspberry Pi (vår sentrale hub).
IOT Cricket leveres også med støtte for HTTP (S) og MQTT -protokoller. Vi konfigurerer den til å bruke MQTT til å kommunisere direkte til vår RPi MQTT -megler.
Dette prosjektet kan realiseres av beslutningstakere på alle ferdighetsnivåer. Det kan kreve litt grunnleggende lodding, men det krever ingen koding eller programmering. På slutten av dette prosjektet vil du få en solid idé om hvordan du enkelt kan bygge ditt eget system og raskt utvide ved å legge til dine egne IOT -sluttnoder i systemet.
Rekvisita:
- Raspberry Pi (vi brukte vers. 3 for dette prosjektet)
- IOT Cricket WiFi -modul
- 2xAAA batteriholder
- 2xAAA batterier
Trinn 1: Hva er MQTT?
MQTT -protokollen gir en lett metode for å utføre meldinger ved hjelp av en publiser/abonner -modell. Dette gjør den egnet for Internett -ting -meldinger, for eksempel sensorer med lav effekt eller mobile enheter som telefoner, innebygde datamaskiner eller mikrokontrollere. (kilde: mosquitto.org)
Vi kan bruke så mange enheter vi vil abonnere på emner og lytte etter at meldinger skal komme. Hvis noen enheter publiserer en melding om det emnet, mottar alle enheter som abonnerer på emnet den meldingen umiddelbart. Temaet kan være hvilken som helst vilkårlig streng som vanligvis er koblet til / tegn for å bygge hierarkiske emner. Den mest typiske bruken av MQTT er å ha en sentral server som enheter kan abonnere på og publisere meldinger på. Det letter all kommunikasjon mellom enheter som er koblet til den serveren. I dette prosjektet vil vi bruke RPi til å fungere som vår sentrale MQTT -megler, og alle andre enheter sender meldinger via denne megleren. Den beste måten å lære om det på er åpenbart ved å gjøre det selv. Det er mange ressurser tilgjengelig på internett på MQTT. Men for dette prosjektet bør du ha det bra med en grunnleggende introduksjon, som vi ga ovenfor.
Trinn 2: Installere MQTT Broker på Raspberry Pi
For dette prosjektet bruker vi en åpen kildekode Mosquitto MQTT -megler. Den er lett og er egnet for bruk på alle enheter fra enkeltbrettmaskiner med lav effekt til fulle servere.
Før vi begynner å installere, er det en god praksis å oppdatere systemkomponentene først:
$ sudo apt-get oppdatering $ sudo apt-get oppgradering
Installer Mosquitto megler. Åpne en terminal og skriv inn følgende kommando:
$ sudo apt -get install mygg -y
Konfigurer Mosquitto -megler. Rediger konfigurasjonsfil:
$ sudo vi /etc/mosquitto/mosquitto.conf
og legg til følgende linjer øverst:
port 1883allow_anonymous true
Start RPi på nytt for å bruke endringer:
$ sudo omstart
Det er det! Vår MQTT -megler er i gang nå!
MERK: For enkelhets skyld i dette prosjektet oppretter vi ikke kontoer. Så alle i vårt lokale nettverk kan koble seg til denne MQTT -megleren uten legitimasjon. Hvis du vil legge til brukerautentisering og gjøre det sikrere, er det mange opplæringsprogrammer på internett om hvordan du gjør det.
Nå trenger vi bare å skaffe IP -adresse slik at vi kan sende meldinger til Mosquitto -megleren fra andre enheter i nettverket:
Skaff IP -adresse:
$ vertsnavn -I
din_RPi_IP_adresse (f.eks. 192.168.1.10)
Trinn 3: Koble IOT Cricket til RaspberryPi Over MQTT
I dette prosjektet bruker vi IOT Cricket WiFi -modulen for en enkel sensor til å rapportere en temperatur hvert 30. sekund til systemet vårt. Den går på et batteri, slik at vi kan feste den hvor som helst hjemme eller i hagen. Senere kan du bruke IOT Cricket til å bygge forskjellige batteridrevne sensorer, alarmer, knapper, brytere og koble dem også til vår RPi MQTT -megler ut av esken.
I det første trinnet kobler du batteriene til Cricket.
Cricket kommer med en innebygd temperatursensor. Vi trenger bare å konfigurere den til å sende temperaturverdi til vår MQTT -megler ved å angi RPi IP -adressen. For å gjøre det, åpner Cricket konfigurasjonspanel (se trinnene her) og bruk følgende innstillinger (som vist på bildet nedenfor, vær så snill) juster IP -adressen i "url" -boksen til RPi)
Nå kan vi gå ut av konfigurasjonsmodusen. Enheten er klar! Cricket sender allerede data til vår MQTT -megler hvert 30. sekund.
Trinn 4: Undersøk MQTT -meldinger
For å se / motta meldinger sendt til vår MQTT -megler kan vi bruke forskjellige verktøy.
Den enkleste kan være et kommandolinjeverktøy mosquitto_sub. Vi kan installere den enten på hvilken som helst datamaskin i vårt nettverk eller på vår RPi med denne kommandoen:
$ sudo apt-get install mosquitto-clients -y
Nå kan vi utføre følgende kommando for å lytte til ALLE emner og meldinger som sendes via vår MQTT -megler:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
…/59A98F494C/device_name MyTemperatureDev/59A98F494C/device_sn 59A98F494C/59A98F494C/hwc_wake_up 3794/59A98F494C/hwc_wifi_enabled 3763/59A98F494C/hwc_message/
Ovenstående er et eksempel på hva IOT Cricket sender til megleren vår. Blant de andre dataene vi kan se er det en temperatur:
/59A98F494C/temp 26.0
Det fine med MQTT er at det tillater oss å abonnere på bare emner vi er interessert i. Hvis vi ønsker å motta bare en temperatur, kan vi abonnere på /59A98F494C /temp topic ved å bruke følgende kommando:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
Trinn 5: Oppsummering
Vi har vist i dette prosjektet en viktig maskinvare og programvare for å begynne å bygge laveffekt, energieffektive, hjemmeautomatiseringssystemer basert på WiFi. MQTT er essensen å bygge videre på for mer sofistikerte systemer.
Økosystemet til programvare og tjenester som kan integreres med MQTT er STORT! Det er mange flotte systemer som Home Assistant, Node RED, Grafana, etc. som lar deg få en flott brukeropplevelse av ditt eget system. Ikke bare kan vi gjøre enkle utskrifter av en temperatur, men vi kan ha flotte dashbord som visualiserer dataene og administrerer enhetene dine.
Nå som vi har denne grunnleggende systeminfrastrukturen på plass, er himmelen vår grense for hvilke andre WiFi -enheter vi kan bygge ved hjelp av IOT Cricket -moduler og legge til i vårt hjemmeautomatiseringssystem.
Takk for at du kom hit. Vi håper du likte denne opplæringen!
Things On Edge -teamet
Trinn 6: Om oss
Things On Edge er et selskap basert i Cambridge, Storbritannia. Vi designer Cricket Wi-Fi-modul med ekstremt lavt batteri, slik at du kan koble forskjellige elektroniske enheter til smarttelefoner eller andre internettjenester bokstavelig talt på få minutter. Det krever ingen programmering og koding. Den lar deg integrere enhetene dine til en enorm IOT -økosystemtjenester over MQTT- og HTTP -apis.
Anbefalt:
Gi strøm med en gammel USB -kabel: 4 trinn (med bilder)
Gi strøm med en gammel USB -ledning: Vanskelighetsgrad: e s y .. Trådkutting og skjøting Hvis du har noen gamle USB -ledninger liggende, hvorfor ikke gjøre noe nyttig med dem? Jeg trengte en måte å gi strøm til Arduino -kortet mitt uten å bruke den medfølgende USB -kabelen fordi den var for liten
DIY justerbar konstant belastning (strøm og strøm): 6 trinn (med bilder)
DIY justerbar konstant belastning (strøm og kraft): I dette prosjektet vil jeg vise deg hvordan jeg kombinerte en Arduino Nano, en strømsensor, en LCD, en roterende encoder og et par andre komplementære komponenter for å lage en justerbar konstant belastning. Den har en konstant strøm- og effektmodus og
Kraftig frittstående hjemmeautomatiseringssystem - Pi, Sonoff, ESP8266 og Node -Red: 9 trinn (med bilder)
Kraftig frittstående hjemmeautomatiseringssystem - Pi, Sonoff, ESP8266 og Node -Red: Denne guiden skal bringe deg til første base der du kan slå lyset eller apparatet på/av via en hvilken som helst enhet som kan koble seg til ditt lokale nettverk, og med en flott tilpassbart webgrensesnitt. Omfanget for utvidelse/ legge til funksjoner er stort, inkludert
Hjemmeautomatiseringssystem ved bruk av Arduino og HC-05 Bluetooth-modul: 5 trinn (med bilder)
Hjemmeautomatiseringssystem ved hjelp av Arduino og HC-05 Bluetooth-modul: Hei, gutta hvordan dere alle gjør! I dag er jeg her med min andre Arduino Instructable.It er et Bluetooth-kontrollert hjemmeautomatiseringssystem.Du kan styre husholdningsapparater bare fra smarttelefonen. Alt ting fungerer perfekt! Jeg designet også appen
Billig, enkelt, internettstyrt hjemmeautomatiseringssystem: 5 trinn (med bilder)
Billig, enkelt, internettstyrt hjemmeautomatiseringssystem: Hvis du har kjæledyr/barn og trenger å mate dem eller smiske dem via internett, kan dette systemet være til nytte for deg. Det er en veldig enkel og billig måte å kontrollere motorer, lysdioder, etc. hjemme fra hvilken som helst datamaskin som er koblet til nettet. Alt som trengs er en webc