Telekomandë Web me Esp8266 (NodeMCU): 4 hapa
Telekomandë Web me Esp8266 (NodeMCU): 4 hapa
Anonim
IR IR në distancë me Esp8266 (NodeMCU)
IR IR në distancë me Esp8266 (NodeMCU)

Problemi

Ka tre telekomandë në tryezën e dhomës së ndenjes. Për të parë shfaqjen tuaj të preferuar duhet të ndiqni me saktësi një sekuencë të veçantë të shtypjes së butonave në të paktën dy prej tyre. Dhe shoku juaj i dhomës, nëna, e dashura nuk i mban mend ato..

Zgjidhja

Ju blini një Logitech Harmony;-)

Por nëse nuk doni të shpenzoni këto para, mund të ndërtoni diçka të ngjashme për më pak se 10 dollarë. Duke lidhur një LED me rreze infra të kuqe me një ESP8266 (s.th. si një Arduino, por me WiFi në bord) ne lehtë mund të ndërtojmë një pajisje me të cilën ne mund të kontrollojmë pajisjet me një faqe të vogël në internet nga çdo kompjuter ose telefon celular në WiFi tuaj.

Atë që ju nevojitet

  • Bordi i zhvillimit të NodeMCU (ata dërgohen nga Azia për <5 €)
  • Sensori IR (OS-1838B ose TSOP38238)
  • LED LED
  • Rezistencë 100Ω
  • NPN Transistor (dmth. 2N2222)
  • pjesë e vogël e prototipit PCB
  • lidhës me katër kunja që përshtatet në NodeMCU (dmth. përshtatës i fuqisë së disketës)

Nëse keni një telekomandë të vjetër, me siguri mund të përdorni IR LED dhe transistorin prej tij.

Hapi 1: Montimi i harduerit

Montimi i harduerit
Montimi i harduerit
Montimi i harduerit
Montimi i harduerit
Montimi i harduerit
Montimi i harduerit
Montimi i harduerit
Montimi i harduerit

Mblidhni përbërësit në një pjesë të vogël në një pjesë të vogël të bordit të qarkut prototip dhe lidhni përbërësit siç tregohet në diagram.

Në varësi të LED, rezistenca mbrojtëse mund të mos jetë e nevojshme. Nëse zbuloni se duhet të synoni vërtet mirë ose duhet të jeni vërtet afër pajisjes, me siguri mund ta hiqni atë.

Kam lidhur gjithçka me një prizë që kam hequr nga një përshtatës i prishur i kompjuterit (ai për disketën).

Hapi 2: Instalimi i Aplikacionit në NodeMCU

Vendosni mjedisin tuaj për të përpiluar programe për esp8266 me Arduino IDE: [https://github.com/espressif/arduino-esp32

Klononi ose Shkarkoni kodin burimor të aplikacionit nga depoja e github

Në Arduino IDE, instaloni bibliotekën IRremoteESP8266 (Menu: Skicë -> Menaxhoni Bibliotekat). Kopjoni skedarin config.h.example dhe emërtojeni këtë kopje config.h. Së paku duhet të specifikoni SSID -in dhe Fjalëkalimin e WiFi -it tuaj në config.h që të jeni në gjendje të lidheni me serverin e uebit. Skica Arduino tani duhet të jetë në gjendje të përpilohet dhe ngarkohet. Lidhni bordin e shpërthimit që keni krijuar me 3V, Ground, D5, D6.

Nëse gjithçka funksionon dhe ju drejtoni çipin e lidhur me Arduino IDE, duhet të shfaqet adresa IP që serveri po funksionon në monitorin serik.

Hapi 3: Përshtatja e faqes HTML për të kontrolluar NodeMCU

Procesi në këtë hap është treguar edhe në video.

Në drejtorinë e kodit burimor ekziston edhe një 'ir.html'. Nëse konfigurohet saktë kjo do të 'flasë' me NodeMCU.

Pra, hapi i parë është t'i tregoni skedarit nën cilën adresë mund të gjejë NodeMCU. Hapni skedarin ir.html në një redaktues teksti dhe kërkoni një rresht që duket si ky:

var host = '192.168.2.121';

Ndryshoni vlerën midis tik -takëve që të përputhen me adresën e serverit të uebit të shtypur në monitorin serik pas fillimit.

Regjistrimi Shtypni butonin e regjistrimit Vendosni telekomandën në sensor dhe shtypni butonin e dëshiruar në telekomandë. Pas kësaj nën butonin Record duhet të shfaqet një listë e gjatë numrash. Këto janë kohët e sinjalit për atë buton që keni shtypur në telekomandë.

Vendosja e Komandave

Tani duam një mënyrë për të dërguar një sinjal me ato kohë nga vetë çipi. Për këtë ne duhet të shtojmë kohën që sapo regjistruam në listën e sinjaleve të njohura. Kopjoni vlerat (përfshirë kllapat katrore) që ju dha procesi i regjistrimit dhe futni një rresht të ri me një emër dhe vlerat në skedarin ir.html pasi rreshti të duket kështu:

sinjalet var = {

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

Zëvendësoni 1, 2, 3 me vlerat e regjistruara dhe mos harroni presjen pas kllapave përreth. Për të shtuar në fakt një buton duhet të shtojmë edhe një komandë. Një komandë mund të përbëhet nga sinjale të shumta pasi mund të na duhet të 'shtypim' butona të shumtë në telekomandë, dmth 1 dhe 2 për të arritur në kanalin 12 në televizor. Kjo gjithashtu ju lejon të kontrolloni pajisje të shumta me një komandë. Shikoni për vijën që duket kështu

"Tingulli ndez/fiket": ["heshtje"],

Kopjoni atë rresht dhe ndryshoni tekstin "Sound on/off" që të përputhet me atë që dëshironi të shfaqni në butonin e ri. Ndryshoni emrin "memec" në emrin e sinjalit që keni shtuar. Pra, rezultati mund të jetë:

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

Nëse doni të ekzekutoni sinjale të shumta shtoni ato si kjo:

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

Hapi 4: Përdorimi

Pasi të keni futur sekuencat e dëshiruara të sinjalit në skedarin HTML, mund ta kopjoni në çdo kompjuter ose pajisje celulare që ka një shfletues dhe është e lidhur me të njëjtin WiFi si NodeMCU.

Recommended: