İçindekiler:

Esp8266 (NodeMCU) ile Web IR Uzaktan Kumandası: 4 Adım
Esp8266 (NodeMCU) ile Web IR Uzaktan Kumandası: 4 Adım

Video: Esp8266 (NodeMCU) ile Web IR Uzaktan Kumandası: 4 Adım

Video: Esp8266 (NodeMCU) ile Web IR Uzaktan Kumandası: 4 Adım
Video: ESP8266 Kullanarak Kendi Kablosuz Klima Kontrol Cihazınızı Yapın (DIY Wifi Air Cond Controller) 2024, Kasım
Anonim
Esp8266 ile Web IR Uzaktan Kumandası (NodeMCU)
Esp8266 ile Web IR Uzaktan Kumandası (NodeMCU)

Sorun

Oturma odası masasında üç kumanda var. En sevdiğiniz programı izlemek için, en az ikisinde özel bir düğmeye basma dizisini tam olarak takip etmeniz gerekir. Ve oda arkadaşın, annen, kız arkadaşın bunları hiç hatırlamıyor..

Çözüm

Bir Logitech Harmony satın aldınız;-)

Ancak bu parayı harcamak istemiyorsanız, 10$'ın altında benzer bir şey yapabilirsiniz. Kızılötesi bir LED'i bir ESP8266'ya (Arduino gibi ama yerleşik WiFi ile) bir kızılötesi LED bağlayarak kolayca bir cihaz oluşturabiliriz. WiFi'nizdeki herhangi bir bilgisayar veya cep telefonundan küçük bir web sayfası ile cihazları kontrol edebiliriz.

Neye ihtiyacın var

  • NodeMCU geliştirme kurulu (Asya'dan < 5 € karşılığında gönderilir)
  • IR sensörü (OS-1838B veya TSOP38238)
  • IR LED'i
  • 100Ω Direnç
  • NPN Transistör (yani 2N2222)
  • küçük parça prototip PCB
  • NodeMCU'ya uyan dört pimli konektör (yani disket güç adaptörü)

Eski bir uzaktan kumandanız varsa, muhtemelen IR LED'i ve ondan gelen transistörü kullanabilirsiniz.

Adım 1: Donanımın Montajı

Donanımın Montajı
Donanımın Montajı
Donanımın Montajı
Donanımın Montajı
Donanımın Montajı
Donanımın Montajı
Donanımın Montajı
Donanımın Montajı

Bileşenleri küçük bir parça prototip devre kartı üzerinde küçük bir parça üzerinde birleştirin ve bileşenleri şemada gösterildiği gibi bağlayın.

LED'e bağlı olarak koruyucu direnç gerekli olmayabilir. Gerçekten iyi nişan almanız veya cihaza çok yakın olmanız gerektiğini fark ederseniz, muhtemelen onu kaldırabilirsiniz.

Her şeyi bozuk bir PC güç adaptöründen çıkardığım bir fişe bağladım (disket için olan).

Adım 2: Uygulamayı NodeMCU'ya Yükleme

Arduino IDE ile esp8266 için programları derlemek için ortamınızı kurun: [https://github.com/espressif/arduino-esp32

Uygulamanın kaynak kodunu github deposundan klonlayın veya indirin

Arduino IDE'de IRremoteESP8266 (Menü: Sketch -> Manage Libraries) kütüphanesini kurun. config.h.example dosyasını kopyalayın ve bu kopyaya config.h adını verin. Web sunucusuna bağlanabilmek için en azından config.h'de WiFi'nizin SSID'sini ve Parolasını belirtmelisiniz. Arduino Sketch artık derlenip yüklenebilmelidir. Oluşturduğunuz devre kartını 3V, Ground, D5, D6'ya bağlayın.

Her şey yolunda giderse ve Arduino IDE'ye bağlı çipi çalıştırırsanız, sunucunun çalıştığı IP adresini seri monitörde göstermelisiniz.

3. Adım: HTML sayfasını NodeMCU'yu Kontrol Etmek İçin Özelleştirme

Bu adımdaki işlem de videoda gösterilmiştir.

Kaynak kod dizininde ayrıca bir 'ir.html' vardır. Doğru yapılandırılırsa bu, NodeMCU ile 'konuşacaktır'.

Bu nedenle ilk adım, dosyaya NodeMCU'yu hangi adres altında bulabileceğini söylemektir. ir.html dosyasını bir metin düzenleyicide açın ve şuna benzeyen bir satır arayın:

var host = '192.168.2.121';

Başladıktan sonra, seri monitörde yazdırılan web sunucusunun adresiyle eşleşmesi için keneler arasındaki değeri değiştirin.

Kayıt Kayıt Düğmesine basınUzaktan kumandayı sensöre doğrultun ve uzaktan kumandadaki istediğiniz düğmeye basınBundan sonra Kayıt düğmesinin altında uzun bir numara listesi oluşmalıdır. Bunlar, uzaktan kumandada bastığınız düğmenin sinyalinin zamanlamaları.

Komutları Ayarlama

Şimdi, çipin kendisinden bu zamanlamalarla bir sinyal göndermenin bir yolunu istiyoruz. Bunun için az önce kaydettiğimiz zamanlamaları bilinen sinyaller listesine eklememiz gerekiyor. Kayıt işleminin size verdiği değerleri (köşeli parantezler dahil) kopyalayın ve aşağıdaki gibi görünen satırdan sonra ir.html dosyasındaki değerler ve adla yeni bir satır ekleyin:

var sinyaller = {

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

1, 2, 3'ü kayıtlı değerlerle değiştirin ve çevreleyen parantezlerden sonra virgül koymayı unutmayın. Aslında bir düğme eklemek için bir komut da eklemeliyiz. Bir komut birden fazla sinyalden oluşabilir, çünkü TV'de 12. kanala ulaşmak için uzaktan kumandadaki birden fazla düğmeye, yani 1 ve 2'ye basmamız gerekebilir. Bu aynı zamanda birden fazla cihazı tek komutla kontrol etmeyi sağlar. Bunun gibi görünen çizgiyi arayın

"Ses açık/kapalı": ["sessiz"],

Bu satırı kopyalayın ve "Ses açık/kapalı" metnini yeni düğmede görüntülemek istediğinizle eşleşecek şekilde değiştirin. "Sessiz" adını, eklediğiniz sinyalin adıyla değiştirin. Yani sonuç şöyle olabilir:

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

Birden fazla sinyal yürütmek istiyorsanız, bunları şu şekilde ekleyin:

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

4. Adım: Kullanım

İstediğiniz sinyal dizilerini HTML dosyasına ekledikten sonra, tarayıcısı olan ve NodeMCU ile aynı WiFi'ye bağlı herhangi bir bilgisayara veya mobil cihaza kopyalayabilirsiniz.

Önerilen: