Turinys:

„Smart Power Strip“, pagrįsta „Beaglebone Black“ir „OpenHAB“: 7 žingsniai (su nuotraukomis)
„Smart Power Strip“, pagrįsta „Beaglebone Black“ir „OpenHAB“: 7 žingsniai (su nuotraukomis)

Video: „Smart Power Strip“, pagrįsta „Beaglebone Black“ir „OpenHAB“: 7 žingsniai (su nuotraukomis)

Video: „Smart Power Strip“, pagrįsta „Beaglebone Black“ir „OpenHAB“: 7 žingsniai (su nuotraukomis)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Lapkritis
Anonim
„Smart Power Strip“, paremta „Beaglebone Black“ir „OpenHAB“
„Smart Power Strip“, paremta „Beaglebone Black“ir „OpenHAB“
„Smart Power Strip“, paremta „Beaglebone Black“ir „OpenHAB“
„Smart Power Strip“, paremta „Beaglebone Black“ir „OpenHAB“
„Smart Power Strip“, paremta „Beaglebone Black“ir „OpenHAB“
„Smart Power Strip“, paremta „Beaglebone Black“ir „OpenHAB“

!!!!! Žaisti su elektros tinklu (110/220V) yra pavojinga, būkite labai LABAI atsargūs !!!

Yra keletas išmaniųjų maitinimo juostų dizaino, pagrįstų „Raspberry Pi“ir dviem „Arduinos“, kuris parodytas paveikslėlyje „Senas dizainas“.

Šis naujas dizainas skiriasi nuo šių senų dviem būdais:

  1. Kadangi „Raspberry Pi“gali valdyti „nRF24“naudodamas savo SPI, nėra efektyvu „Arduino“įdėti į tarpą. Taip pat man labiau patinka „Beaglebone Black“plokštė, nes ji yra pigi ir galinga, o ypač turi daugiau periferinių įrenginių (pvz., GPIO, SPI) nei „Raspberry Pi“.
  2. Senuose dizainuose vienintelis būdas valdyti maitinimo šaltinį yra naudojant žiniatinklio sąsają (ty „OpenHAB“). Tačiau tai padaryti yra labai nepatogu, jei maitinimo blokas yra po ranka. Todėl šioje konstrukcijoje maitinimo blokas turi atskirą jungiklį kiekvienam lizdui, ir žmonės gali įjungti/išjungti kiekvieną lizdą su „OpenHAB“arba be jo (jei naudojate „OpenHAB“, „OpenHAB“būsena bus atnaujinta, kai tik perjungiamas fizinis jungiklis).

1 žingsnis: demonstracija

Image
Image

2 žingsnis: apžvalga

Vartai - aparatinė įranga
Vartai - aparatinė įranga

Mano išmanųjį maitinimo bloką sudaro dvi dalys: vartai ir maitinimo blokas (parodyta paveikslėlyje „Mano dizainas“).

Vartų pusėje yra:

  1. „Beaglebone Black“lenta
  2. NRF24L01+ modulis
  3. „OpenHAB + MQTT“(pranešimų magistralė)

Maitinimo bloko pusėje yra:

  1. Trys standartiniai jungiklių ir išėjimų kombinacijos (su 3 grupių dėžute)
  2. „Arduino pro“mini lenta
  3. NRF24L01+ modulis
  4. Trys relės moduliai

Išsami informacija bus aprašyta toliau.

3 žingsnis: Vartai - aparatinė įranga

Vartai - aparatinė įranga
Vartai - aparatinė įranga
Vartai - aparatinė įranga
Vartai - aparatinė įranga
Vartai - aparatinė įranga
Vartai - aparatinė įranga

Medžiagos:

„Beaglebone Black“lenta

NRF24L01+ modulis

10uF kondensatorius („RadioShack“, „ebay“ir kt.), Siekiant pagerinti priėmimo patikimumą.

Čia parodau ryšį tarp „Beaglebone Black“ir radijo modulio. Aš taip pat parodau savo grandinę, tačiau duonos lenta taip pat atliks darbą.

Norint naudoti „Bealebone Black“SPI ir nRF24 modulį, reikia atlikti du veiksmus.

  1. Įgalinti SPI „Beaglebone Black“
  2. Gaukite NRF24L01+ RADIJUS, DIRBANČIUS BEAGLEBONE BLACK

4 žingsnis: Vartai - programinė įranga

Vartai - programinė įranga
Vartai - programinė įranga
Vartai - programinė įranga
Vartai - programinė įranga

Kalbant apie „Beaglebone Black“programinę įrangą, bendra struktūra parodyta 1 paveiksle.

Kadangi jame veikia „Debian“, programinę įrangą labai lengva įdiegti naudojant komandą apt-get.

„OpenHAB“yra pagrįsta „Java“, todėl būtina įdiegti „Java VM“. Išsamesnės informacijos ieškokite „OpenHAB“diegime (jis skirtas „Raspberry Pi“, bet apt-get veikia abiem plokštėms). Jei norite įgalinti „OpenQAB“MQTT, failą „org.openhab.binding.mqtt-x.y.z.jar“reikia įdėti į „OpenHAB“šaltinio aplanko aplanką „addons“. Reikalingi trys konfigūracijos failai (pridedami žemiau), kur „openhab.cfg“, „test.sitemap“ir „test.items“turėtų būti dedami į aplanką „configuractions“, „configurators/sitemaps“ir „configurations/items“, atitinkamai. Tada „OpenHAB“galima paleisti įvedus „./start.sh“.

MQTT autobusui naudoju „Mosquitto“, kuris yra atviro kodo MQTT tarpininkas. „Mosquito“versija apt-get yra gana sena, todėl atsisiunčiu šaltinio kodą, kad galėčiau sudaryti ir įdiegti.

  1. Gaukite šaltinio kodą iš oficialios svetainės aukščiau.
  2. Šaltinio kodo aplanke sukurkite naują aplanką pavadinimu „build“.
  3. Eikite į „build“, įveskite „cmake..“
  4. Tada grįžkite į viršutinį aplanką, įveskite „make“ir „make install“

Galiausiai, šliuzo programa yra tiltas tarp MQTT magistralės ir nRF24 modulio, o architektūra parodyta 2 paveiksle. Yra dvi eilės, kiekviena viena kryptimi (ty viena, skirta CMD valdymui nuo OpenHAB iki maitinimo lizdo, viena - atvirkštine kryptimi). Iš esmės tai yra paprastas gamintojo/vartotojo logikos įgyvendinimas. Šliuzo šaltinio kodą rasite čia, jame naudojamos kai kurios C ++ 11 funkcijos (norėdami įdiegti naujesnį GCC „Beaglebone Black“, žr. Šį straipsnį) ir daroma prielaida, kad „nRF24 lib“yra įdiegta (žr. Ankstesnį veiksmą).

5 žingsnis: „Power Strip“- aparatinė įranga

„Power Strip“- aparatinė įranga
„Power Strip“- aparatinė įranga
„Power Strip“- aparatinė įranga
„Power Strip“- aparatinė įranga
„Power Strip“- aparatinė įranga
„Power Strip“- aparatinė įranga

Medžiagos:

„Arduino pro“mini lenta.

NRF24L01+ modulis.

10uF kondensatorius („RadioShack“, „ebay“ir kt.), Siekiant pagerinti priėmimo patikimumą.

Trys 10K rezistoriai („RadioShack“, „ebay“ir kt.), Skirti jungikliui.

Trys relės moduliai.

Trys standartiniai jungiklių/išėjimų deriniai ir dėžutė, aš juos nusipirkau iš „Lowe's“.

110–5 VDC modulis, skirtas „Arduino“ir relėms maitinti.

Sumažinkite 5–3 V nuolatinės srovės įtampą, kad įjungtumėte nRF24.

Ryšys parodytas 1 paveiksle.

!!!!! Jei norite naudoti tą patį jungiklio/išleidimo junginį kaip ir aš, būtinai nukirpkite „pertrauką“(žr. 2 paveikslą) !!!!! Tai labai svarbu, nes priešingu atveju galite sunaikinti visą grandinę !!!

3 paveikslėlyje parodyta baigta maitinimo juosta, kaip matote, dėžutėje yra gana netvarka (nes nerandu pakankamai didelės lentynos maitinimo juostos su atskiru jungikliu), bet ji veikia ^_ ^!

6 žingsnis: „Power Strip“- programinė įranga

„Arduino“naudoju tą pačią „nRF24“biblioteką, kaip ir „Beaglebone Black“(čia „librf24-bbb“aplankas skirtas „Beaglebone Black“, o tas, kuris yra šakniniame aplanke, skirtas „Arduino“), tačiau taip pat galite naudoti tvirtesnę/galingesnę „Arduion“versiją čia.

Čia pridedamas mano maitinimo šaltinio pusės šaltinio kodas, naudokite „Arduino IDE“(arba bet kokias kitas alternatyvas) ir tinkamą programuotoją, kad įdiegtumėte jį „Arduino pro mini“.

7 žingsnis: Išvada

Mėgautis!!!

Rekomenduojamas: