Taula de continguts:

Remot IR web amb Esp8266 (NodeMCU): 4 passos
Remot IR web amb Esp8266 (NodeMCU): 4 passos

Vídeo: Remot IR web amb Esp8266 (NodeMCU): 4 passos

Vídeo: Remot IR web amb Esp8266 (NodeMCU): 4 passos
Vídeo: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, De novembre
Anonim
Comandament web IR amb Esp8266 (NodeMCU)
Comandament web IR amb Esp8266 (NodeMCU)

Problema

Hi ha tres comandaments a distància a la taula del saló. Per veure el vostre programa favorit, heu de seguir amb precisió una seqüència especial de botons que empeny almenys dos d'ells. I la teva companya de pis, mare, nòvia mai no se’n recorda …

Solució

Compra un Logitech Harmony;-)

Però si no voleu gastar aquests diners, podeu construir una cosa similar per menys de 10 dòlars. En connectar un LED d’infrarojos a un ESP8266 (com ara un Arduino però amb WiFi a bord), podem construir fàcilment un dispositiu amb el qual podem controlar els dispositius amb una petita pàgina web des de qualsevol ordinador o telèfon mòbil del vostre WiFi.

Què necessites

  • Tauler de desenvolupament NodeMCU (s’envien des d’Àsia per <5 €)
  • Sensor IR (OS-1838B o TSOP38238)
  • LED IR
  • Resistència de 100Ω
  • Transistor NPN (és a dir, 2N2222)
  • petit tros de prototip de PCB
  • connector de quatre pins que s'adapta al NodeMCU (és a dir, adaptador d'alimentació del disquet)

Si teniu un comandament a distància antic, probablement pugueu utilitzar el LED IR i el transistor.

Pas 1: Muntatge del maquinari

Muntatge del maquinari
Muntatge del maquinari
Muntatge del maquinari
Muntatge del maquinari
Muntatge del maquinari
Muntatge del maquinari
Muntatge del maquinari
Muntatge del maquinari

Muntar els components en una petita peça en una petita peça de prototip de placa de circuit i connectar els components tal com es mostra al diagrama.

Segons el LED, la resistència de protecció pot no ser necessària. Si creieu que heu d’apuntar molt bé o que heu d’estar molt a prop del dispositiu, probablement el podreu eliminar.

Ho he connectat tot a un endoll que he tret d'un adaptador d'alimentació de l'ordinador trencat (el del disquet).

Pas 2: Instal·lació de l'aplicació al NodeMCU

Configureu el vostre entorn per compilar programes per a l'esp8266 amb l'IDE Arduino: [https://github.com/espressif/arduino-esp32

Cloneu o baixeu el codi font de l'aplicació des del dipòsit de github

A l’IDE Arduino, instal·leu la biblioteca IRremoteESP8266 (menú: Esbós -> Gestiona les biblioteques). Copieu el fitxer config.h.example i anomeneu aquesta còpia config.h. Com a mínim heu d’especificar l’SSID i la contrasenya del vostre WiFi a config.h per poder connectar-vos al servidor web. Ara Arduino Sketch hauria de poder ser compilat i carregat. Connecteu el tauler de ruptura que heu creat a 3V, Ground, D5, D6.

Si tot ha funcionat i executeu el xip connectat a l'IDE Arduino, haureu de mostrar l'adreça IP en què s'executa el servidor al monitor sèrie.

Pas 3: personalització de la pàgina HTML per controlar el NodeMCU

El procés d’aquest pas també es mostra al vídeo.

Al directori del codi font també hi ha un 'ir.html'. Si es configura correctament, "parlarà" amb el NodeMCU.

Per tant, el primer pas és indicar al fitxer amb quina adreça pot trobar el NodeMCU. Obriu el fitxer ir.html en un editor de text i cerqueu una línia que tingui aquest aspecte:

var host = '192.168.2.121';

Canvieu el valor entre les paparres perquè coincideixi amb l'adreça que el servidor web va imprimir al monitor sèrie després de començar.

Enregistrament Premeu el botó de registre Punteu el comandament a distància del sensor i premeu el botó desitjat del comandament. Després, sota el botó de gravació, hauria de passar una llarga llista de números. Aquests són els temps del senyal del botó que heu premut al comandament.

Configuració d’ordres

Ara volem una manera d’enviar un senyal amb aquests temps des del propi xip. Per a això, hem d'afegir els temps que acabem de gravar a la llista de senyals coneguts. Copieu els valors (inclosos els claudàtors) que us ha proporcionat el procés de gravació i inseriu una nova línia amb un nom i els valors al fitxer ir.html després de la línia que tingui aquest aspecte:

senyals var = {

"pgr1 btn": [1, 2, 3], Substituïu l'1, 2, 3 pels valors enregistrats i no oblideu la coma després dels parèntesis circumdants. Per afegir un botó realment també hem d'afegir una ordre. Una ordre pot consistir en diversos senyals, ja que és possible que hàgim de "prémer" diversos botons del comandament a distància, és a dir, 1 i 2 per arribar al canal 12 del televisor. Això també permet controlar diversos dispositius amb una sola ordre. Cerqueu la línia que té aquest aspecte

"So activat / desactivat": ["silenci"], Copieu aquesta línia i canvieu el text "So activat / desactivat" perquè coincideixi amb el que voleu que es mostri al nou botó. Canvieu el nom "silenci" pel nom del senyal que heu afegit. Per tant, el resultat podria ser:

"HBO": ["prg 1 btn"], Si voleu executar diversos senyals, afegiu-los així:

"HBO": ["prg 1 btn", "prg 2 btn"],

Pas 4: Ús

Després d'inserir les seqüències de senyal desitjades al fitxer HTML, podeu copiar-lo a qualsevol ordinador o dispositiu mòbil que tingui un navegador i estigui connectat al mateix WiFi que el NodeMCU.

Recomanat: