Innholdsfortegnelse:

Web -IR -fjernkontroll med Esp8266 (NodeMCU): 4 trinn
Web -IR -fjernkontroll med Esp8266 (NodeMCU): 4 trinn

Video: Web -IR -fjernkontroll med Esp8266 (NodeMCU): 4 trinn

Video: Web -IR -fjernkontroll med Esp8266 (NodeMCU): 4 trinn
Video: Обзор ESP8266 NodeMCU подключение и прошивка в Arduino 2024, November
Anonim
Web -IR -fjernkontroll med Esp8266 (NodeMCU)
Web -IR -fjernkontroll med Esp8266 (NodeMCU)

Problem

Det er tre fjernkontroller på stuebordet. For å se favorittprogrammet ditt må du nøyaktig følge en spesiell sekvens med knappetrykk på minst to av dem. Og romkameraten din, mamma, kjæresten husker aldri de..

Løsning

Du kjøper en Logitech Harmony;-)

Men hvis du ikke vil bruke disse pengene kan du bygge noe lignende for under 10 $. Ved å koble en infrarød LED til en ESP8266 (s.th. som en Arduino, men med WiFi ombord) kan vi enkelt konstruere en enhet som vi kan kontrollere enheter med en liten webside fra hvilken som helst datamaskin eller mobiltelefon i WiFi -en din.

Hva trenger du

  • NodeMCU utviklingstavle (de sender fra Asia for <5 €)
  • IR-sensor (OS-1838B eller TSOP38238)
  • IR LED
  • 100Ω motstand
  • NPN -transistor (dvs. 2N2222)
  • lite stykke prototype PCB
  • firepinners kontakt som passer på NodeMCU (dvs. diskettstrømadapter)

Hvis du har en gammel fjernkontroll, kan du sannsynligvis bruke IR -LED og transistoren fra den.

Trinn 1: Montering av maskinvaren

Montering av maskinvaren
Montering av maskinvaren
Montering av maskinvaren
Montering av maskinvaren
Montering av maskinvaren
Montering av maskinvaren
Montering av maskinvaren
Montering av maskinvaren

Monter komponentene på et lite stykke på et lite stykke prototype kretskort og koble komponentene som vist i diagrammet.

Avhengig av lysdioden er det ikke sikkert at beskyttelsesmotstanden er nødvendig. Hvis du finner ut at du må sikte veldig godt eller må være veldig nær enheten, kan du sannsynligvis fjerne den.

Jeg koblet alt til en plugg jeg fjernet fra en ødelagt PC -strømadapter (den for disketten).

Trinn 2: Installere programmet på NodeMCU

Sett opp miljøet ditt for å kompilere programmer for esp8266 med Arduino IDE: [https://github.com/espressif/arduino-esp32

Klon eller Last ned kildekoden til programmet fra github -depotet

I Arduino IDE installerer du biblioteket IRremoteESP8266 (Meny: Sketch -> Manage Libraries). Kopier config.h.eksempelfilen og navngi denne kopien config.h. Du må minst angi SSID og passord for WiFi -en din i config.h for å kunne koble til webserveren. Arduino Sketch skal nå kunne kompileres og lastes opp. Koble breakout -kortet du opprettet til 3V, Ground, D5, D6.

Hvis alt fungerte og du kjører brikken som er koblet til Arduino IDE, bør du få vist IP-adressen serveren kjører på i den serielle skjermen.

Trinn 3: Tilpass HTML-siden for å kontrollere NodeMCU

Prosessen i dette trinnet er også vist i videoen.

I kildekodekatalogen er det også en 'ir.html'. Hvis den er riktig konfigurert, vil dette "snakke" med NodeMCU.

Så det første trinnet er å fortelle filen under hvilken adresse den kan finne NodeMCU. Åpne ir.html -filen i et tekstredigeringsprogram og søke etter en linje som ser slik ut:

var host = '192.168.2.121';

Endre verdien mellom flåttene for å matche adressen webserveren som ble skrevet ut på den serielle skjermen etter start.

Opptak Trykk på opptaksknappen Pek på fjernkontrollen på sensoren og trykk på ønsket knapp på fjernkontrollen Etter at under opptaksknappen skulle det oppstå en lang liste med tall. Det er tidspunktene for signalet for den knappen du trykket på fjernkontrollen.

Sette opp kommandoer

Nå vil vi ha en måte å sende et signal med disse tidspunktene fra selve brikken. For det må vi legge tidene vi nettopp har registrert til listen over kjente signaler. Kopier verdiene (inkludert firkantede parenteser) som opptaksprosessen ga deg, og sett inn en ny linje med et navn og verdiene i ir.html -filen etter at linjen ser slik ut:

var signaler = {

"pgr1 btn": [1, 2, 3], Erstatt 1, 2, 3 med de registrerte verdiene, og ikke glem kommaet etter de omkringliggende parentesene. For å faktisk legge til en knapp må vi også legge til en kommando. En kommando kan bestå av flere signaler siden vi kanskje må 'trykke' på flere knapper på fjernkontrollen, dvs. 1 og 2 for å nå kanal 12 på TV -en. Dette gjør det også mulig å kontrollere flere enheter med en kommando. Se etter linjen som ser slik ut

"Lyd av/på": ["demp"], Kopier den linjen og endre teksten "Lyd på/av" for å matche det du vil vise på den nye knappen. Endre navnet "demp" til navnet på signalet du la til. Så resultatet kan være:

"HBO": ["prg 1 btn"], Hvis du vil utføre flere signaler, kan du legge dem til slik:

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

Trinn 4: Bruk

Etter at du har satt inn de ønskede signalsekvensene i HTML -filen, kan du kopiere den til hvilken som helst datamaskin eller mobil enhet som har en nettleser og er koblet til samme WiFi som NodeMCU.

Anbefalt: