Cuprins:

Web IR Remote cu Esp8266 (NodeMCU): 4 pași
Web IR Remote cu Esp8266 (NodeMCU): 4 pași

Video: Web IR Remote cu Esp8266 (NodeMCU): 4 pași

Video: Web IR Remote cu Esp8266 (NodeMCU): 4 pași
Video: Arduino, ESP8266 - IR Remote 2024, Noiembrie
Anonim
Web IR Remote cu Esp8266 (NodeMCU)
Web IR Remote cu Esp8266 (NodeMCU)

Problemă

Există trei telecomenzi pe masa din sufragerie. Pentru a viziona emisiunea preferată trebuie să urmați cu precizie o secvență specială de apăsări de butoane pe cel puțin două dintre ele. Și colega ta de cameră, mama, prietena nu-și amintește niciodată de acestea..

Soluţie

Cumpărați un Logitech Harmony;-)

Dar dacă nu doriți să cheltuiți acești bani, puteți construi ceva similar pentru mai puțin de 10 USD. Prin conectarea unui LED cu infraroșu la un ESP8266 (cum ar fi un Arduino, dar cu WiFi la bord) putem construi cu ușurință un dispozitiv cu care putem controla dispozitivele cu o mică pagină web de pe orice computer sau telefon mobil din WiFi.

De ce ai nevoie

  • Consiliul de dezvoltare NodeMCU (se livrează din Asia pentru <5 €)
  • Senzor IR (OS-1838B sau TSOP38238)
  • LED IR
  • Rezistor 100Ω
  • Tranzistor NPN (adică 2N2222)
  • bucată mică de PCB prototip
  • conector cu patru pini care se potrivește pe NodeMCU (adică adaptor de alimentare pentru dischetă)

Dacă aveți o telecomandă veche, probabil că puteți utiliza LED-ul IR și tranzistorul de pe acesta.

Pasul 1: Asamblarea hardware-ului

Asamblarea hardware-ului
Asamblarea hardware-ului
Asamblarea hardware-ului
Asamblarea hardware-ului
Asamblarea hardware-ului
Asamblarea hardware-ului
Asamblarea hardware-ului
Asamblarea hardware-ului

Asamblați componentele pe o bucată mică pe o bucată mică de placă de circuit prototip și conectați componentele așa cum se arată în diagramă.

În funcție de LED, rezistența de protecție poate să nu fie necesară. Dacă descoperiți că trebuie să vizați foarte bine sau trebuie să fiți foarte aproape de dispozitiv, probabil îl puteți elimina.

Am conectat totul la o mufă pe care am scos-o dintr-un adaptor de alimentare pentru computer rupt (cel pentru dischetă).

Pasul 2: Instalarea aplicației pe NodeMCU

Configurați-vă mediul pentru a compila programe pentru esp8266 cu Arduino IDE: [https://github.com/espressif/arduino-esp32

Clonați sau descărcați codul sursă al aplicației din depozitul github

În IDE-ul Arduino, instalați biblioteca IRremoteESP8266 (Meniu: Schiță -> Gestionați bibliotecile). Copiați fișierul config.h.example și denumiți această copie config.h. Trebuie să specificați cel puțin SSID și Parola WiFi-ului dvs. în config.h pentru a vă putea conecta la Webserver. Arduino Sketch ar trebui să poată fi acum compilat și încărcat. Conectați placa de rupere pe care ați creat-o la 3V, la sol, D5, D6.

Dacă totul a funcționat și rulați cipul conectat la Arduino IDE, ar trebui să vi se afișeze adresa IP pe care rulează serverul pe monitorul serial.

Pasul 3: Personalizarea paginii HTML pentru a controla NodeMCU

Procesul din acest pas este prezentat și în videoclip.

În directorul codului sursă există și un „ir.html”. Dacă este configurat corect, acest lucru va „vorbi” cu NodeMCU.

Deci, primul pas este să spuneți fișierului sub ce adresă poate găsi NodeMCU. Deschideți fișierul ir.html într-un editor de text și căutați o linie care arată astfel:

var host = '192.168.2.121';

Modificați valoarea dintre căpușe pentru a se potrivi cu adresa pe care serverul web a imprimat-o pe monitorul serial după pornire.

Înregistrare Apăsați butonul Înregistrați, indicați telecomanda de pe senzor și apăsați butonul dorit de pe telecomandă. După aceea, sub butonul Înregistrare ar trebui să apară o listă lungă de numere. Acestea sunt momentele semnalului pentru butonul pe care l-ați apăsat pe telecomandă.

Configurarea comenzilor

Acum vrem o modalitate de a trimite un semnal cu acele temporizări de la cipul în sine. Pentru aceasta trebuie să adăugăm temporizările pe care tocmai le-am înregistrat la lista de semnale cunoscute. Copiați valorile (inclusiv parantezele pătrate) pe care vi le-a dat procesul de înregistrare și introduceți o nouă linie cu un nume și valorile în fișierul ir.html după linia care arată astfel:

semnale var = {

„pgr1 btn”: [1, 2, 3], Înlocuiți 1, 2, 3 cu valorile înregistrate și nu uitați de virgulă după parantezele din jur. Pentru a adăuga de fapt un buton, trebuie să adăugăm și o comandă. O comandă poate consta din mai multe semnale, deoarece este posibil să trebuiască să „apăsăm” mai multe butoane de pe telecomandă, adică 1 și 2 pentru a ajunge la canalul 12 de pe televizor. Acest lucru permite, de asemenea, să controlați mai multe dispozitive cu o singură comandă. Căutați linia care arată astfel

„Sunet activat / dezactivat”: [„mut”], Copiați acea linie și modificați textul „Sunet activat / dezactivat” pentru a se potrivi cu ceea ce doriți să afișați pe noul buton. Schimbați numele „mut” cu numele semnalului pe care l-ați adăugat. Deci, rezultatul ar putea fi:

„HBO”: [„prg 1 btn”], Dacă doriți să executați mai multe semnale adăugați-le astfel:

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

Pasul 4: utilizare

După ce ați introdus secvențele de semnal dorite în fișierul HTML, îl puteți copia pe orice computer sau dispozitiv mobil care are un browser și este conectat la același WiFi ca NodeMCU.

Recomandat: