Indholdsfortegnelse:
- Trin 1: Hvad er MQTT?
- Trin 2: Installation af MQTT Broker på Raspberry Pi
- Trin 3: Tilslut IOT Cricket til RaspberryPi Over MQTT
- Trin 4: Undersøg MQTT -meddelelser
- Trin 5: Resumé
- Trin 6: Om os
Video: Ultra-lavt strøm WiFi-hjemmeautomatiseringssystem: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
I dette projekt viser vi, hvordan du kan bygge et grundlæggende lokalt hjemmeautomatiseringssystem i få trin. Vi kommer til at bruge en Raspberry Pi, som vil fungere som en central WiFi -enhed. Hvorimod vi for slutnoder vil bruge IOT Cricket til at lave en batteridrevet WiFi -enhed f.eks. temperatursensor, og tilslut den til RPi'en uden at skrive en enkelt kodelinje.
Vores system vil være baseret på MQTT kommunikationsprotokol, som er enormt vedtaget i de fleste hjemmeautomatiseringssystemer. For at konfigurere det vælger vi Mosquitto MQTT -mægler (server) og installerer det på Raspberry Pi (vores centrale hub).
IOT Cricket leveres også med understøttelse af HTTP (S) og MQTT -protokoller. Vi konfigurerer det til at bruge MQTT til at kommunikere direkte til vores RPi MQTT -mægler.
Dette projekt kan realiseres af beslutningstagere på alle færdighedsniveauer. Det kan kræve noget grundlæggende lodning, men det kræver ikke nogen kodning eller programmering. I slutningen af dette projekt får du en solid idé om, hvordan du nemt kan opbygge dit eget system og hurtigt udvide ved at tilføje dine egne IOT -slutnoder til systemet.
Tilbehør:
- Raspberry Pi (vi brugte ver. 3 til dette projekt)
- IOT Cricket WiFi -modul
- 2xAAA batteriholder
- 2xAAA batterier
Trin 1: Hvad er MQTT?
MQTT -protokollen giver en let metode til at udføre beskeder ved hjælp af en publish/subscribe -model. Dette gør den velegnet til Internet of Things -beskeder som f.eks. Lavstrømssensorer eller mobile enheder såsom telefoner, integrerede computere eller mikrokontrollere. (kilde: mosquitto.org)
Vi kan bruge lige så mange enheder, som vi vil abonnere på emner og lytte efter, at der kommer beskeder. Hvis nogle enheder offentliggør en besked om emnet, modtager alle enheder, der abonnerer på emnet, øjeblikkeligt denne besked. Emnet kan være en vilkårlig streng, der sædvanligvis er sammenkædet med / tegn for at tillade opbygning af hierarkiske emner. Den mest typiske brug af MQTT er at have en central server, som enheder kan abonnere på og udgive meddelelser til. Det letter al kommunikation mellem enheder, der er forbundet til den server. I dette projekt vil vi bruge RPi til at fungere som vores centrale MQTT -mægler, og alle andre enheder sender meddelelser via denne mægler. Den bedste måde at lære om det på er naturligvis ved at gøre det selv. Der er masser af ressourcer tilgængelige på internettet på MQTT. Men for dette projekt bør du være okay med en grundlæggende introduktion, som vi leverede ovenfor.
Trin 2: Installation af MQTT Broker på Raspberry Pi
Til dette projekt bruger vi en open source Mosquitto MQTT -mægler. Det er let og er velegnet til brug på alle enheder fra low power single board computere til fulde servere.
Inden vi begynder at installere, er det en god praksis at opdatere systemkomponenterne først:
$ sudo apt-get opdatering $ sudo apt-get opgradering
Installer Mosquitto -mægler. Åbn en terminal, og skriv følgende kommando:
$ sudo apt -get install mosquitto -y
Konfigurer Mosquitto -mægler. Rediger konfigurationsfil:
$ sudo vi /etc/mosquitto/mosquitto.conf
og tilføj følgende linjer øverst:
port 1883allow_anonymous true
Genstart RPi for at anvende ændringer:
$ sudo genstart
Det er det! Vores MQTT -mægler er i gang nu!
BEMÆRK: For enkeltheden af dette projekt opretter vi ikke konti. Så alle i vores lokale netværk kan oprette forbindelse til denne MQTT -mægler uden legitimationsoplysninger. Hvis du vil tilføje brugergodkendelse og gøre det mere sikkert, er der masser af selvstudier på internettet om, hvordan du gør det.
Nu mangler vi bare at få IP -adresse, så vi kan sende beskeder til vores Mosquitto -mægler fra andre enheder på netværket:
Få IP -adresse:
$ værtsnavn -I
din_RPi_IP_adresse (f.eks. 192.168.1.10)
Trin 3: Tilslut IOT Cricket til RaspberryPi Over MQTT
I dette projekt bruger vi IOT Cricket WiFi -modulet til en enkel sensor til at rapportere en temperatur hvert 30. sekund til vores system. Det vil køre på et batteri, så vi kan holde det overalt derhjemme eller i en have. Senere kan du bruge IOT Cricket til at bygge forskellige batteridrevne sensorer, alarmer, knapper, kontakter og også tilslutte dem til vores RPi MQTT -mægler ud af boksen.
I det første trin tilsluttes batterier til Cricket.
Cricket leveres med en indbygget temperatursensor. Vi skal bare konfigurere den til at sende temperaturværdi til vores MQTT -mægler ved at indstille RPi IP -adressen. For at gøre det skal du åbne Cricket's konfigurationspanel (se trinene her) og anvende følgende indstillinger (som vist på billedet herunder, bedes du justere IP -adressen i "url" -boksen til din RPi)
Nu kan vi forlade konfigurationstilstanden. Enheden er klar! Cricket sender allerede data til vores MQTT -mægler hvert 30. sekund.
Trin 4: Undersøg MQTT -meddelelser
For at se / modtage beskeder sendt til vores MQTT -mægler kan vi bruge forskellige værktøjer.
Den nemmeste kan være et kommandolinjeværktøj mosquitto_sub. Vi kan installere det enten på enhver computer i vores netværk eller på vores RPi med denne kommando:
$ sudo apt-get install mosquitto-clients -y
Nu kan vi udføre følgende kommando for at lytte til ALLE emner og meddelelser, der sendes via vores MQTT -mægler:
$ myg_sub -v -h din_RPi_IP_adresse -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 outputeksempel på, hvad IOT Cricket sender til vores mægler. Blandt de andre data, vi kan se, er der en temperatur:
/59A98F494C/temp 26.0
Det skønne ved MQTT er, at det kun tillader os at abonnere på emner, som vi er interesserede i. Hvis vi kun ønsker at modtage en temperatur, kan vi abonnere på /59A98F494C /temp emne ved hjælp af følgende kommando:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
Trin 5: Resumé
Vi har i dette projekt vist en vigtig hardware og software til at begynde at bygge laveffekt, energieffektive, hjemmeautomatiseringssystemer baseret på WiFi. MQTT er essensen at bygge videre på for mere sofistikerede systemer.
Økosystemet for software og tjenester, der kan integreres med MQTT, er KÆMPE! Der er mange gode systemer som f.eks. Home Assistant, Node RED, Grafana osv., Så du kan få en fantastisk brugeroplevelse af dit eget system. Ikke alene kan vi lave simple udskrivninger af en temperatur, men vi kan have gode dashboards, der visualiserer dataene og styrer dine enheder.
Når vi nu har denne grundlæggende systeminfrastruktur på plads, er himlen vores grænse for, hvilke andre WiFi -enheder vi kan bygge ved hjælp af IOT Cricket -moduler og tilføje til vores hjemmeautomatiseringssystem.
Tak fordi du kom herop. Vi håber, at du nød denne tutorial!
Things On Edge -holdet
Trin 6: Om os
Things On Edge er et firma baseret i Cambridge, Storbritannien. Vi designer Cricket Wi-Fi-modul med ekstremt lavt batteri, så du kan tilslutte forskellige elektroniske enheder til smartphones eller andre internettjenester bogstaveligt talt på få minutter. Det kræver ingen programmering og kodning. Det giver dig mulighed for at integrere dine enheder til en enorm IOT -økosystemtjenester over MQTT- og HTTP -apis.
Anbefalede:
Konvertering af en 230V AC -pære til USB -strøm !: 6 trin (med billeder)
Konvertering af en 230V AC-pære til USB-strøm !: Jeg stødte på disse pæne flammeeffektpærer på eBay, som flimrer og har en subtil animation indbygget. De er normalt drevet af 85-265V AC-netindgang, men til bærbare applikationer som f.eks. en falsk flammende fakkel eller lanterne, dette er ikke ideelt. Jeg ændrer
D.I.Y ENKEL TRÅDLØS STRØM FRA SCRAPPER: 4 trin (med billeder)
D.I.Y ENKEL TRÅDLØS STRØM FRA SCRAPPER: I dag vil jeg gerne dele, hvordan lysdioderne tændes ved hjælp af trådløse strømtransmissioner fra en tandbørsteoplader og magnetventilspoler, der blev hentet fra skrotværket. Inden du går i gang, kan du se videoen herunder:
Giv strøm med en gammel USB -ledning: 4 trin (med billeder)
Giv strøm med en gammel USB -ledning: Sværhedsgrad: e a s y .. Trådskæring og splejsning Hvis du har nogle gamle USB -ledninger liggende, hvorfor ikke gøre noget nyttigt med dem? Jeg havde brug for en måde at levere strøm til mit Arduino -kort uden at bruge det medfølgende USB -kabel, fordi det var for l
Føj USB -porte med strøm til din bil: 5 trin (med billeder)
Føj USB -porte med strøm til din bil: Dette viser dig, hvordan du tilføjer strømforsynede USB -porte til din bil (yaris i dette tilfælde) og kobler en af dem til at drive en telefon fra instrumentbrættet for at bruge den som en GPS i din forrude. gør dette i en yaris, men det gælder for enhver bil. Jeg viser dig, hvordan du1
Eliminer standby -strøm med en skrivebordsafbryder !: 7 trin (med billeder)
Eliminer standby -strøm med en strømafbryder på skrivebordet !: Vi ved alle, at det sker. Selv når dine apparater (tv, computer, højttalere, eksterne harddiske, skærme osv.) Er slukket " OFF, " de er faktisk stadig tændt, i standbytilstand, og spilder strøm. Nogle plasma -tv bruger faktisk mere strøm i