Inhoudsopgave:

Universele afstandsbediening met ESP8266 (wifi-gestuurd) - Ajarnpa
Universele afstandsbediening met ESP8266 (wifi-gestuurd) - Ajarnpa

Video: Universele afstandsbediening met ESP8266 (wifi-gestuurd) - Ajarnpa

Video: Universele afstandsbediening met ESP8266 (wifi-gestuurd) - Ajarnpa
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Juli-
Anonim
Universele afstandsbediening met ESP8266 (wifi-gestuurd)
Universele afstandsbediening met ESP8266 (wifi-gestuurd)
Universele afstandsbediening met ESP8266 (wifi-gestuurd)
Universele afstandsbediening met ESP8266 (wifi-gestuurd)
Universele afstandsbediening met ESP8266 (wifi-gestuurd)
Universele afstandsbediening met ESP8266 (wifi-gestuurd)

Dit project moet de conventionele afstandsbediening vervangen voor alle huishoudelijke apparaten zoals AC, TV, DVD-spelers, muzieksysteem, SMART-apparaten !!! Een hele rommel maken van zwerfvuil op afstand, ons aan het puzzelen!!!

Dit project zal ons redden van de rommel naar afstandsbedieningen door alles te vervangen door EEN AFSTANDSBEDIENING!

2 deel van dit project:

  • EEN AFSTANDSBEDIENING DECODEREN
  • CODERING ESP8266 NODEMCU 1.0 (ESP-12E module) of elke esp8266-versie met een ttl-aansluiting

BELANGRIJK: LEES HET HELE PROJECT GRONDIG DOOR HET DUURT 3 MINUTEN MAAR NIET HALFLEES EN BESCHADIG UW ONDERDELEN…. IK ZAL NIET VERANTWOORDELIJK ZIJN

Stap 1: Nodemcu configureren met Arduino IDE

Nodemcu configureren met Arduino IDE
Nodemcu configureren met Arduino IDE
Nodemcu configureren met Arduino IDE
Nodemcu configureren met Arduino IDE
Nodemcu configureren met Arduino IDE
Nodemcu configureren met Arduino IDE
  • Verbind allereerst de Nodemcu (mijn versie is lolin v3, amica en andere klonen zullen ook werken) met computer of laptop.
  • Installeer nu het stuurprogramma van nodemcu (google zoeken zal helpen).
  • Open daarna de Arduino IDE (uiteraard moet je deze downloaden en installeren)
  • Klik op "Extra" op de Arduino-werkbalk
  • Klik op "Board"
  • Selecteer "Board Manager" en zoek naar esp8266 installeer het (het duurt even voordat het klaar is)
  • Selecteer nu "Sketch" in de arduino-werkbalk
  • Selecteer "Bibliotheek opnemen" vanaf daar selecteer "Bibliotheken beheren"
  • Zoek naar "IRremoteESP8266" en installeer het

Nu wordt de configuratie alleen gedaan vanuit "Tools", we moeten naar "Boards" gaan. Selecteer "NodeMcu 1.0(ESP 12-E)" of een andere versie van ESP8266.

Stap 2: DECODEREN van een afstandsbediening |CIRCUIT | Code

EEN Afstandsbediening DECODEREN |CIRCUIT | Code
EEN Afstandsbediening DECODEREN |CIRCUIT | Code
EEN Afstandsbediening DECODEREN |CIRCUIT | Code
EEN Afstandsbediening DECODEREN |CIRCUIT | Code
EEN Afstandsbediening DECODEREN |CIRCUIT | Code
EEN Afstandsbediening DECODEREN |CIRCUIT | Code
EEN Afstandsbediening DECODEREN |CIRCUIT | Code
EEN Afstandsbediening DECODEREN |CIRCUIT | Code

Dus om een universele afstandsbediening te maken, moeten we de andere afstandsbedieningen decoderen, d.w.z. om hexadecimale IR-codes te krijgen die door elke knop van afstandsbedieningen worden uitgezonden. Net als om universeel te spreken, moeten we elke taal kennen!!! OF leer Engels! Hoewel ik van mijn moedertaal Bengaals hou, de liefste taal!! ECHT is het, zoek het op…

Dus componenten die nodig zijn om een afstandsbediening te decoderen:

  • Nodemcu-bord
  • TSOP1738 IR-ontvanger of een andere IR-ontvanger
  • truien

Volg nu het bovenstaande circuit, maar na het uploaden van de schets naar de nodemcu via Arduino.

  • Open Arduino en sluit de nodemcu aan op laptop of computer
  • Van "Bestanden" selecteer voorbeeld ga naar beneden en van IRremoteESP8266 selecteer de IRrecvDump
  • Uploaden naar nodemcu

Sluit de TSOP1738 aan op Nodemcu als het circuit en open de "seriële monitor" van Arduino om de gedecodeerde hex-code van elke afstandsbediening te zien zoals hierboven weergegeven. Ben nog steeds de code aan het uploaden ter referentie, update deze omdat het lang geleden is. Ik denk hier niet meer aan … voel je vrij om te veranderen in github

CODE:

Stap 3: Nodemcu coderen | STROOMKRING

Codering Nodemcu | STROOMKRING
Codering Nodemcu | STROOMKRING
Codering Nodemcu | STROOMKRING
Codering Nodemcu | STROOMKRING
Codering Nodemcu | STROOMKRING
Codering Nodemcu | STROOMKRING
Codering Nodemcu | STROOMKRING
Codering Nodemcu | STROOMKRING

Na het decoderen van de afstandsbedieningen is het nu de beurt om de hex-codes naar Nodemcu te uploaden, zodat het IR-led-commando's kan geven om die hex-codesignalen uit te zenden.

  • OPMERKING: kan de IR-led niet rechtstreeks op Nodemcu aansluiten omdat deze niet genoeg stroom kan leveren.
  • Dus transistor gemodereerde IR LED nodig, d.w.z. signaal van Nodemcu gaat naar transistor en vervolgens IR LED.
  • Transistor zoals 2N222, 2N3904, BC547 werkt maar

Transistor 2N222, 2N3904 collectorstroom: 600mA

Transistor BC547 collectorstroom: 100mA

beide werken…

VOORZICHTIG ZIE DE COLLECTOR, ZENDER, BASISAANSLUITINGEN aangezien BC547 en 2N222 verschillende conventies hebben. Ik heb BC547 gebruikt omdat het gemakkelijk verkrijgbaar is en goed werkt.

Code is overgenomen uit "IRremoteESP8266" voorbeelden "IRserver" dienovereenkomstig gewijzigd zoals getoond in afbeelding.

schakeling zoals afgebeeld. Let op: ik heb BC547-transistor gebruikt en GEEN weerstand tussen basis en D2-pin.

DE VERZAMELAAR, EMitter, BASIS WORDEN AANGEGEVEN IN AFBEELDING. DOE NIET HETZELFDE VOOR ANDERE TRANSISTORS

BEWERKINGEN: Credits "3615JMD"

VERBETERT:

Mag ik 2 verbeteringen voorstellen: 1) als men deze vervangt: uint32_t code = strtoul(server.arg(i).c_str(), NULL, 10); door deze uint32_t code = strtoul(server.arg(i).c_str(), NULL, 16); De webpagina accepteert HEX-codes rechtstreeks. U hoeft niet handmatig naar decimaal te converteren!

2) Ik heb de handler verbeterd om met meerdere IR-formaten te kunnen werken. Leuk als we meerdere apparaten van verschillende merken willen aansturen: (meer formaten kunnen met een switch/case toegevoegd worden)

ongeldig handvatIr()

{ for (uint8_t i = 0; i <server.args(); i++) {if (server.argName(i) == "rcmm") { // format pour la freebox uint32_t code = strtoul(server.arg(i).c_str(), NULL, 16); irsend.sendRCMM(code, 32); Serieel.println(code); } else if (server.argName(i) == "rc6") { // format pour la TV phillips uint32_t code = strtoul(server.arg(i).c_str(), NULL, 16); irsend.sendRC6(code, 20); Serieel.println(code); } } handleRoot(); } De HTTP-links moeten natuurlijk dienovereenkomstig worden aangepast: …. href=\"ir?rcmm=2400260C……. …. href=\"ir?rc6=0000C ….

Stap 4: Coderingscode

Coderingscode
Coderingscode
Coderingscode
Coderingscode

Ik heb de code overgenomen uit voorbeelden van "IRremoteESP8266", "IRserver".

Maar er moeten enkele wijzigingen worden aangebracht in uw wifi-inloggegevens - Wifi ssid, Wifi-wachtwoord

De op de webserver gebaseerde codes (geel gemarkeerd) - Deze codes zijn de decimale vorm van de hexadecimale IR-codes. Deze decimale waarden worden doorgegeven aan ESP8266 als argumenten geconverteerd naar hex-code en verzonden naar IR LED.

BELANGRIJK: NA HET DECODEREN VAN EEN KNOP OP AFSTAND CONVERTEER DE HEXADECIMALE CODE NAAR DECIMAAL EN VERVANG DEZE IN HET Arduino-programma. Het is niet erg moeilijk om hex naar decimaal te converteren, zoek op Google naar online hexadecimaal naar decimale converter.

afbeeldingen spreken voor zich!!! Veel oudere code (2017), voel je vrij om te bewerken..

CODE:

Stap 5: CONTROLEREN

CONTROLEREN
CONTROLEREN
CONTROLEREN
CONTROLEREN
CONTROLEREN
CONTROLEREN

We kunnen het bedienen via de webserverlinks… het IP-adres van de ESP8266-module op onze router kan worden bepaald door de seriële monitor te openen net na het uploaden van de code. Zoals op de foto is de mijne 192.168.0.1

Bij het openen van dit IP-adres in elke browser van mobiel of laptop kunnen we de pagina zien zoals weergegeven in de afbeelding.

OF ANDERS VOOR GEMAK en eenvoud kunnen we een Android-app gebruiken …

"HTTP REQUEST SHORTCUT" app en schrijf het adres om de code gemakkelijk uit te voeren. Zoals op de afbeelding, kunnen we een widget op het startscherm toevoegen om gemakkelijk toegang te krijgen tot de virtuele knoppen en de benodigde externe knoppen te krijgen.

Foto's spreken voor zich.

DUS ZONDER IN HET PROGRAMMA TE SCHRIJVEN KUNNEN WE HET ARGUMENT "CODE" MET DECIMAAL VAN DE HEXADECIMALE CODE DIE UIT DE DECODEER VAN Afstandsbedieningen RECHTSTREEKS IN DE WIDGET WORDT GENTEGREERD, DOORVOEREN

BELANGRIJK: LEES HET HELE PROJECT GRONDIG DOOR HET DUURT 3 MINUTEN MAAR NIET HALFLEES EN BESCHADIG UW ONDERDELEN…. IK ZAL NIET VERANTWOORDELIJK ZIJN

Aanbevolen: