Innholdsfortegnelse:
Video: Smart Power Strip Basert på Beaglebone Black og OpenHAB: 7 trinn (med bilder)
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
!!!!! Å leke med strømnettet (110/220V) er farlig, vær VELDIG VELDIG forsiktig !!!
Det er noen eksisterende smarte power strip -design basert på "Raspberry Pi" og to Arduinos, som er vist på bildet "Old design".
Denne nye designen skiller seg fra de gamle på to måter:
- Siden Raspberry Pi kan kontrollere nRF24 ved å bruke sitt eget SPI, er det ikke effektivt å sette en Arduino i mellom. Jeg foretrekker også Beaglebone Black board siden det er billig og kraftig, og spesielt har det flere tilgjengelige eksterne enheter (som GPIO, SPI) enn Raspberry Pi.
- I gamle design er den eneste måten å kontrollere strømuttaket gjennom webgrensesnittet (dvs. OpenHAB). Det er imidlertid veldig upraktisk å gjøre det hvis strømuttaket er tilgjengelig. Derfor i denne designen har strømuttaket individuell bryter for hvert uttak, og folk kan slå PÅ/AV hvert uttak med eller uten OpenHAB (hvis det er med OpenHAB, vil statusen på OpenHAB bli oppdatert når den fysiske bryteren slås på).
Trinn 1: Demo
Trinn 2: Oversikt
Min smarte strømstripe består av to deler: gateway og strømstripe (vist på bildet "Mitt design").
Gateway -siden inkluderer:
- Et svart hvitt brett
- En nRF24L01+ modul
- OpenHAB + MQTT (meldingsbuss)
Strømlistens side inkluderer:
- Tre standard brytere+uttakskombinasjoner (m/ en 3-trinns boks)
- Et Arduino pro mini -brett
- En nRF24L01+ modul
- Tre relémoduler
Detaljene vil bli dekket i følgende trinn.
Trinn 3: Gateway - maskinvare
Materialer:
Et svart hvitt brett
En nRF24L01+ modul
En 10uF kondensator (RadioShack, ebay etc.), for å forbedre mottakssikkerheten.
Her viser jeg forbindelsen mellom Beaglebone Black og radiomodulen. Jeg viser også kretsen min for det, men et brødbrett vil også gjøre jobben.
To trinn er nødvendig for å bruke SPI- og nRF24 -modulen i Bealebone Black.
- Aktiver SPI på Beaglebone Black
- FÅ NRF24L01+ RADIOER I GANG PÅ BEAGLEBONE SVART
Trinn 4: Gateway - Programvare
Når det gjelder programvare på Beaglebone Black, er den overordnede strukturen vist på bilde 1.
Siden det er en Debian som kjører på den, er det veldig enkelt å installere programvare ved hjelp av apt-get-kommandoen.
OpenHAB er Java -basert, så det er nødvendig å installere Java VM. Vennligst se OpenHAB-installasjonen for detaljer (det er for Raspberry Pi, men apt-get fungerer for begge brettene). For å aktivere MQTT for OpenHAB må filen "org.openhab.binding.mqtt-x.y.z.jar" legges inn i "addons" -mappen i OpenHAB-kildemappen. Det trengs tre konfigurasjonsfiler (vedlagt nedenfor), der "openhab.cfg", "test.sitemap" og "test.items" skal settes inn i "konfigurasjoner", "konfigurasjoner/nettstedskart" og "konfigurasjoner/elementer" -mappen, henholdsvis. Deretter kan OpenHAB lanseres ved å skrive "./start.sh".
For MQTT -bussen bruker jeg Mosquitto som er en åpen kildekode MQTT -megler. Mosquito-versjonen på apt-get er ganske gammel, så jeg laster ned kildekoden for å kompilere og installere.
- Få kildekoden fra det offisielle nettstedet ovenfor.
- Opprett en ny mappe kalt "build" i kildekodemappen.
- Gå inn i "build", skriv "cmake.."
- Gå deretter tilbake til den øvre mappen, skriv "make" og "make install"
Til slutt er gateway -programmet broen mellom MQTT -bussen og nRF24 -modulen, og arkitekturen er vist på bilde 2. Det er to køer, hver for en retning (dvs. en for kontroll -CMD fra OpenHAB til strømlisten, en for motsatt retning). I utgangspunktet er det en enkel implementering av produsent/forbrukerlogikk. Kildekoden til gatewayen finner du her, den bruker noen C ++ 11 -funksjoner (for å installere nyere GCC på Beaglebone Black, se denne artikkelen) og antar at nRF24 lib er installert (se forrige trinn).
Trinn 5: Power Strip - maskinvare
Materialer:
Et Arduino pro mini -brett.
En nRF24L01+ modul.
En 10uF kondensator (RadioShack, ebay etc.), for å forbedre mottakssikkerheten.
Tre 10K motstander (RadioShack, ebay etc.), for bryter.
Tre relémoduler.
Tre standard brytere/stikkontakter og en boks, jeg kjøpte dem fra Lowe's.
En 110vac til 5vdc modul, for å drive Arduino og reléer.
En nedgang på 5vdc til 3vdc, for å drive nRF24.
Tilkoblingen er vist på bilde 1.
!!!!! Hvis du vil bruke den samme bryteren/stikkontakten som meg, må du sørge for å kutte "breakoff" på den (se bilde 2) !!!!! Dette er ekstremt viktig, eller du kan ødelegge hele kretsen din !!!!
Bilde 3 viser den ferdige strømlisten, som du ser, er det ganske rot i esken (siden jeg ikke finner noen store nok fra hyllestrømstripen med individuell bryter til bruk), men det fungerer ^_ ^!
Trinn 6: Power Strip - Programvare
Jeg bruker det samme nRF24-biblioteket for Arduino som for Beaglebone Black (her er librf24-bbb-mappen for Beaglebone Black, mens den i rotmappen er for Arduino), men du kan også bruke en mer robust/kraftig versjon for Arduion i her.
Min kildekode for strømstripsiden er vedlagt her. Bruk Arduino IDE (eller andre alternativer) og en riktig programmerer for å installere den på Arduino pro mini.
Trinn 7: Konklusjon
Nyt!!!