Inhaltsverzeichnis:

Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB - Gunook
Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB - Gunook

Video: Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB - Gunook

Video: Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB - Gunook
Video: swisstone SH 140 WiFi-Steckdosenleiste, 4-Fach + 4-Fach USB 2024, November
Anonim
Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB
Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB
Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB
Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB
Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB
Intelligente Steckdosenleiste basierend auf Beaglebone Black und OpenHAB

!!!!! Das Spielen mit Netzspannung (110/220V) ist gefährlich, bitte seien Sie SEHR SEHR vorsichtig !!!

Es gibt einige existierende intelligente Steckdosenleisten-Designs auf Basis von "Raspberry Pi" und zwei Arduinos, die im Bild "Altes Design" zu sehen sind.

Dieses neue Design unterscheidet sich von diesen alten in zweierlei Hinsicht:

  1. Da Raspberry Pi nRF24 über einen eigenen SPI steuern kann, ist es nicht effizient, ein Arduino dazwischen zu schalten. Außerdem bevorzuge ich das Beaglebone Black Board, da es billig und leistungsstark ist und vor allem über mehr verfügbare Peripheriegeräte (wie GPIO, SPI) als Raspberry Pi verfügt.
  2. In alten Designs ist die Steuerung der Steckdosenleiste nur über das Webinterface (d. h. OpenHAB) möglich. Dies ist jedoch sehr umständlich, wenn die Steckdosenleiste zur Hand ist. Daher verfügt die Steckdosenleiste in diesem Design über einen individuellen Schalter für jede Steckdose, und die Benutzer können jede Steckdose mit oder ohne OpenHAB ein- und ausschalten (bei OpenHAB wird der Status von OpenHAB aktualisiert, wenn der physische Schalter umgeschaltet wird).

Schritt 1: Demo

Image
Image

Schritt 2: Übersicht

Gateway - Hardware
Gateway - Hardware

Meine intelligente Steckdosenleiste besteht aus zwei Teilen: Gateway und Steckdosenleiste (im Bild "Mein Design" gezeigt).

Die Gateway-Seite umfasst:

  1. Ein Beaglebone-Schwarzes Brett
  2. Ein nRF24L01+ Modul
  3. OpenHAB + MQTT (Nachrichtenbus)

Die Seite der Steckdosenleiste enthält:

  1. Drei Standardkombinationen aus Schalter und Steckdose (mit einer 3-fach-Box)
  2. Ein Arduino Pro Miniboard
  3. Ein nRF24L01+ Modul
  4. Drei Relaismodule

Die Details werden in den folgenden Schritten behandelt.

Schritt 3: Gateway - Hardware

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

Materialien:

Ein Beaglebone-Schwarzes Brett

Ein nRF24L01+ Modul

Ein 10uF Kondensator (RadioShack, ebay etc.), um die Empfangssicherheit zu verbessern.

Hier zeige ich die Verbindung zwischen dem Beaglebone Black und dem Funkmodul. Ich zeige auch meine Schaltung dafür, aber ein Steckbrett wird auch die Arbeit erledigen.

Um das SPI- und nRF24-Modul in Bealebone Black zu verwenden, sind zwei Schritte erforderlich.

  1. Aktivieren Sie SPI auf Beaglebone Black
  2. HOL DIR NRF24L01+ RADIOS FUNKTIONIERT AUF BAGLEBONE SCHWARZ

Schritt 4: Gateway - Software

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

Softwareseitig ist beim Beaglebone Black der Gesamtaufbau in Bild 1 dargestellt.

Da ein Debian darauf läuft, ist es sehr einfach, Software mit dem Befehl apt-get zu installieren.

OpenHAB ist Java-basiert, daher ist es notwendig, Java VM zu installieren. Weitere Informationen finden Sie in der OpenHAB-Installation (für Raspberry Pi, aber apt-get funktioniert für beide Boards). Um MQTT für OpenHAB zu aktivieren, muss die Datei "org.openhab.binding.mqtt-x.y.z.jar" im Ordner "addons" im OpenHAB-Quellordner abgelegt werden. Es werden drei Konfigurationsdateien benötigt (unten angehängt), wobei "openhab.cfg", "test.sitemap" und "test.items" in die Ordner "configurations", "configurations/sitemaps" und "configurations/items" abgelegt werden sollen, bzw. Anschließend kann OpenHAB durch Eingabe von "./start.sh" gestartet werden.

Für den MQTT-Bus verwende ich Mosquitto, einen Open-Source-MQTT-Broker. Die Mosquito-Version auf apt-get ist ziemlich alt, also lade ich den Quellcode herunter, um ihn zu kompilieren und zu installieren.

  1. Holen Sie sich den Quellcode von der offiziellen Website oben.
  2. Erstellen Sie im Quellcodeordner einen neuen Ordner namens "build".
  3. Gehe in "build" und tippe "cmake.."
  4. Gehen Sie dann zurück in den oberen Ordner, geben Sie "make" und "make install" ein

Das Gateway-Programm schließlich ist die Brücke zwischen MQTT-Bus und nRF24-Modul, die Architektur ist in Bild 2 dargestellt umgekehrte Richtung). Im Grunde handelt es sich um eine einfache Producer/Consumer-Logikimplementierung. Den Quellcode des Gateways finden Sie hier, es verwendet einige C++11-Funktionen (um neuere GCC auf Beaglebone Black zu installieren, siehe diesen Artikel) und geht davon aus, dass die nRF24-Bibliothek installiert ist (siehe vorheriger Schritt).

Schritt 5: Steckdosenleiste - Hardware

Steckdosenleiste - Hardware
Steckdosenleiste - Hardware
Steckdosenleiste - Hardware
Steckdosenleiste - Hardware
Steckdosenleiste - Hardware
Steckdosenleiste - Hardware

Materialien:

Ein Arduino Pro Mini-Board.

Ein nRF24L01+-Modul.

Ein 10uF Kondensator (RadioShack, ebay etc.), um die Empfangssicherheit zu verbessern.

Drei 10K Widerstände (RadioShack, ebay etc.), für Schalter.

Drei Relaismodule.

Drei Standard-Schalter / Steckdosen-Kombinationen und eine Box, die ich bei Lowe gekauft habe.

Ein 110 VAC bis 5 VDC-Modul, um das Arduino und die Relais mit Strom zu versorgen.

Ein 5 V DC auf 3 V DC Step-Down, um den nRF24 mit Strom zu versorgen.

Die Verbindung ist in Bild 1 dargestellt.

!!!!! Wenn Sie die gleiche Schalter- / Steckdosenkombination wie ich verwenden möchten, stellen Sie bitte sicher, dass Sie den "Abbruch" darauf schneiden (siehe Bild 2) !!!!! Dies ist äußerst wichtig oder Sie können Ihre gesamte Schaltung zerstören !!!!

Bild 3 zeigt die fertige Steckdosenleiste, wie Sie sehen können, ist sie ziemlich durcheinander in der Box (da ich keine ausreichend große Steckdosenleiste mit Einzelschalter finden kann), aber sie funktioniert ^_^!

Schritt 6: Steckdosenleiste - Software

Ich verwende die gleiche nRF24-Bibliothek für Arduino wie für Beaglebone Black (hier ist der Ordner librf24-bbb für Beaglebone Black, während der im Stammordner für Arduino ist), aber Sie können auch eine robustere / leistungsstärkere Version für Arduion in verwenden Hier.

Mein Quellcode für die Steckerleistenseite ist hier angehängt, bitte verwenden Sie Arduino IDE (oder andere Alternativen) und einen richtigen Programmierer, um ihn auf dem Arduino pro mini zu installieren.

Schritt 7: Fazit

Genießen!!!

Empfohlen: