Spletni IR daljinski upravljalnik z Esp8266 (NodeMCU): 4 koraki
Spletni IR daljinski upravljalnik z Esp8266 (NodeMCU): 4 koraki
Anonim
Spletni IR daljinski upravljalnik z Esp8266 (NodeMCU)
Spletni IR daljinski upravljalnik z Esp8266 (NodeMCU)

Problem

Na mizi v dnevni sobi so trije daljinski upravljalniki. Če želite gledati svojo najljubšo oddajo, morate natančno slediti posebnemu zaporedju pritiskov gumbov na vsaj dveh od njih. In tvoja sostanovalka, mama, dekle se tega nikoli ne spomni.

Rešitev

Kupite Logitech Harmony;-)

Če pa ne želite porabiti tega denarja, lahko zgradite nekaj podobnega za manj kot 10 USD. S povezovanjem infrardeče LED z ESP8266 (s.th. kot Arduino, vendar z vgrajeno WiFi) lahko enostavno sestavimo napravo, s katero lahko upravljamo naprave z majhno spletno stranjo iz katerega koli računalnika ali mobilnega telefona v vaši WiFi.

Kaj rabiš

  • Razvojni odbor NodeMCU (pošiljajo iz Azije za <5 €)
  • IR senzor (OS-1838B ali TSOP38238)
  • IR LED
  • 100Ω upor
  • NPN tranzistor (tj. 2N2222)
  • majhen kos prototipa tiskanega vezja
  • štirinožni priključek, ki se prilega NodeMCU (to je napajalnik za disketo)

Če imate star daljinski upravljalnik, lahko verjetno uporabite IR LED in tranzistor z njega.

1. korak: Sestavljanje strojne opreme

Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme

Sestavite komponente na majhnem kosu na majhnem kosu prototipnega vezja in komponente povežite, kot je prikazano na diagramu.

Odvisno od LED zaščitni upor morda ne bo potreben. Če ugotovite, da morate resnično dobro ciljati ali biti zelo blizu naprave, jo verjetno odstranite.

Vse sem priključil na vtič, ki sem ga odstranil iz pokvarjenega napajalnika računalnika (tistega za disketo).

2. korak: Namestitev aplikacije na NodeMCU

Nastavite svoje okolje za pripravo programov za esp8266 z ID-jem Arduino: [https://github.com/espressif/arduino-esp32

Klonirajte ali prenesite izvorno kodo aplikacije iz skladišča github

V Arduino IDE namestite knjižnico IRremoteESP8266 (Meni: Skica -> Upravljanje knjižnic). Kopirajte datoteko config.h.example in poimenujte to kopijo config.h. Če se želite povezati s spletnim strežnikom, morate v nastavitvah.h vsaj določiti SSID in geslo za svojo WiFi. Arduino Sketch bi bilo zdaj treba sestaviti in naložiti. Ustvarjeno odklopno ploščo povežite s 3V, ozemljitvijo, D5, D6.

Če je vse delovalo in zaženete čip, povezan z Arduino IDE, bi morali na serijskem monitorju prikazati naslov IP, na katerem strežnik teče.

3. korak: Prilagoditev strani HTML za nadzor NodeMCU

Postopek v tem koraku je prikazan tudi v videoposnetku.

V imeniku izvorne kode je tudi 'ir.html'. Če je pravilno konfiguriran, se bo "pogovarjal" z NodeMCU.

Prvi korak je torej povedati datoteki, pod katerim naslovom lahko najde NodeMCU. Odprite datoteko ir.html v urejevalniku besedil in poiščite vrstico, ki izgleda takole:

var host = '192.168.2.121';

Spremenite vrednost med kljukicami tako, da se po zagonu ujema z naslovom, ki ga je spletni strežnik natisnil na serijskem monitorju.

Snemanje Pritisnite gumb za snemanje Na daljinskem upravljalniku pri senzorju in pritisnite želeni gumb na daljinskem upravljalniku Po tem naj se pod gumbom za snemanje prikaže dolg seznam številk. To so časi signala za tisti gumb, ki ste ga pritisnili na daljinskem upravljalniku.

Nastavitev ukazov

Zdaj želimo način pošiljanja signala s temi časi iz samega čipa. Za to moramo na seznam znanih signalov dodati ravnokar zabeležene čase. Kopirajte vrednosti (vključno z oglatimi oklepaji), ki vam jih je dal postopek snemanja, in za vrstico, ki izgleda tako: vstavite novo vrstico z imenom in vrednostmi v datoteki ir.html:

var signali = {

"pgr1 btn": [1, 2, 3],

Zamenjajte 1, 2, 3 z zabeleženimi vrednostmi in ne pozabite na vejico za oklepaji. Za dodajanje gumba moramo dodati tudi ukaz. Ukaz je lahko sestavljen iz več signalov, saj bomo morda morali pritisniti več gumbov na daljinskem upravljalniku, to je 1 in 2, da dosežemo kanal 12 na televizorju. To omogoča tudi upravljanje več naprav z enim ukazom. Poiščite črto, ki izgleda tako

"Vklop/izklop zvoka": ["utišanje"],

Kopirajte to vrstico in spremenite besedilo "Vklop/izklop zvoka", da se ujema s tem, kar želite prikazati na novem gumbu. Spremenite ime "utišaj" v ime signala, ki ste ga dodali. Torej je rezultat lahko tak:

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

Če želite izvesti več signalov, jih dodajte tako:

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

4. korak: Uporaba

Ko v datoteko HTML vstavite želene zaporedje signalov, jih lahko kopirate v kateri koli računalnik ali mobilno napravo, ki ima brskalnik in je povezana z isto WiFi kot NodeMCU.

Priporočena: