Inhaltsverzeichnis:

Universalfernbedienung mit ESP8266 (Wifi-gesteuert) - Gunook
Universalfernbedienung mit ESP8266 (Wifi-gesteuert) - Gunook

Video: Universalfernbedienung mit ESP8266 (Wifi-gesteuert) - Gunook

Video: Universalfernbedienung mit ESP8266 (Wifi-gesteuert) - Gunook
Video: ESP8266 As A WiFi Controlled Universal Remote 2024, Juli
Anonim
Universalfernbedienung mit ESP8266 (Wifi-gesteuert)
Universalfernbedienung mit ESP8266 (Wifi-gesteuert)
Universalfernbedienung mit ESP8266 (Wifi-gesteuert)
Universalfernbedienung mit ESP8266 (Wifi-gesteuert)
Universalfernbedienung mit ESP8266 (Wifi-gesteuert)
Universalfernbedienung mit ESP8266 (Wifi-gesteuert)

Dieses Projekt soll die herkömmliche Fernbedienung für alle Haushaltsgeräte wie AC, TV, DVD-Player, Musikanlage, SMART-Geräte ersetzen !!! Machen Sie einen ganzen Müll aus der Ferne herum und lassen Sie uns rätseln !!!

Dieses Projekt wird uns vom Müll zu den Fernbedienungen retten, indem wir alle durch EINE FERNBEDIENUNG ersetzen!

2 Teil dieses Projekts:

  • JEDE FERNBEDIENUNG DEKODIEREN
  • ENCODING ESP8266 NODEMCU 1.0 (ESP-12E-Modul) oder jede ESP8266-Version mit einer TTL-Verbindung

WICHTIG: BITTE LESEN SIE DAS GESAMTE PROJEKT SORGFÄLTIG DAUER DAUERT 3 MINUTEN, ABER LESEN SIE NICHT DIE HÄLFTE UND BESCHÄDIGEN SIE IHRE TEILE…. ICH WERDE NICHT VERANTWORTLICH

Schritt 1: Konfigurieren von Nodemcu mit Arduino IDE

Nodemcu mit Arduino IDE konfigurieren
Nodemcu mit Arduino IDE konfigurieren
Nodemcu mit Arduino IDE konfigurieren
Nodemcu mit Arduino IDE konfigurieren
Nodemcu mit Arduino IDE konfigurieren
Nodemcu mit Arduino IDE konfigurieren
  • Verbinden Sie zunächst den Nodemcu (meiner ist Lolin v3, Amica und andere Klone funktionieren auch) mit Computer oder Laptop.
  • Installieren Sie nun den Treiber von nodemcu (Google-Suche hilft).
  • Danach öffnen Sie die Arduino IDE (natürlich müssen Sie sie herunterladen und installieren)
  • Klicken Sie in der Arduino-Symbolleiste auf "Extras".
  • Klicken Sie auf "Board"
  • Wählen Sie "Board Manager" und suchen Sie nach esp8266, um es zu installieren (wird einige Zeit dauern)
  • Wählen Sie nun "Skizze" aus der Arduino-Toolbar
  • Wählen Sie "Bibliothek einschließen" aus und wählen Sie dort "Bibliotheken verwalten"
  • Suchen Sie nach "IRremoteESP8266" und installieren Sie es

Jetzt wird die Konfiguration nur über "Tools" vorgenommen. Wir müssen zu "Boards" gehen Wählen Sie "NodeMcu 1.0 (ESP 12-E)" oder eine andere Version von ESP8266.

Schritt 2: DEKODIEREN eines Remote | CIRCUIT | Code

DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code
DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code
DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code
DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code
DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code
DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code
DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code
DEKODIEREN einer Fernbedienung |SCHALTKREIS | Code

Um eine universelle Fernbedienung zu erstellen, müssen wir die anderen Fernbedienungen decodieren, d. h. um IR-Hexadezimalcodes zu erhalten, die von jeder Taste der Fernbedienungen ausgegeben werden. Um universell zu sprechen, müssen wir jede Sprache beherrschen!!! ODER lerne Englisch! Obwohl ich meine Muttersprache Bengali liebe, die süßeste Sprache!! WIRKLICH es ist, suchen Sie es…

Also Komponenten, die zum Decodieren einer Fernbedienung benötigt werden:

  • Nodemcu-Board
  • TSOP1738 IR-Empfänger oder andere IR-Empfänger
  • Jumper

Folgen Sie nun der obigen Schaltung, aber nachdem Sie die Skizze über Arduino auf den Nodemcu hochgeladen haben.

  • Öffnen Sie Arduino und verbinden Sie den Nodemcu mit einem Laptop oder Computer
  • Wählen Sie unter "Dateien" das Beispiel aus und wählen Sie von IRremoteESP8266 das IRrecvDump
  • Auf Nodemcu hochladen

Verbinden Sie den TSOP1738 als Stromkreis mit Nodemcu und öffnen Sie den "seriellen Monitor" von Arduino, um den decodierten Hex-Code einer beliebigen Fernbedienung wie oben abgebildet zu sehen. Ich lade den Code immer noch als Referenz hoch und aktualisiere ihn, da es lange her ist

CODE:

Schritt 3: Nodemcu codieren | SCHALTKREIS

Codierung von Nodemcu | SCHALTKREIS
Codierung von Nodemcu | SCHALTKREIS
Codierung von Nodemcu | SCHALTKREIS
Codierung von Nodemcu | SCHALTKREIS
Codierung von Nodemcu | SCHALTKREIS
Codierung von Nodemcu | SCHALTKREIS
Codierung von Nodemcu | SCHALTKREIS
Codierung von Nodemcu | SCHALTKREIS

Nach der Dekodierung der Fernbedienungen ist es nun an der Reihe, die Hex-Codes auf Nodemcu hochzuladen, damit es IR-LED-Befehle geben kann, um diese Hex-Code-Signale auszusenden.

  • HINWEIS: IR-LED kann nicht direkt an Nodemcu angeschlossen werden, da es nicht genügend Strom liefern kann.
  • Benötigen Sie also eine Transistor-moderierte IR-LED, dh das Signal von Nodemcu geht an den Transistor und dann an die IR-LED.
  • Transistor wie 2N222, 2N3904, BC547 funktioniert aber

Transistor 2N222, 2N3904 Kollektorstrom: 600mA

Kollektorstrom des Transistors BC547: 100mA

beides funktioniert…

ACHTUNG SIEHE DIE KOLLEKTOR-, EMITTER-, BASISKLEMMEN, da BC547 und 2N222 unterschiedliche Konventionen haben. Ich habe BC547 verwendet, da es leicht verfügbar ist und gut funktioniert.

Code stammt aus "IRremoteESP8266" Beispielen "IRserver" entsprechend modifiziert wie im Bild gezeigt.

Schaltung wie abgebildet. Bitte beachten Sie, dass ich einen BC547-Transistor und keinen Widerstand zwischen Basis und D2-Pin verwendet habe.

DER SAMMLER, EMITTER, BASIS SIND IM BILD ANGEGEBEN. MACHEN SIE BEI ANDEREN TRANSISTOREN NICHT DAS GLEICHE

BEARBEITUNG: Credits "3615JMD"

VERBESSERUNGEN:

Darf ich 2 Verbesserungen vorschlagen: 1) wenn man ersetzt: uint32_t code = strtoul(server.arg(i).c_str(), NULL, 10); durch diesen uint32_t-Code = strtoul(server.arg(i).c_str(), NULL, 16); Die Webseite akzeptiert HEX-Codes direkt. Keine Notwendigkeit, manuell in Dezimalzahlen umzuwandeln!

2) Ich habe den Handler verbessert, um mit mehreren IR-Formaten arbeiten zu können. Schön, wenn wir mehrere Geräte verschiedener Marken steuern möchten: (weitere Formate können mit einem Schalter/Gehäuse hinzugefügt werden)

void handleIr()

{ for (uint8_t i = 0; i <server.args(); i++) { if (server.argName(i) == "rcmm") { // Format für Freebox uint32_t code = strtoul(server.arg(i).c_str(), NULL, 16); irsend.sendRCMM(Code, 32); Serial.println (Code); aufrechtzuerhalten. Sonst if (server.argName(i) == "rc6") {// Format für TV Phillips uint32_t code = strtoul(server.arg(i).c_str(), NULL, 16); irsend.sendRC6(Code, 20); Serial.println (Code); } } handleRoot(); } Die HTTP-Links müssen natürlich entsprechend angepasst werden: …. href=\"ir?rcmm=2400260C…….. href=\"ir?rc6=0000C ….

Schritt 4: Kodierungscode

Kodierungscode
Kodierungscode
Kodierungscode
Kodierungscode

Den Code habe ich den Beispielen von "IRremoteESP8266", "IRserver" entnommen.

Es müssen jedoch einige Änderungen an Ihren WLAN-Zugangsdaten vorgenommen werden - Wifi-ssid, Wifi-Passwort

Die Webserver-basierten Codes (gelb hervorgehoben) - Diese Codes sind die dezimale Form der hexadezimalen IR-Codes. Diese Dezimalwerte werden als in Hex-Code umgewandelte Argumente an ESP8266 übergeben und an die IR-LED übertragen.

WICHTIG: NACH DEM DEKODIEREN EINER FERNBEDIENUNG KONVERTIEREN SIE DEN HEXADEZIMAL-CODE IN DEZIMAL UND ERSETZEN SIE IHN IM Arduino-Programm. Es ist nicht sehr schwer, Hex in Dezimal umzuwandeln, suche bei Google nach einem Online-Hexadezimal-zu-Dezimal-Konverter.

Bilder sind selbsterklärend!!! Viel älterer Code (2017), zögern Sie nicht, ihn zu bearbeiten.

CODE:

Schritt 5: STEUERN

STEUERN
STEUERN
STEUERN
STEUERN
STEUERN
STEUERN

Wir können es über die Webserver-Links steuern … Die IP des ESP8266-Moduls auf unserem Router kann durch Öffnen des seriellen Monitors direkt nach dem Hochladen des Codes erkannt werden. Wie im Bild ist meins 192.168.0.1

Beim Öffnen dieser IP in einem beliebigen Browser eines Mobiltelefons oder Laptops können wir die Seite wie im Bild gezeigt sehen.

ODER ANDERS FÜR KOMFORT und Einfachheit können wir eine Android-App verwenden…

"HTTP REQUEST SHORTCUT" App und schreiben Sie die Adresse, um den Code einfach auszuführen. Wie im Bild können wir ein Widget auf dem Startbildschirm hinzufügen, um einfach auf die virtuellen Tasten zuzugreifen und die erforderlichen Fernbedienungstasten zu erhalten.

Bilder sind selbsterklärend.

OHNE DAS PROGRAMM ZU SCHREIBEN, KÖNNEN WIR DAS ARGUMENT "CODE" MIT DEZIMAL DES HEXADEZIMAL-CODES, DER AUS DEKODIERUNGS-FERNBEDIENUNGEN HERAUSGEZOGEN WURDE, DIREKT IM WIDGET ÜBERGEBEN

WICHTIG: BITTE LESEN SIE DAS GESAMTE PROJEKT SORGFÄLTIG DAUER DAUERT 3 MINUTEN, ABER LESEN SIE NICHT DIE HÄLFTE UND BESCHÄDIGEN SIE IHRE TEILE…. ICH WERDE NICHT VERANTWORTLICH

Schritt 6: Projekt verpacktes-g.webp" />

Empfohlen: