Inhoudsopgave:

Smart Power Strip gebaseerd op Beaglebone Black en OpenHAB - Ajarnpa
Smart Power Strip gebaseerd op Beaglebone Black en OpenHAB - Ajarnpa

Video: Smart Power Strip gebaseerd op Beaglebone Black en OpenHAB - Ajarnpa

Video: Smart Power Strip gebaseerd op Beaglebone Black en OpenHAB - Ajarnpa
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
Slimme stekkerdoos op basis van Beaglebone Black en OpenHAB
Slimme stekkerdoos op basis van Beaglebone Black en OpenHAB
Slimme stekkerdoos op basis van Beaglebone Black en OpenHAB
Slimme stekkerdoos op basis van Beaglebone Black en OpenHAB
Slimme stekkerdoos op basis van Beaglebone Black en OpenHAB
Slimme stekkerdoos op basis van Beaglebone Black en OpenHAB

!!!!! Spelen met lichtnet (110/220V) is gevaarlijk, wees HEEL HEEL voorzichtig !!!

Er zijn enkele bestaande slimme stekkerdoosontwerpen op basis van "Raspberry Pi" en twee Arduino's, die worden weergegeven in de afbeelding "Oud ontwerp".

Dit nieuwe ontwerp verschilt op twee manieren van deze oude:

  1. Aangezien Raspberry Pi nRF24 kan besturen door zijn eigen SPI te gebruiken, is het niet efficiënt om er een Arduino tussen te zetten. Ik geef ook de voorkeur aan Beaglebone Black-board omdat het goedkoop en krachtig is, en vooral meer beschikbare randapparatuur (zoals GPIO, SPI) dan Raspberry Pi.
  2. In oude ontwerpen is de enige manier om de stekkerdoos te bedienen via de webinterface (d.w.z. OpenHAB). Het is echter erg onhandig om dit te doen als de stekkerdoos bij de hand is. Daarom heeft de stekkerdoos in dit ontwerp een individuele schakelaar voor elk stopcontact en kunnen mensen elk stopcontact met of zonder OpenHAB AAN / UIT zetten (indien met OpenHAB, wordt de status op OpenHAB bijgewerkt wanneer de fysieke schakelaar wordt geschakeld).

Stap 1: Demo

Image
Image

Stap 2: Overzicht

Gateway - Hardware
Gateway - Hardware

Mijn slimme stekkerdoos bestaat uit twee delen: gateway en stekkerdoos (te zien in de afbeelding "Mijn ontwerp").

De gatewayzijde omvat:

  1. Een Beaglebone Black-bord
  2. Een nRF24L01+ module
  3. OpenHAB + MQTT (berichtenbus)

De stekkerdooszijde omvat:

  1. Drie standaard combinaties van schakelaars en stopcontacten (met een 3-voudige doos)
  2. Een Arduino pro mini-bord
  3. Een nRF24L01+ module
  4. Drie relaismodules

De details worden in de volgende stappen behandeld.

Stap 3: Gateway - Hardware

Gateway - Hardware
Gateway - Hardware
Gateway - Hardware
Gateway - Hardware
Gateway - Hardware
Gateway - Hardware

Materialen:

Een Beaglebone Black-bord

Een nRF24L01+ module

Een 10uF condensator (RadioShack, ebay etc.), voor het verbeteren van de ontvangstbetrouwbaarheid.

Hier laat ik de verbinding zien tussen de Beaglebone Black en de radiomodule. Ik laat er ook mijn circuit voor zien, maar een breadboard zal het werk ook doen.

Om de SPI- en nRF24-module in Bealebone Black te gebruiken, zijn twee stappen nodig.

  1. SPI inschakelen op Beaglebone Black
  2. KRIJG NRF24L01+ RADIO'S DIE OP BEAGLEBONE ZWART WERKEN

Stap 4: Gateway - Software

Gateway - Software
Gateway - Software
Gateway - Software
Gateway - Software

Qua software op de Beaglebone Black is de algehele structuur weergegeven in afbeelding 1.

Omdat er een Debian op draait, is het heel eenvoudig om software te installeren met de opdracht apt-get.

OpenHAB is gebaseerd op Java, dus het is noodzakelijk om Java VM te installeren. Raadpleeg de OpenHAB-installatie voor details (het is voor Raspberry Pi, maar apt-get werkt voor beide boards). Om MQTT voor OpenHAB in te schakelen, moet het bestand "org.openhab.binding.mqtt-x.y.z.jar" in de map "addons" in de OpenHAB-bronmap worden geplaatst. Er zijn drie configuratiebestanden nodig (hieronder bijgevoegd), waar "openhab.cfg", "test.sitemap" en "test.items" in de map "configurations", "configurations/sitemaps" en "configurations/items" moeten worden geplaatst, respectievelijk. Vervolgens kan de OpenHAB worden gestart door "./start.sh" te typen.

Voor de MQTT-bus gebruik ik Mosquitto, een open source MQTT-makelaar. De Mosquito-versie op apt-get is behoorlijk oud, dus ik download de broncode om te compileren en te installeren.

  1. Haal de broncode van de officiële site hierboven.
  2. Maak in de broncodemap een nieuwe map met de naam "build".
  3. Ga naar "build", typ "cmake.."
  4. Ga dan terug naar de bovenste map, typ "make" en "make install"

Ten slotte is het gateway-programma de brug tussen de MQTT-bus en de nRF24-module, en de architectuur wordt getoond in afbeelding 2. Er zijn twee wachtrijen, elk voor één richting (dwz één voor de besturings-CMD van OpenHAB naar de stekkerdoos, één voor de tegengestelde richting). In principe is het een eenvoudige producent/consumentenlogica-implementatie. De broncode van gateway is hier te vinden, het gebruikt enkele C++11-functies (raadpleeg dit artikel om nieuwere GCC op Beaglebone Black te installeren) en gaat ervan uit dat de nRF24-lib is geïnstalleerd (raadpleeg de vorige stap).

Stap 5: Stekkerdoos - Hardware

Stekkerdoos - Hardware
Stekkerdoos - Hardware
Stekkerdoos - Hardware
Stekkerdoos - Hardware
Stekkerdoos - Hardware
Stekkerdoos - Hardware

Materialen:

Een Arduino pro mini-bord.

Een nRF24L01+-module.

Een 10uF condensator (RadioShack, ebay etc.), voor het verbeteren van de ontvangstbetrouwbaarheid.

Drie 10K weerstanden (RadioShack, ebay etc.), voor schakelaar.

Drie relaismodules.

Drie standaard schakelaars/stopcontacten en een doos, ik kocht ze bij Lowe's.

Een 110vac naar 5vdc module, om de Arduino en relais van stroom te voorzien.

Een 5vdc naar 3vdc step-down, om de nRF24 van stroom te voorzien.

De aansluiting is weergegeven in afbeelding 1.

!!!!! Als je dezelfde schakelaar/uitgang-combinatie als ik wilt gebruiken, zorg er dan voor dat je de "afbreking" erop snijdt (zie afbeelding 2) !!!!! Dit is uiterst belangrijk, anders vernietig je je hele circuit !!!

Afbeelding 3 toont de voltooide stekkerdoos, zoals je kunt zien, het is behoorlijk rommelig in de doos (omdat ik geen standaard stekkerdoos kan vinden die groot genoeg is om te gebruiken), maar het werkt ^_^!

Stap 6: Stekkerdoos - Software

Ik gebruik dezelfde nRF24-bibliotheek voor Arduino als voor Beaglebone Black (hier is de map librf24-bbb voor Beaglebone Black, terwijl die in de hoofdmap voor Arduino is), maar je kunt ook een robuustere/krachtigere versie gebruiken voor Arduion in hier.

Mijn broncode voor de kant van de stekkerdoos is hier bijgevoegd, gebruik Arduino IDE (of andere alternatieven) en een juiste programmeur om het op de Arduino pro mini te installeren.

Stap 7: Conclusie

Genieten van!!!

Aanbevolen: