Web -afstandsbediening met Esp8266 (NodeMCU): 4 stappe
Web -afstandsbediening met Esp8266 (NodeMCU): 4 stappe
Anonim
Web -afstandsbediening met Esp8266 (NodeMCU)
Web -afstandsbediening met Esp8266 (NodeMCU)

Probleem

Daar is drie afstandsbedienings op die sitkamertafel. Om na u gunsteling program te kyk, moet u 'n spesiale reeks knoppies op ten minste twee volg. En jou kamermaat, ma, vriendin onthou dit nooit..

Oplossing

Jy koop 'n Logitech Harmony;-)

Maar as u nie hierdie geld wil spandeer nie, kan u iets soortgelyks vir minder as $ 10 bou. Deur 'n infrarooi LED aan 'n ESP8266 (s.th. soos 'n Arduino, maar met WiFi aan boord) te koppel, kan ons maklik 'n toestel bou waarmee ons kan toestelle beheer met 'n klein webblad vanaf enige rekenaar of selfoon in u WiFi.

Wat jy nodig het

  • NodeMCU -ontwikkelingsraad (hulle stuur uit Asië vir <5 €)
  • IR-sensor (OS-1838B of TSOP38238)
  • IR LED
  • 100Ω Weerstand
  • NPN Transistor (dws 2N2222)
  • klein stukkie prototipe PCB
  • vierpenaansluiting wat op die NodeMCU pas (dws diskettestroomadapter)

As u 'n ou afstandsbediening het, kan u waarskynlik die IR -LED en die transistor daarvan gebruik.

Stap 1: Monteer die hardeware

Die samestelling van die hardeware
Die samestelling van die hardeware
Die samestelling van die hardeware
Die samestelling van die hardeware
Die samestelling van die hardeware
Die samestelling van die hardeware
Die samestelling van die hardeware
Die samestelling van die hardeware

Monteer die komponente op 'n klein stukkie op 'n klein stukkie prototipe printplaat en verbind die komponente soos in die diagram getoon.

Afhangende van die LED, is die beskermende weerstand moontlik nie nodig nie. As u agterkom dat u baie goed moet mik of baie naby aan die toestel moet wees, kan u dit waarskynlik verwyder.

Ek het alles gekoppel aan 'n prop wat ek van 'n stukkende rekenaaradapter (die een vir die diskette) verwyder het.

Stap 2: Die installering van die toepassing op die NodeMCU

Stel u omgewing op om programme vir die esp8266 saam te stel met die Arduino IDE: [https://github.com/espressif/arduino-esp32

Kloon of laai die bronkode van die toepassing af van die github -bewaarplek

Installeer die biblioteek IRremoteESP8266 in die Arduino IDE (spyskaart: skets -> bestuur biblioteke). Kopieer die config.h -voorbeeldlêer en noem hierdie kopie config.h. U moet ten minste die SSID en wagwoord van u WiFi in config.h spesifiseer om aan die webbediener te kan koppel. Die Arduino Sketch moet nou saamgestel en opgelaai kan word. Koppel die breekbord wat u geskep het aan 3V, Ground, D5, D6.

As alles werk en die chip wat aan die Arduino IDE gekoppel is, uitgevoer word, moet u die IP-adres waarop die bediener werk, in die seriële monitor vertoon word.

Stap 3: Pas die HTML-bladsy aan om die NodeMCU te beheer

Die proses in hierdie stap word ook in die video getoon.

In die bronkode -gids is daar ook 'ir.html'. As dit korrek opgestel is, sal dit met die NodeMCU 'praat'.

Die eerste stap is dus om die lêer te vertel onder watter adres dit die NodeMCU kan vind. Maak die ir.html -lêer oop in 'n teksredigeerder en soek 'n reël wat so lyk:

var host = '192.168.2.121';

Verander die waarde tussen die bosluise sodat dit ooreenstem met die adres wat die webbediener op die seriële monitor gedruk het nadat dit begin is.

Opneem Druk op die opnameknoppie Wys die afstandsbediening op die sensor en druk die gewenste knoppie op die afstandsbediening. Onder die opname -knoppie moet 'n lang lys getalle verskyn. Dit is die tydsberekening van die sein vir die knoppie wat u op die afstandsbediening gedruk het.

Opdragte opstel

Nou wil ons 'n manier hê om 'n sein met die tydsberekening vanaf die chip self te stuur. Daarvoor moet ons die tydsberekeninge wat ons pas opgeneem het, by die lys van bekende seine voeg. Kopieer die waardes (insluitend die vierkantige hakies) wat die opnameproses aan u gegee het, en voeg 'n nuwe reël met 'n naam en die waardes in die ir.html -lêer na die reël so in:

var seine = {

"pgr1 btn": [1, 2, 3], Vervang die 1, 2, 3 met die aangetekende waardes en vergeet nie die komma na die omliggende hakies nie. Om 'n knoppie eintlik by te voeg, moet ons ook 'n opdrag byvoeg. 'N Opdrag kan bestaan uit veelvuldige seine, aangesien ons moontlik op die knoppies op die afstandsbediening moet' druk ', dit wil sê 1 en 2 om kanaal 12 op die TV te bereik. Hiermee kan u ook verskeie toestelle met een opdrag beheer. Soek die lyn wat so lyk

"Klank aan/uit": ["demp"], Kopieer die reël en verander die teks "Klank aan/uit" sodat dit pas by wat u op die nuwe knoppie wil vertoon. Verander die naam "demp" na die naam van die sein wat u bygevoeg het. Die resultaat kan dus wees:

"HBO": ["prg 1 btn"], As u meer seine wil uitvoer, voeg dit so by:

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

Stap 4: Gebruik

Nadat u die gewenste seinreeks in die HTML -lêer ingevoeg het, kan u dit na enige rekenaar of mobiele toestel met 'n blaaier kopieer en aan dieselfde WiFi as die NodeMCU gekoppel is.

Aanbeveel: