Innholdsfortegnelse:

Smart Power Strip Basert på Beaglebone Black og OpenHAB: 7 trinn (med bilder)
Smart Power Strip Basert på Beaglebone Black og OpenHAB: 7 trinn (med bilder)

Video: Smart Power Strip Basert på Beaglebone Black og OpenHAB: 7 trinn (med bilder)

Video: Smart Power Strip Basert på Beaglebone Black og OpenHAB: 7 trinn (med bilder)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
Smart Power Strip Basert på Beaglebone Black og OpenHAB
Smart Power Strip Basert på Beaglebone Black og OpenHAB
Smart Power Strip Basert på Beaglebone Black og OpenHAB
Smart Power Strip Basert på Beaglebone Black og OpenHAB
Smart Power Strip Basert på Beaglebone Black og OpenHAB
Smart Power Strip Basert på Beaglebone Black og OpenHAB

!!!!! Å 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:

  1. 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.
  2. 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

Image
Image

Trinn 2: Oversikt

Gateway - maskinvare
Gateway - maskinvare

Min smarte strømstripe består av to deler: gateway og strømstripe (vist på bildet "Mitt design").

Gateway -siden inkluderer:

  1. Et svart hvitt brett
  2. En nRF24L01+ modul
  3. OpenHAB + MQTT (meldingsbuss)

Strømlistens side inkluderer:

  1. Tre standard brytere+uttakskombinasjoner (m/ en 3-trinns boks)
  2. Et Arduino pro mini -brett
  3. En nRF24L01+ modul
  4. Tre relémoduler

Detaljene vil bli dekket i følgende trinn.

Trinn 3: Gateway - maskinvare

Gateway - maskinvare
Gateway - maskinvare
Gateway - maskinvare
Gateway - maskinvare
Gateway - maskinvare
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.

  1. Aktiver SPI på Beaglebone Black
  2. FÅ NRF24L01+ RADIOER I GANG PÅ BEAGLEBONE SVART

Trinn 4: Gateway - Programvare

Gateway - Programvare
Gateway - Programvare
Gateway - Programvare
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.

  1. Få kildekoden fra det offisielle nettstedet ovenfor.
  2. Opprett en ny mappe kalt "build" i kildekodemappen.
  3. Gå inn i "build", skriv "cmake.."
  4. 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

Power Strip - Maskinvare
Power Strip - Maskinvare
Power Strip - Maskinvare
Power Strip - Maskinvare
Power Strip - Maskinvare
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!!!

Anbefalt: