Inhaltsverzeichnis:

Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung - Gunook
Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung - Gunook

Video: Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung - Gunook

Video: Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung - Gunook
Video: Bits & Bäume 2018: Mit Bytes gegen Becquerel 2024, Juli
Anonim
Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung
Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung
Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung
Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung
Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung
Sensorstationen-Netzwerk für Beleuchtungs- und Sicherheitssteuerung

Mit diesem Sensorstationen-Netzwerk, das im Master/Slave-Modus konfiguriert ist, können Sie die Beleuchtungs- und Sicherheitssteuerung in Ihrem Zuhause durchführen. Diese Sensorstationen (Node01, Node02 in diesem Projekt) sind mit einer Masterstation (Node00) verbunden, die mit Ihrem lokalen WLAN-Netzwerk verbunden ist. Ich habe den Node01 in meinem Lagerraum und den Node02 in meiner Garage installiert, um Licht und Bewegungen zu steuern. Die Masterstation ist in unserem Esszimmer installiert und mit unserem WLAN-Router verbunden. Ich habe die Klingel in der Garage und einen kleinen Summer in der Hauptstation installiert, der ertönt, wenn eine Bewegung von einer Sensorstation im Netzwerk erkannt wird.

Die Hauptmerkmale des Netzwerks sind:

  • Es ist möglich, ein Netzwerk mit mehr als zwei Sensorstationen (Slave-Stationen) zu konfigurieren (Node01, Node02, Node03, ….)
  • Durch die Verwendung von drahtlosen Transceivern mit Antenne ist das Netzwerk in der Lage, einen großen Bereich abzudecken
  • Sie können das gesamte Netzwerk von einem Mobiltelefon aus steuern
  • Senden Sie eine E-Mail (Gmail-Konto), wenn eine Bewegung erkannt wird und der Alarmmodus aktiviert ist. Wenn Sie also die Google Mail-Push-Benachrichtigungen in Ihrem Handy aktivieren, wissen Sie, wenn eine Bewegung in Ihrem Netzwerk erkannt wird

für domotische Zwecke:

  • Licht einschalten, wenn eine Bewegung erkannt wird / Licht immer einschalten (für das gesamte Netzwerk oder für jede Slave-Station)
  • Ändern Sie die Zeit in Minuten, in der das Licht eingeschaltet ist, nachdem eine Bewegung für jede Slave-Station erkannt wurde

aus Sicherheitsgründen:

  • Aktivieren und deaktivieren Sie den Alarmmodus
  • Jede Slave-Station kann ein Signal an eine Master-Station (Node00) senden, wenn der Alarmmodus aktiviert ist und eine Bewegung erkannt wird
  • Die Master-Station kann eine Klingel aktivieren und eine E-Mail senden, wenn eines dieser Signale von einer beliebigen Slave-Station empfangen wird und der Alarmmodus aktiviert ist. Die Masterstation (Node00) ist über eine WLAN-Verbindung mit dem Internet verbunden, um das gesamte System mit einem Mobiltelefon zu steuern. Es ist wie ein WifiWebServer konfiguriert

Schritt 1: Materialliste

Materialliste
Materialliste
Materialliste
Materialliste

Die Liste des Materials, das ich verwendet habe, um Node01 und Node02 (Slave-Stationen) zu bauen, ist die folgende:

  • Mega 2560 R3-Platine
  • Kunststoffträger für MEGA 2560 R3
  • HC-SR501 PIR-Sensor
  • Kunststoffhalterung für HC-SR501
  • 5V Relais
  • Funk-Transceiver-Modul 2.4G 1100m NRF24L01+PA+LNA mit Antenne LKY67
  • 8Pin NRF24L01 Adapter (um die Funktionen des NRF24L01 zu verbessern)
  • HLK-PM01 AC DC 220V bis 5V Mini-Netzteil

Die Materialliste zum Bau des Node00 (Master-Stationen) ist die folgende:

  • Mega 2560 R3-Platine
  • Kunststoffträger für MEGA 2560 R3
  • WLAN-Modul NodeMCU Lua Amica V2 ESP8266
  • Funk-Transceiver-Modul 2.4G 1100m NRF24L01+PA+LNA mit Antenne LKY67
  • 5V-3,3V VCC-Adapterplatine für NRF24L01 (um die Funktionen des NRF24L01 zu verbessern)
  • Netzteil AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Außerdem habe ich folgendes Material verwendet:

  • 2 Pin 5 mm PCB-Anschlüsse
  • Überbrückungsdrähte
  • Steckbrett MB-102 (800 Kontakte)
  • Mini Solderless Breadboard 170 Kontakte
  • Set aus LEDs und Widerständen
  • Leiterplatten
  • Zinn-Lötkolben-Kit
  • Klebepistole
  • Transparentes Methacrylat
  • Klingel

Schritt 2: So verbinden und programmieren Sie Node01 und Node02 (Slave-Stationen)

So verbinden und programmieren Sie Node01 und Node02 (Slave-Stationen)
So verbinden und programmieren Sie Node01 und Node02 (Slave-Stationen)
So verbinden und programmieren Sie Node01 und Node02 (Slave-Stationen)
So verbinden und programmieren Sie Node01 und Node02 (Slave-Stationen)

Um den Sketch "SlaveSation.ino" zu programmieren, benötigte ich die RF24-Bibliothek und die RF24-Netzwerkbibliothek.

Im obigen Flussdiagramm sehen Sie die Logik der Sensorstation und die Nachrichten, die zwischen einer Slave-Sensorstation und der Master-Station ausgetauscht werden.

Bevor Sie den Sketch laden, müssen Sie die Adresse des Slave-Knotens im Oktalformat konfigurieren

const uint16_t this_node = 01; // Adresse unseres Knotens im Oktalformat (Slave): 01, 02, 03 …

Die Bedeutung der LEDs in jeder Slave-Station ist folgende:

  • Blau geführt. Es leuchtet, während der PIR-Sensor-Pin hoch ist.
  • Grün geführt. Sie leuchtet, wenn der Alarm verbunden ist.

Schritt 3: So verbinden und programmieren Sie Node00 (Master Station)

So verbinden und programmieren Sie Node00 (Master-Station)
So verbinden und programmieren Sie Node00 (Master-Station)
So verbinden und programmieren Sie Node00 (Master-Station)
So verbinden und programmieren Sie Node00 (Master-Station)
So verbinden und programmieren Sie Node00 (Master-Station)
So verbinden und programmieren Sie Node00 (Master-Station)

In der Station Node00 finden wir zwei verschiedene Boards:

  • MEGA 2560 R3-Platine. Dieses Gerät wird verwendet, um Nachrichten von der Slave-Station zu empfangen, wenn eine Bewegung über die drahtlose Kommunikation erkannt wird. Es aktiviert eine Klingel, wenn eine Bewegung erkannt wird und der Alarm verbunden ist. Um die Klingel zu stoppen, trennen Sie einfach nur den Alarmmodus. Darüber hinaus sendet es an die Slave-Station Nachrichten von NodeMCU, um die Bewegungserkennung zu aktivieren oder zu deaktivieren, das Licht immer einzuschalten, das Licht immer auszuschalten, …
  • NodeMCU Lua Amica V2 ESP8266-Board. Es funktioniert wie ein Wifi-Webserver, um Befehle von einem entfernten Ort über eine Webseite in einem Mobiltelefon zu senden und zu empfangen. Versendet außerdem E-Mail-Nachrichten, wenn eine Bewegung erkannt wird und der Alarmmodus aktiviert ist.

Beide Geräte sind so programmiert, dass sie in einer Master(NodeMCU)/Slave(MEGA)-Konfiguration über das synchrone serielle I2C-Protokoll unter Verwendung der Wire Library miteinander kommunizieren. Beim I2C-Protokoll werden zwei Leitungen zum Senden und Empfangen von Daten verwendet: ein serieller Takt-Pin (SCL) und ein serieller Daten-Pin (SDA), über den Daten zwischen den beiden Geräten gesendet werden.

Wie Sie in der Zeichnung sehen können, sind die beiden Pins für die I2C-Kommunikation im MEGA 2560 R3-Board:

  1. SDA -> Pin 20 SDA
  2. SCL -> Pin 21 SCL

und die anderen in der NodemMCU sind:

  1. SDA -> digitaler Pin 1
  2. SCL -> digitaler Pin 2

Bevor Sie die Skizze für den ESP8266 laden, müssen Sie die ESP8266-Platine installieren. Dazu müssen Sie im Einstellungsfenster der Arduino IDE in den „Additional Board Manager URLs“„https://arduino.esp8266.com/stable/package_esp8266com_index.json“eingeben. Danach müssen Sie den Board-Manager öffnen und "esp8266" installieren

Ich verwende einen externen Netzteiladapter (9V, 1A) für das MEGA 2560 R3-Board (DC-Strombuchse, 2, 1mm x 5, 5 mm) und verbinde das NodeMCU-Board mit dem 3V3-Pin im MEGA-Board.

Schritt 4: WifiWebServer (NodeMCU in der Masterstation)

WifiWebServer (NodeMCU in der Masterstation)
WifiWebServer (NodeMCU in der Masterstation)
WifiWebServer (NodeMCU in der Masterstation)
WifiWebServer (NodeMCU in der Masterstation)

Der in die NodeMCU (Node00 oder Masterstation) geladene Sketch wird wie ein WebServer konfiguriert, der mit Ihrem Heim-WLAN-Netzwerk verbunden ist. Ein Fernzugriff ist möglich, wenn Sie die Portweiterleitung in Ihrem Router konfigurieren.

Bevor Sie die WifiWebServerV3.ino-Skizze auf die NodeMCU laden, müssen Sie Folgendes tun:

  1. Aktualisieren Sie den Port, den Sie in Ihrem Router konfigurieren werden (Portweiterleitung), um remote auf die NodeMCU zuzugreifen
  2. Aktualisieren Sie den Benutzer und das Passwort, um auf Ihr WLAN-Heimnetzwerk zuzugreifen
  3. Aktualisieren Sie den Login und das Passwort Ihres Gmail-Kontos, um E-Mails zu senden, wenn eine Bewegung erkannt wird und der Alarm verbunden ist
  4. Aktualisieren Sie die E-Mail-Adresse, unter der Sie die E-Mails erhalten

Um den Benutzer, das Passwort und den Port zu aktualisieren, den der Server zum Abhören verwendet, müssen Sie in der Skizze WifiWebServerV3.ino nach dem folgenden Code suchen und ihn aktualisieren:

const char* ssid = "*** Ihre SSD ***";

const char* password = "*** Ihr Passwort ***"; WiFiServer-Server (80);

Um die E-Mail-Adresse zu aktualisieren, an die Sie die E-Mails erhalten, müssen Sie nach dem folgenden Code suchen und diesen aktualisieren:

const char* to_email = "*** E-Mail-Adresse, an die Sie die Nachricht erhalten ***";

Um den Benutzer und das Passwort Ihres Gmail-Kontos für den Empfang von E-Mails zu aktualisieren, müssen Sie in der Datei "Gsender.h" nach folgendem Code suchen und diesen aktualisieren:

const char* EMAILBASE64_LOGIN = "*** Ihre E-Mail-Adresse kodiert in BASE64 ***";

const char* EMAILBASE64_PASSWORD = "*** Ihr Passwort kodiert in BASE64 ***"; const char* FROM = "*** Ihre E-Mail-Adresse ***";

Um Daten in BASE64 zu kodieren oder zu dekodieren, habe ich www.base64encode.org. verwendet

Wenn Sie weitere Informationen zum Senden und Empfangen von E-Mails mit dem ESP8266 benötigen, gibt es hier eine "Anleitung" dazu

Sobald Sie dies tun können, können Sie die Verbindung in Ihrem Router testen. Wenn das Gerät verbunden ist, müssen Sie diesem Gerät die zugewiesene IP-Adresse reservieren. Darüber hinaus ist es ratsam, mit Ihrem Internetanbieter zu sprechen, um eine statische IP-Adresse für Ihren Router festzulegen.

Um auf die Webseite in der Nähe Ihres WLAN-Routers zuzugreifen, geben Sie einfach nur die von Ihrem Router zugewiesene lokale IP-Adresse ein, die dem Port folgt, den Sie in einem Webnavigator verwenden. Beispiel: 192.168.40.15:800. Wenn Sie versuchen, aus der Ferne zuzugreifen, müssen Sie die IP-Adresse Ihres Routers nach dem von Ihnen verwendeten Port wie oben eingeben.

Die Webseite, die ich Ihnen in den Bildern zeige, ist so programmiert, dass sie ein Netzwerk mit zwei Slave-Stationen steuert.

Das System ist anfänglich so konfiguriert, dass es maximal 5 Slave-Stationen steuert, aber Sie können es ändern. Suchen Sie einfach nur nach dem folgenden Code in WifiWebServerV3.ino und SlaveStation.ino

#define number_max_slaves 5

Die Webseite ist zunächst in 4 Abschnitte unterteilt:

  1. Abschnitt "Status", in dem angezeigt wird, ob der Alarm verbunden ist oder nicht
  2. Abschnitt "Alarmzähler", in dem Ihnen die Anzahl der Bewegungserkennungen in jeder Slave-Station angezeigt wird
  3. Abschnitt "Alarm", in dem Sie den Alarm verbinden oder trennen (CONNECT ALARM/DISCONNECT ALARM) und den Alarmzähler zurücksetzen können (RESET COUNTERS)
  4. Abschnitt "Beleuchtung", wo Sie die Lichter jeder Slave-Station steuern können. Sie können Folgendes steuern:

    • Licht in allen Slave-Stationen einschalten / Licht nur einschalten, wenn in allen Slave-Stationen eine Bewegung erkannt wird (NETZWERK IMMER EIN/NETZWERK BEI BEWEGUNG)
    • Ändern Sie die Zeit in Minuten, in der das Licht für jede Slave-Station eingeschaltet ist (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
    • Licht für jede Slave-Station einschalten (NODExx ALWAYS ON)
    • Licht für jede Slave-Station nur einschalten, wenn eine Bewegung erkannt wird (NODExx_MOV)

Sie müssen nichts ändern, da es unabhängig vom Namen der von Ihnen konfigurierten Slave-Stationen funktioniert. Außerdem erkennt es automatisch die Anzahl der im Netzwerk angeschlossenen Slave-Stationen.

Natürlich können Sie die Skizze herunterladen und den erforderlichen Code einfach ändern, um Ihre eigene Webkontrollseite anzuzeigen.

Schritt 5: Von Anfang an …

Hier sind die Schritte, die Sie befolgen müssen, um Ihr Netzwerk aufzubauen:

  1. Kaufen Sie das gesamte Material gemäß der Liste, die ich Ihnen im "Schritt 1" gebe.
  2. Verbinden Sie die Komponenten gemäß der Zeichnung, die Sie in "Schritt 2" und "Schritt 3" herunterladen können
  3. Bauen Sie Boxen für jede Slave-Station und die Master-Station. Ich habe Methacrylatboxen gebaut.
  4. Konfigurieren Sie jede Slave-Station:

    Laden Sie die Skizze "SlaveStation.ino" herunter und laden Sie sie in ein MEGA 2560 R3-Board. Sie müssen nur die Skizze bearbeiten und die Adresse der Slave-Station aktualisieren, wie Sie im "Schritt 2" sehen können

  5. Konfigurieren Sie die Hauptstation:

    • Laden Sie die Skizze "SlaveStation.ino" herunter und laden Sie sie in einen MEGA 2560 R3. Sie müssen nichts ändern, unabhängig von der Anzahl der Slave-Knoten Ihres Netzwerks. Der Sketch ist zunächst für maximal 5 Slave-Stationen konfiguriert.
    • Laden Sie die Skizze "WifiServerV3.ino" in die NodeMCU herunter und laden Sie sie. Sie müssen die Skizze gemäß den Anweisungen im "Schritt 4" aktualisieren
  6. Konfigurieren Sie Ihren Router für den Fernzugriff auf die NodeMCU (Portweiterleitung, statische IP …)

Empfohlen: