Inhaltsverzeichnis:

Heimanwesenheitssimulator und Sicherheitskontrollgerät - Gunook
Heimanwesenheitssimulator und Sicherheitskontrollgerät - Gunook

Video: Heimanwesenheitssimulator und Sicherheitskontrollgerät - Gunook

Video: Heimanwesenheitssimulator und Sicherheitskontrollgerät - Gunook
Video: Anwesenheitssimulation im Smart Home 2024, November
Anonim
Heimanwesenheitssimulator und Sicherheitskontrollgerät
Heimanwesenheitssimulator und Sicherheitskontrollgerät
Heimanwesenheitssimulator und Sicherheitskontrollgerät
Heimanwesenheitssimulator und Sicherheitskontrollgerät
Heimanwesenheitssimulator und Sicherheitskontrollgerät
Heimanwesenheitssimulator und Sicherheitskontrollgerät
Heimanwesenheitssimulator und Sicherheitskontrollgerät
Heimanwesenheitssimulator und Sicherheitskontrollgerät

Dieses Projekt ermöglicht es uns, Anwesenheit zu simulieren und Bewegungen in unserem Zuhause zu erkennen.

Wir können ein Netzwerk von Geräten konfigurieren, die in verschiedenen Räumen unseres Hauses installiert sind und alle von einem Hauptgerät gesteuert werden.

Dieses Projekt kombiniert diese Funktionen auf einem einzigen Gerät (BILD 1):

  1. Es ist ein Anwesenheitssimulator: Das Gerät schaltet eine Glühbirne ein und aus (BILD 1) und verwendet einen IR-Sender (BILD 2), um 38 KHz IR-Steuercodes an IR-gesteuerte Geräte (TV, Videorecorder, Lampen, …) zu senden.
  2. Es ist ein Bewegungsmelder: Das Gerät verfügt über einen PIR-Sensor, um Bewegungen zu erkennen (BILD 3)

Das gesamte System wird von einem Master-Gerät gesteuert, das Signale an die anderen Slave-Geräte im Netzwerk sendet, um die Lichter ein- und auszuschalten und gesteuerte IR-Geräte gemäß einer geplanten Anwesenheitssimulation zu aktivieren.

Die Hauptmerkmale des Master-Geräts sind die folgenden:

  • Es verwendet eine geplante Befehlsfolge, um jedes Slave-Gerät zu steuern. Beispiel: Das Licht in der Nebenstation 1 wird jeden Tag zu einer zufälligen Zeit eingeschaltet oder die Nebenstation 2 schaltet den Fernseher ein und wechselt nach einer bestimmten Zeit den Kanal.
  • Es empfängt die Signale der Slave-Stationen, wenn eine Bewegung erkannt wird und sendet uns eine E-Mail
  • Es konfiguriert einen Webserver, um das gesamte System aus der Ferne aus der Cloud zu steuern und zu aktualisieren

Ich hoffe, Sie mögen und sind für jemanden nützlich.

Schritt 1: Erstellen eines Slave-Geräts

Aufbau eines Slave-Geräts
Aufbau eines Slave-Geräts
Aufbau eines Slave-Geräts
Aufbau eines Slave-Geräts
Aufbau eines Slave-Geräts
Aufbau eines Slave-Geräts

Um ein Slave-Gerät zu bauen, benötigen wir Folgendes:

  • Elektrische Box
  • ARDUINO NANO oder kompatibler ARDUINO NANO Mikrocontroller
  • Protoboard 480
  • Relais
  • 38 KHz IR-Sender
  • PIR-Sensor
  • nRF24L01 Modul + Antenne
  • Adapter für nRF24L01-Modul
  • Stromversorgung 5V, 0,6 A
  • Lampenhalter
  • Die Glühbirne
  • Kabel
  • Klemmenblock

Die Schritte zur Montage sind die folgenden (siehe Fritzing-Zeichnung für jede Pin-Verbindung):

  1. BILD 1: Öffnen Sie ein Loch im Elektrokasten für die Lampenfassung
  2. BILD 2: Installieren Sie das Protoboard 480 mit dem NANO-Mikrocontroller, dem IR-Sender und dem Netzteil
  3. BILD 3: Verbinden Sie den Phasenleiter der Lampenfassung mit der NC-Klemme des Relais und den Neutralleiter mit dem Neutraleingang in der Klemmleiste. Verbinden Sie danach die gemeinsame Klemme des Relais mit dem Phasenleiter des Eingangs in der Klemmleiste
  4. BILD 4: Verbinden Sie den IR-Sender und den PIR-Sensor mit dem NANO-Mikrocontroller. Siehe Schritt 3, um die IR-Codes für das Gerät zu konfigurieren, das Sie steuern möchten
  5. BILD 5: Installieren Sie den nRF24L01-Adapter außerhalb des Schaltkastens und schließen Sie ihn an den NANO-Mikrocontroller an. Wie Sie in diesem Bild sehen können, führen die Kabel durch ein Loch in die Elektrobox, das auch zum Anschließen des USB-Programmierkabels an den NANO-Mikrocontroller verwendet wird

Schritt 2: Aufbau des Master-Geräts

Aufbau des Master-Geräts
Aufbau des Master-Geräts
Aufbau des Master-Geräts
Aufbau des Master-Geräts
Aufbau des Master-Geräts
Aufbau des Master-Geräts

Um das Master-Gerät zu bauen, benötigen wir Folgendes:

  • Elektrische Box
  • ARDUINO MEGA 2560 R3 oder kompatibler ARDUINO MEGA 2560 R3 Mikrocontroller
  • WiFi NodeMCU Lua Amica V2 ESP8266 Modul
  • RTC DS3231
  • Protoboard 170
  • Relais
  • 38 KHz IR-Sender
  • PIR-Sensor
  • nRF24L01 Modul + Antenne
  • Adapter für nRF24L01-Modul
  • Stromversorgung 5V, 0,6 A
  • Lampenhalter
  • Die Glühbirne
  • Kabel
  • Klemmenblock

Die Schritte zum Mounten sind dem vorherigen sehr ähnlich, da das Master-Gerät im Wesentlichen ein Slave-Gerät mit mehr Funktionen ist (siehe die Fritzing-Zeichnung für jede Pin-Verbindung):

  • BILD 1: Öffnen Sie ein Loch im Elektrokasten für die Lampenfassung
  • BILD 2, BILD 3: Installieren Sie das ESP8266-Modul im Protoboard 170 und platzieren Sie es über dem MEGA 2560-Mikrocontroller, wie Sie auf den Bildern sehen können
  • BILD 4: Kleben Sie ein Stück Holz in den Elektrokasten. Über dem Holzstück den MEGA 2560 Mikrocontroller mit dem ESP8266, dem Uhrenmodul DS3231 und dem nRF24L01 Adapter installieren
  • BILD 5: Installieren Sie das Netzteil und den Realy. Schließen Sie den Phasenleiter der Lampenfassung an die NC-Klemme des Relais und den Neutralleiter an den Neutraleingang in der Klemmleiste an. Verbinden Sie danach die gemeinsame Klemme des Relais mit dem Phasenleiter des Eingangs in der Klemmleiste.

Schritt 3: Konfigurieren der Master- und Slave-Geräte

Konfigurieren der Master- und Slave-Geräte
Konfigurieren der Master- und Slave-Geräte

Um die Geräte zu konfigurieren, müssen Sie die nächsten Schritte ausführen:

SCHRITT 3.1 (beide Geräte)

Installieren Sie die Bibliotheken IRremote, RF24Network, RF24, DS3231 und Time in Ihrer ARDUINO IDE

SCHRITT 3.2 (nur für ein Slave-Gerät)

Konfigurieren Sie die Adresse im Netzwerk. Einfach im Sketch "presence_slave.ino" nach folgendem Code suchen und eine Adresse im Oktalformat angeben. Verwenden Sie nur Adressen größer 0, da die Adresse 0 für das Master-Gerät reserviert ist

const uint16_t this_node = 01; // Adresse unseres Slave-Geräts im Oktal-Format

Laden Sie den Sketch "presence_slave.ino" in den Mikrocontroller.

SCHRITT 3.3 (nur für ein Master-Gerät) (EINFÜHRUNG DER IR-STEUERCODES)

Wenn Sie ein Gerät verwenden möchten, das von 38-kHz-IR-Steuercodes gesteuert wird, um Anwesenheit zu simulieren, müssen Sie einige davon kennen.

Andernfalls müssen Sie die IR-Steuercodes von Ihrem Gerät beziehen.

Dazu benötigen Sie einen 38KHz IR-Empfänger, laden in einen NANO-Mikrocontroller die Skizze "ir_codes.ino" und verbinden alles wie im BILD 1 zu sehen

Richten Sie dann Ihre Fernbedienung auf den IR-Empfänger, drücken Sie eine beliebige Taste und Sie sehen auf dem seriellen Monitor etwas Ähnliches wie:

(12 Bit)Dekodiert SONY: A90 (HEX), 101010010000 (BIN) // POWER-Taste

(12 Bit)Dekodiert SONY: C10 (HEX), 110000010000 (BIN) // 4 Tasten (12 Bit)Dekodiert SONY: 210 (HEX), 10000010000 (BIN) // 5 Tasten

In diesem Fall verwendet die Fernbedienung das SONY IR-Protokoll und wenn wir den Netzschalter auf der Fernbedienung drücken, erhalten wir den IR-Code "0xA90" mit einer Länge von 12 Bit oder wenn wir die Taste 4 auf der Fernbedienung drücken, erhalten wir die IR Code "0xC10".

Ich empfehle, zumindest nach dem IR-Steuercode für die Stromversorgung und mehreren Tastennummern zu suchen, um die Anwesenheit zu simulieren.

Nachdem Sie zuvor die IR-Codes erhalten haben, müssen Sie diese wie folgt eingeben:

ERSTER WEG

Wenn Sie ein WLAN-Netzwerk konfiguriert haben, können Sie dies über die Webseite tun (Siehe den Schritt: Der Webserver)

ZWEITER WEG

Andernfalls müssen Sie in der Datei "ir_codes.ino" nach dem nächsten Code suchen und die Informationen aktualisieren. Im folgenden Code sehen Sie, wie wir die oben erhaltenen Informationen nur für das Master-Gerät (Adresse = 0) einführen können.

/******************************************/

/******* IR-Steuercodes ****************/ /******************** **********************/ // protocol_id, number_of_bits, 10 IR-Steuercodes für das Mastergerät (Adresse = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 1) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 2) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 3) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 4) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************/ /********* IR-Steuercodes beenden ** ************/ /************************************ *********/

Der Sketch ist so konfiguriert, dass er mit den folgenden IR-Protokollen funktioniert:

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • WARUM
  • SAMSUNG
  • SCHARF
  • GERICHT
  • DENON
  • LEGO_PF

In der Datei "ir_codes.ino" finden Sie einige IR-Steuercodes für SAMSUNG- und SONY-Protokolle.

/***************************************************************************/

// EINIGE IR_PROTOKOLLE UND CODES // (SAMSUNG, Anzahl_der_Bits, Taste POWER, Taste 1, 2, 3) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F // (SONY, Anzahl_der_Bits, Taste POWER, Taste 1, 2, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ************************************************* ******************/

WICHTIG: Der erste eingegebene IR-Steuercode muss der IR-Steuercode sein, um das Gerät auszuschalten. Es wird vom Master an die Slaves gesendet, wenn für dieses Gerät keine Aktion geplant ist

Wenn ein Körper weiß oder jemand einige IR-Steuercodes einiger der oben aufgeführten Protokolle erhalten hat, posten Sie bitte einen Kommentar in dieser Anleitung mit den folgenden Informationen: Protokoll-ID, Protokolllänge und IR-Steuercodes.

SCHRITT 3.4 (nur für das Master-Gerät) (EINFÜHRUNG DER PLANUNG DER PRÄSENZSIMULATION)

Sie können die Anwesenheitssimulationsplanung folgendermaßen einführen:

ERSTER WEG

Wenn Sie ein WLAN-Netzwerk konfiguriert haben, können Sie dies über die Webseite tun (Siehe den Schritt: Der Webserver)

ZWEITER WEG

Sie müssen den nächsten Code in der Datei "ir_codes.ino" suchen und die Informationen aktualisieren.

Das Planungsformat für die Anwesenheitssimulation ist das folgende:

(hour_init_interval1), (hour_end_interval1), (hour_init_interval2), (hour_end_interval2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light)

/************ PLANUNG DER PRÄSENZSIMULATION ************/

7, 8, 17, 3, 5, 60, 10, 40, // Master-Gerät (Adresse = 0) 0, 0, 17, 23, 3, 30, 5, 10, // Slave-Gerät (Adresse = 1) 0, 0, 0, 0, 0, 0, 0, 0, // Slave-Gerät (Adresse = 2) 0, 0, 0, 0, 0, 0, 0, 0, // Slave-Gerät (Adresse = 3) 0, 0, 0, 0, 0, 0, 0, 0 // Slave-Gerät (Adresse = 4) /************ END PRESENCE SIMULATOR ********** **********/

Im obigen Beispiel sieht die Anwesenheitssimulationsplanung für das Mastergerät wie folgt aus:

  • (hour_init_interval1 = 7) Die erste Intervallsimulation beginnt täglich um 7:00 Uhr
  • (hour_end_interval1 = 8) Die erste Intervallsimulation endet um 8:00 Uhr desselben Tages
  • (hour_init_interval2 = 17) Die zweite Intervallsimulation beginnt um 17:00 Uhr. jeden Tag
  • (hour_end_interval2 = 3) Die zweite Intervallsimulation endet um 3:00 Uhr des nächsten Tages
  • (min_delay_ir = 5) (max_delay_ir = 60) Die Verzögerungszeit in Minuten zwischen dem zufälligen Senden von IR-Steuercodes ist eine Zufallszahl zwischen 5 und 60
  • (min_delay_light = 10) (max_delay_light = 40) Die Verzögerungszeit in Minuten zwischen dem Ein- und Ausschalten des Lichts ist eine Zufallszahl zwischen 10 und 40

und die Anwesenheitssimulationsplanung für das Slave-Gerät mit Adresse 2 ist wie folgt:

  • (hour_init_interval1

    = 0) Es ist keine erste Intervallsimulation definiert

  • (hour_end_interval1 = 0) Es ist keine erste Intervallsimulation definiert
  • (hour_init_interval2 = 17) Die Simulation wird um 17:00 Uhr gestartet. jeden Tag
  • (hour_end_interval2 = 23) Die Simulation endet um 23:00 Uhr. vom selben Tag
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) Die Verzögerungszeit in Minuten zwischen dem zufälligen Senden von IR-Steuercodes ist eine Zufallszahl zwischen 3 und 30

    (min_delay_light = 5)

    (max_delay_light

    = 10) Die Verzögerungszeit in Minuten zwischen dem Ein- und Ausschalten des Lichts ist eine Zufallszahl zwischen 5 und 10

SCHRITT 3.5 (nur für das Master-Gerät) (KONFIGURIEREN DER ECHTZEITUHR)

Einer der Schlüssel dieses Projekts ist die Zeit. Wir müssen die Zeit des ARDUINO einstellen, wenn der Sketch zu laufen beginnt. Dazu benötigen wir ein Echtzeituhrmodul. Ein Taktmodul ist das DS3231, das ein Erhaltungsladegerät für Backup-Batterien unterstützt, das verwendet werden kann, es sei denn, es wird mit drei Datenkabeln über das I2C-Protokoll an den Mikrocontroller angeschlossen.

Vor der Verwendung des DS3231 müssen Sie die Uhrzeit in diesem Modul einstellen. Dazu müssen Sie im Mastergerät den Sketch "DS3231_set.ino" ausführen.

SCHRITT 3.6 (nur für das Master-Gerät) (KONFIGURIEREN DES ESP8266-MODULS)

Die in diesem Modul ausgeführte Skizze versucht, eine Verbindung zu Ihrem lokalen WLAN-Netzwerk herzustellen und einen Webserver zu konfigurieren.

Daher müssen wir die folgenden Informationen in der Skizze "presence_web.ino" aktualisieren, um auf Ihr lokales WLAN-Netzwerk zuzugreifen und die Gmail-E-Mail-Adresse zu konfigurieren, von der der ESP8266 die von allen Geräten im Netzwerk erkannten Bewegungen sendet und die E-Mail-Adresse, wo Sie die Benachrichtigungen erhalten möchten (ESP8266 Gmail Sender anweisbar)

const char* ssid = "ssid Ihres lokalen WLAN-Netzwerks";

const char* password = "Passwort Ihres lokalen WLAN-Netzwerks"; const char* to_email = "E-Mail, an die Sie Benachrichtigungen über Bewegungserkennungen erhalten möchten"; WiFiServer-Server (80); // der Port, der zum Abhören verwendet wird

und die folgenden Angaben in der Skizze "Gsender.h".

const char* EMAILBASE64_LOGIN = "*** Ihre Gmail-Login-Codierung in BASE64 ***";

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

WICHTIG: Dieser Code funktioniert nicht mit dem ESP8266-Kern für Arduino Version 2.5.0. Verwenden Sie für eine temporäre Lösung die Kernversion 2.4.2

SCHRITT 3.7 (nur für das Master-Gerät)

Nachdem Sie die vorherigen Schritte 3.3, 3.4, 3.5 und 3.6 ausgeführt haben, laden Sie die Skizze "presence_master.ino" in den NANO-Mikrocontroller und die Skizze "presence_web.ino" in das ESP8266-Modul

Schritt 4: Testen des Systems

Um zu testen, ob alles wie gewünscht funktioniert, kann der Sketch "presence_master.ino" im Testmodus ausgeführt werden.

Sie können ein bestimmtes Gerät auf zwei Arten testen:

ERSTER WEG: Wenn Sie kein WLAN-Netzwerk verwenden, müssen Sie in der Datei "presence_master.ino" nach dem nächsten Code suchen, den Anfangswert für die Variable "bool_test_activated" auf "true" ändern und die Adresse von einem aktualisieren Gerät in der nächsten Codezeile zu testen und die Skizze in den ARDUINO-Mikrocontroller im Master-Gerät zu laden.

boolesch bool_test_activated = false; // zu true wechseln, um den Testmodus zu initiieren

int device_to_test = 0; // Slave-Geräteadresse zum Testen

Vergessen Sie nicht, den Wert auf false zu ändern, wenn Sie den Testmodus verlassen und die Skizze neu laden möchten

ZWEITER WEG: Wenn Sie ein WLAN-Netzwerk verwenden, können Sie über die Webseite den Testmodus aktivieren. Siehe den Schritt "Der Webserver"

Wenn das zu testende Gerät IR-Steuercodes senden soll, platzieren Sie das Master- oder Slave-Gerät vor dem IR-gesteuerten Gerät (TV, Radio …).

Dieser Modus funktioniert wie folgt:

  • DAS LICHT TESTEN. Das Licht des jeweiligen Geräts muss sich alle 10 Sekunden ein- und ausschalten.
  • TESTEN DER IR-CODES. Die Skizze wählt zufällig einen zuvor eingeführten IR-Code aus und wird alle 10 Sekunden an das IR-gesteuerte Gerät gesendet. Sie müssen also testen, ob dieses Gerät die Aktion ausführt, die dem empfangenen IR-Code entspricht
  • TESTEN DES BEWEGUNGSMELDERS. Wenn das Gerät eine Bewegung vor seinem PIR-Sensor erkennt, sendet es das Signal an das Master-Gerät und seine Leuchte muss mehrmals zu blinken beginnen

Im Video am Ende dieser Anleitung können Sie den Testmodus sehen.

Schritt 5: Der Webserver

Der Webserver
Der Webserver
Der Webserver
Der Webserver
Der Webserver
Der Webserver

Um das System zu steuern und zu testen, ob alles richtig funktioniert, wird das ESP8266-Modul als Webserver konfiguriert. Sie benötigen keine weitere Zusatzsoftware, um aus der Ferne auf das Netzwerk zuzugreifen, geben Sie einfach nur die IP Ihres Routers in einen Webbrowser ein. In Ihrem Router haben Sie zuvor die Portweiterleitung konfiguriert, um mit einer von Ihnen konfigurierten statischen lokalen IP auf das ESP8266-Modul zuzugreifen.

Dieses Modul wird über das I2C-Protokoll mit dem ARDUINO-Mikrocontroller verbunden.

Sie können die erste Webseite im BILD 1 sehen:

  • Der Abschnitt SYSTEMSTATE zeigt uns Informationen über das System:

    • Datum und Uhrzeit des Systems. Es ist sehr wichtig, dass Datum und Uhrzeit pünktlich sind
    • Der Status des Anwesenheitssimulators (aktiviert oder deaktiviert), das Datum und die Uhrzeit der letzten Anwesenheitsaktion und die Adresse des Geräts, das die Aktion ausgeführt hat (BILD 2)
    • Der Status des Bewegungsmelders (aktiviert oder deaktiviert) und eine Historie der Bewegungserkennungen durch das Gerät: Zähler und Datum und Uhrzeit der letzten Bewegungserkennung (BILD 3) In diesem Bild sehen wir, dass im Gerät mit der Adresse 1 erkannt wurde 1 Bewegung und die letzte war um 16:50:34
  • Im Abschnitt BEFEHLE können wir Folgendes tun:

    • So aktivieren Sie den Anwesenheitssimulator
    • Bewegungsmelder aktivieren
    • So wählen Sie ein Gerät zum Initiieren und Stoppen des Tests aus (BILD 4)
  • Der Abschnitt PRESENCE COMMAND ermöglicht uns Folgendes:

    Zur Einführung oder Aktualisierung der Anwesenheitssimulationsplanung für ein bestimmtes Gerät. In BILD 5 sehen Sie, wie Sie die Anwesenheitssimulationsplanung für das Adressgerät 1 aktualisieren. Das String-Format ist wie folgt: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light). Alle Zahlen sind ganze Zahlen. Wenn Sie einen gültigen String eingegeben haben, sehen Sie vor dem Text "LAST" die neue Anwesenheitssimulationsplanung, andernfalls sehen Sie die Meldung "LAST: NOT VALID"

  • Im Abschnitt IR CODE COMMAND können wir Folgendes tun:

    Um einen IR-Steuercode für ein bestimmtes Gerät einzuführen oder zu aktualisieren. In BILD 6 sehen Sie, wie Sie einen neuen IR-Steuercode für das Adressgerät 1 aktualisieren oder einführen. Das Zeichenfolgenformat ist wie folgt: (addr_device), (IR_protocol), (protocol_bits_length), (index_IR_control_code), (IR_control_code). Das (IR_protocol) ist eine Groß-/Kleinschreibung, die nur die nächsten Werte akzeptiert (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) und der (IR_control_code) ist eine hexadezimale Zahl. Da das System so konfiguriert ist, dass es 10 IR-Steuercodes speichert, ist (index_IR_control_code) eine ganze Zahl zwischen 1 und 10. Wie zuvor, wenn Sie ein gültiges Zeichenfolgenformat eingeführt haben, sehen Sie den neuen IR-Steuercode vor dem Text "LAST", andernfalls sehen Sie die Meldung "LAST: NOT VALID"

Um von Ihrem lokalen WLAN-Netzwerk auf diese Webseite zuzugreifen, geben Sie einfach die IP-Adresse ein, die Ihr Router dem ESP8266 in einem Webbrowser zugewiesen hat. In allen Bildern können Sie sehen, dass die von meinem Router zugewiesene IP 192.168.43.120 lautet.

