Esp8266 ilə Web IR Uzaqdan (NodeMCU): 4 addım
Esp8266 ilə Web IR Uzaqdan (NodeMCU): 4 addım
Anonim
Esp8266 ilə Web IR Uzaqdan (NodeMCU)
Esp8266 ilə Web IR Uzaqdan (NodeMCU)

Problem

Qonaq otağının masasında üç pult var. Sevdiyiniz şouya baxmaq üçün onlardan ən azı ikisinə basmaqla xüsusi bir düyməyə basmaq lazımdır. Otaq yoldaşınız, ana, qız yoldaşınız bunları heç vaxt xatırlamır.

Həll

Logitech Harmony alırsınız;-)

Ancaq bu pulu xərcləmək istəmirsinizsə, 10 dollardan aşağı qiymətə oxşar bir şey qura bilərsiniz. İnfraqırmızı LED -i bir ESP8266 -ya (Arduino kimi, ancaq WiFi ilə birlikdə) bağlayaraq asanlıqla cihaz qura bilərik. WiFi'inizdəki hər hansı bir kompüterdən və ya cib telefonundan kiçik bir veb səhifəsi olan cihazları idarə edə bilərik.

Nə lazımdır

  • NodeMCU inkişaf lövhəsi (Asiyadan <5 € üçün göndərirlər)
  • IR sensoru (OS-1838B və ya TSOP38238)
  • IR LED
  • 100Ω rezistor
  • NPN Transistoru (yəni 2N2222)
  • kiçik bir PCB prototip parçası
  • NodeMCU -ya uyğun olan dörd pinli bağlayıcı (yəni disket güc adapteri)

Köhnə bir uzaqdan idarəetmə cihazınız varsa, ehtimal ki, İQ LED və tranzistordan istifadə edə bilərsiniz.

Addım 1: Avadanlıqların yığılması

Avadanlıqların yığılması
Avadanlıqların yığılması
Avadanlıqların yığılması
Avadanlıqların yığılması
Avadanlıqların yığılması
Avadanlıqların yığılması
Avadanlıqların yığılması
Avadanlıqların yığılması

Komponentləri kiçik bir prototip dövrə lövhəsinin kiçik bir hissəsinə yığın və komponentləri diaqramda göstərildiyi kimi bağlayın.

LED -dən asılı olaraq qoruyucu rezistor lazımsız ola bilər. Həqiqətən yaxşı hədəf almalı olduğunuzu və ya cihaza həqiqətən yaxın olmalı olduğunuzu görsəniz, yəqin ki, onu çıxara bilərsiniz.

Hər şeyi pozulmuş bir PC güc adapterindən çıxardığım bir fişə bağladım (disket üçün).

Addım 2: Tətbiqi NodeMCU -da quraşdırın

Arduino IDE ilə esp8266 üçün proqramlar tərtib etmək üçün mühitinizi qurun: [https://github.com/espressif/arduino-esp32

Github deposundan tətbiqin mənbə kodunu kopyalayın və ya yükləyin

Arduino IDE -də IRremoteESP8266 kitabxanasını quraşdırın (Menyu: Sketch -> Kitabxanaları İdarə Edin). Config.h.example faylını kopyalayın və bu kopyaya config.h adını verin. Web Server -ə qoşulmaq üçün config.h -də ən azı WiFi -nin SSID və Şifrəsini göstərməlisiniz. Arduino Sketch artıq tərtib oluna və yüklənə bilər. Yaratdığınız kəsmə lövhəsini 3V, Ground, D5, D6 -ya qoşun.

Hər şey işləyirsə və Arduino IDE-yə qoşulmuş çipi işə salırsınızsa, serverin işlədiyi IP ünvanı göstərilməlidir.

Addım 3: NodeMCU-nu idarə etmək üçün HTML səhifəsini fərdiləşdirin

Bu addımdakı proses videoda da göstərilir.

Mənbə kodu qovluğunda 'ir.html' də var. Düzgün qurulsa, bu NodeMCU ilə 'danışacaq'.

Beləliklə, ilk addım hansı ünvanın altında NodeMCU tapa biləcəyini söyləməkdir. İr.html faylını mətn redaktorunda açın və belə bir sətir axtarın:

var host = '192.168.2.121';

İşə başladıqdan sonra serial monitorda yazılmış veb serverin ünvanına uyğun olması üçün gənələr arasındakı dəyəri dəyişdirin.

Qeyd Qeyd düyməsinə basın Uzaqdan idarəedicini sensora yönəldin və pultdakı istədiyiniz düyməni basın Bundan sonra qeyd düyməsinin altında uzun bir siyahı siyahısı olmalıdır. Uzaqdan basdığınız düymənin siqnal vaxtıdır.

Əmrlərin qurulması

İndi çipin özündən həmin vaxtlarla bir siqnal göndərməyin bir yolunu istəyirik. Bunun üçün qeyd etdiyimiz vaxtları məlum siqnallar siyahısına əlavə etməliyik. Qeyd prosesinin sizə verdiyi dəyərləri (kvadrat mötərizələr daxil olmaqla) kopyalayın və bu kimi görünən sətirdən sonra ir.html faylına adları olan yeni bir xətt daxil edin:

var siqnalları = {

"pgr1 btn": [1, 2, 3], 1, 2, 3 -ü qeyd olunan dəyərlərlə əvəz edin və ətrafdakı mötərizələrdən sonra vergülünü unutmayın. Bir düyməni əlavə etmək üçün bir əmr də əlavə etməliyik. Bir komanda birdən çox siqnaldan ibarət ola bilər, çünki pultdakı birdən çox düyməni, yəni 1 və 2 düymələrini "basmaq" lazım ola bilər, çünki TV -də kanal 12 -yə çatmaq olar. Bu, bir əmrlə birdən çox cihazı idarə etməyə imkan verir. Bu kimi görünən xətti axtarın

"Səsi aç/söndür": ["səssiz"], Bu sətri kopyalayın və "Səs aç/söndür" mətnini yeni düymədə göstərmək istədiyinizə uyğun olaraq dəyişdirin. "Səssiz" adını əlavə etdiyiniz siqnalın adına dəyişdirin. Beləliklə nəticə ola bilər:

"HBO": ["prg 1 btn"], Birdən çox siqnal yerinə yetirmək istəyirsinizsə, bunları əlavə edin:

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

Addım 4: İstifadə

İstədiyiniz siqnal ardıcıllığını HTML faylına daxil etdikdən sonra onu brauzeri olan və NodeMCU ilə eyni WiFi -yə qoşulmuş istənilən kompüterə və ya mobil cihaza kopyalaya bilərsiniz.

Tövsiyə: