Innehållsförteckning:
Video: Smart Power Strip Baserat på Beaglebone Black och OpenHAB: 7 steg (med bilder)
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
!!!!! Att leka med elnät (110/220V) är farligt, var mycket MYCKET försiktig !!!!
Det finns några existerande smarta power strip -design baserade på "Raspberry Pi" och två Arduinos, som visas på bilden "Old design".
Denna nya design skiljer sig från de gamla på två sätt:
- Eftersom Raspberry Pi kan styra nRF24 med sitt eget SPI är det inte effektivt att sätta en Arduino emellan. Jag föredrar också Beaglebone Black board eftersom det är billigt och kraftfullt, och särskilt har det fler tillgängliga kringutrustning (som GPIO, SPI) än Raspberry Pi.
- I gamla mönster är det enda sättet att styra strömuttaget via webbgränssnittet (dvs. OpenHAB). Det är dock mycket obekvämt att göra det om strömkabeln är till hands. Därför i denna design har strömuttaget individuella omkopplare för varje uttag, och människor kan slå PÅ/AV varje uttag med eller utan OpenHAB (om med OpenHAB uppdateras statusen på OpenHAB varje gång den fysiska omkopplaren växlas).
Steg 1: Demo
Steg 2: Översikt
Min smarta strömkabel består av två delar: gateway och strömkabel (visas på bilden "Min design").
Gateway -sidan inkluderar:
- En svart bräda från Beaglebone
- En nRF24L01+ modul
- OpenHAB + MQTT (meddelandebuss)
Strömlistens sida innehåller:
- Tre standardbrytare+utloppskombinationer (med en 3-gångers låda)
- En Arduino pro mini board
- En nRF24L01+ modul
- Tre relämoduler
Detaljerna kommer att täckas i följande steg.
Steg 3: Gateway - hårdvara
Material:
En svart bräda från Beaglebone
En nRF24L01+ modul
En 10uF kondensator (RadioShack, ebay etc.), för att förbättra mottagningssäkerheten.
Här visar jag kopplingen mellan Beaglebone Black och radiomodulen. Jag visar också min krets för det, men en brödbräda kommer också att göra jobbet.
För att använda SPI- och nRF24 -modulen i Bealebone Black krävs två steg.
- Aktivera SPI på Beaglebone Black
- FÅ NRF24L01+ RADIOS FUNGERAR PÅ BEAGLEBONE SVART
Steg 4: Gateway - Programvara
När det gäller programvara på Beaglebone Black visas den övergripande strukturen i bild 1.
Eftersom det finns en Debian som körs på den är det mycket enkelt att installera programvara med apt-get-kommandot.
OpenHAB är Java -baserat, så det är nödvändigt att installera Java VM. Se OpenHAB-installationen för detaljer (det är för Raspberry Pi, men apt-get fungerar för båda korten). För att aktivera MQTT för OpenHAB måste filen "org.openhab.binding.mqtt-x.y.z.jar" läggas in i "addons" -mappen i OpenHAB-källmappen. Tre konfigurationsfiler behövs (bifogas nedan), där mappen "openhab.cfg", "test.sitemap" och "test.items" ska placeras i "konfigurationer", "konfigurationer/webbplatskartor" och "konfigurationer/objekt", respektive. Sedan kan OpenHAB startas genom att skriva "./start.sh".
För MQTT -bussen använder jag Mosquitto som är en open source MQTT -mäklare. Myggversionen på apt-get är ganska gammal, så jag laddar ner källkoden för att kompilera och installera.
- Hämta källkoden från den officiella webbplatsen ovan.
- Skapa en ny mapp som heter "build" i källkodmappen.
- Gå till "build", skriv "cmake.."
- Gå sedan tillbaka till den övre mappen, skriv "make" och "make install"
Slutligen är gateway -programmet bron mellan MQTT -bussen och nRF24 -modulen, och arkitekturen visas i bild 2. Det finns två köer, var och en för en riktning (dvs en för styrning CMD från OpenHAB till kraftuttaget, en för omvänd riktning). I grund och botten är det en enkel implementering av producent/konsumentlogik. Källkoden för gateway kan hittas här, den använder några C ++ 11 -funktioner (för att installera nyare GCC på Beaglebone Black, se den här artikeln) och förutsätter att nRF24 lib är installerat (se föregående steg).
Steg 5: Power Strip - Hårdvara
Material:
En Arduino pro mini board.
En nRF24L01+ modul.
En 10uF kondensator (RadioShack, ebay etc.), för att förbättra mottagningssäkerheten.
Tre 10K -motstånd (RadioShack, ebay etc.), för switch.
Tre relämoduler.
Tre standard switch/outlet -kombination och en låda, jag köpte dem från Lowe's.
En 110vac till 5vdc modul, för att driva Arduino och reläer.
En 5vdc till 3vdc step-down, för att driva nRF24.
Anslutningen visas i bild 1.
!!!!! Om du vill använda samma switch/outlet -kombination som jag, var noga med att klippa "breakoff" på den (se bild 2) !!!!! Detta är extremt viktigt eller så kan du förstöra hela din krets !!!!!
Bild 3 visar det färdiga eluttaget, som du kan se är det ganska rörigt i lådan (eftersom jag inte hittar någon tillräckligt stor från hyllplanet med individuell omkopplare att använda), men det fungerar ^_ ^!
Steg 6: Power Strip - Programvara
Jag använder samma nRF24-bibliotek för Arduino som för Beaglebone Black (här är mappen librf24-bbb för Beaglebone Black, medan den i rotmappen är för Arduino), men du kan också använda en mer robust/kraftfull version för Arduion i här.
Min källkod för nätsladden är bifogad här, använd Arduino IDE (eller andra alternativ) och en korrekt programmerare för att installera den på Arduino pro mini.
Steg 7: Slutsats
Njut av!!!