Für den Fernzugriff außerhalb Ihres lokalen WLAN-Netzwerks müssen Sie in Ihrem Router den Port konfigurieren, den Sie zum Abhören eingehender Daten verwenden und an den ESP8266 in Ihrem lokalen Netzwerk umleiten. Geben Sie danach einfach die IP Ihres Routers in einen Webbrowser ein.

Schritt 6: Ein Beispiel, um alles zu klären

Image
Image
Ein Beispiel um alles zu verdeutlichen
Ein Beispiel um alles zu verdeutlichen

Ich habe ein konkretes Beispiel entworfen, um alles zu verdeutlichen

Ich habe folgende Geräte gebaut (BILD 2)

  • Ein IR-gesteuertes Gerät mit einem NANO-Mikrocontroller, eine RGB-LED in einem Tischtennisball und ein IR-Empfängermodul (BILD 1). Wenn wir die Steuertaste von 1 bis 7 der IR-Fernbedienung drücken, ändert der Tischtennisball seine Farbe.
  • Das Master-Gerät (Adresse 0)
  • Ein Slave-Gerät (Adresse 1)

Mit all dem werden wir alle Funktionen des Projekts testen. Die Planung der Anwesenheitssimulation könnte sein:

  1. Der vom Slave-Gerät gesteuerte Ball wechselt ab 17:00 Uhr seine Farbe. bis 23:00 Uhr und morgens von 7:00 bis 8:00 Uhr alle ein zufälliges Intervall von Minuten zwischen 1 und 1.
  2. Das vom Slave-Gerät gesteuerte Licht wird ab 17:00 Uhr ein- und ausgeschaltet. bis 23:00 Uhr und morgens von 7:00 bis 8:00 Uhr alle ein zufälliges Intervall von Minuten zwischen 1 und 2
  3. Das vom Mastergerät gesteuerte Licht wird ab 16:00 Uhr ein- und ausgeschaltet. bis 1:00 Uhr des nächsten Tages alle ein zufälliges Intervall von Minuten zwischen 1 und 2

Nach dem Ausführen des Sketches "ir_codes.ino" haben wir festgestellt, dass das von der IR-Fernbedienung verwendete IR-Protokoll "NEC" ist, die Länge der IR-Codes 32 Bit und die IR-Steuercodes für die Tasten zwischen 1 und 7 im hexadezimalen Format sind sind:

TASTE 1 = FF30CF

TASTE 2 = FF18E7

TASTE 3 = FF7A85

TASTE 4 = FF10EF

TASTE 5 = FF38C7

TASTE 6 = FF5AA5

TASTE 7 = FF42BD

Sie können das System auf zwei Arten konfigurieren:

ERSTER WEG: mit der Webseite (siehe Video am Ende dieser Anleitung)

ZWEITER WEG: Aktualisieren der Datei "ir_codes.ino" und Hochladen nach:

/******************************************/

/******* IR-Steuercodes ****************/ /******************** **********************/ // protocol_id, number_of_bits, 10 IR-Steuercodes für das Master-Gerät (Adresse = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 1) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 2) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 3) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR-Steuercodes für das Slave-Gerät (Adresse = 4) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ********************************/ /********* IR-Steuercodes beenden ** ************/ /************************************ *********/

/************ PLANUNG DER PRÄSENZSIMULATION ************/

0, 0, 16, 1, 0, 0, 1, 2, // Master-Gerät (Adresse = 0) 7, 8, 17, 23, 1, 1, 1, 2, // Slave-Gerät (Adresse = 1) RGB-Kugel 0, 0, 0, 0, 0, 0, 0, 0, // Slave-Gerät (Adresse = 2) 0, 0, 0, 0, 0, 0, 0, 0, // Slave-Gerät (Adresse = 3) 0, 0, 0, 0, 0, 0, 0, 0 // Slave-Gerät (Adresse = 4) /************ END PRESENCE SIMULATOR ******** ************/