Innehållsförteckning:

Web IR -fjärrkontroll med Esp8266 (NodeMCU): 4 steg
Web IR -fjärrkontroll med Esp8266 (NodeMCU): 4 steg

Video: Web IR -fjärrkontroll med Esp8266 (NodeMCU): 4 steg

Video: Web IR -fjärrkontroll med Esp8266 (NodeMCU): 4 steg
Video: Как сделать 4-канальное реле Wi-Fi ESP8266 ESP01 | ESP01 Домашняя автоматизация | УдаленныйXY 2024, November
Anonim
Web IR -fjärrkontroll med Esp8266 (NodeMCU)
Web IR -fjärrkontroll med Esp8266 (NodeMCU)

Problem

Det finns tre fjärrkontroller på vardagsrumsbordet. För att titta på din favoritprogram måste du följa en särskild sekvens av knapptryckningar på minst två av dem. Och din rumskompis, mamma, flickvän kommer aldrig ihåg dem..

Lösning

Du köper en Logitech Harmony;-)

Men om du inte vill spendera dessa pengar kan du bygga något liknande för under 10 $. Genom att ansluta en infraröd lysdiod till en ESP8266 (s.th. som en Arduino men med WiFi ombord) kan vi enkelt konstruera en enhet som vi kan styra enheter med en liten webbsida från vilken dator eller mobiltelefon som helst i din WiFi.

Vad du behöver

  • NodeMCU utvecklingskort (de skickas från Asien för <5 €)
  • IR-sensor (OS-1838B eller TSOP38238)
  • IR -LED
  • 100Ω motstånd
  • NPN -transistor (dvs. 2N2222)
  • liten bit prototyp PCB
  • fyra stiftskontakt som passar på NodeMCU (dvs diskettadapter)

Om du har en gammal fjärrkontroll kan du förmodligen använda IR -lysdioden och transistorn från den.

Steg 1: Montering av hårdvaran

Montering av hårdvaran
Montering av hårdvaran
Montering av hårdvaran
Montering av hårdvaran
Montering av hårdvaran
Montering av hårdvaran
Montering av hårdvaran
Montering av hårdvaran

Montera komponenterna på en liten bit på en liten bit av prototyp kretskort och anslut komponenterna som visas i diagrammet.

Beroende på lysdioden är skyddsmotståndet kanske inte nödvändigt. Om du upptäcker att du måste sikta riktigt bra eller måste vara riktigt nära enheten kan du förmodligen ta bort den.

Jag kopplade allt till en kontakt som jag tog bort från en trasig datoradapter (den för disketten).

Steg 2: Installera programmet på NodeMCU

Konfigurera din miljö för att kompilera program för esp8266 med Arduino IDE: [https://github.com/espressif/arduino-esp32

Klona eller ladda ner programmets källkod från github -förvaret

I Arduino IDE installerar du biblioteket IRremoteESP8266 (Meny: Skiss -> Hantera bibliotek). Kopiera filen config.h.exempel och ge den här namnet den här konfigurationen. H. Du måste åtminstone ange SSID och lösenord för din WiFi i config.h för att kunna ansluta till webbservern. Arduino Sketch ska nu kunna kompileras och laddas upp. Anslut utbrottskortet du skapade till 3V, Ground, D5, D6.

Om allt fungerade och du kör det chip som är anslutet till Arduino IDE bör du visa IP-adressen som servern körs på i den seriella bildskärmen.

Steg 3: Anpassa HTML-sidan för att styra NodeMCU

Processen i detta steg visas också i videon.

I källkodskatalogen finns också en 'ir.html'. Om det är korrekt konfigurerat kommer detta att "prata" med NodeMCU.

Så det första steget är att berätta för filen under vilken adress den kan hitta NodeMCU. Öppna ir.html -filen i en textredigerare och leta efter en rad som ser ut så här:

var host = '192.168.2.121';

Ändra värdet mellan fästingarna för att matcha adressen som webbservern tryckt på den seriella bildskärmen efter start.

Inspelning Tryck på inspelningsknappen Rikta fjärrkontrollen mot sensorn och tryck på önskad knapp på fjärrkontrollen Efter att under inspelningsknappen ska en lång lista med nummer förekomma. Det är tidpunkterna för signalen för den knappen du tryckte på på fjärrkontrollen.

Inställning av kommandon

Nu vill vi ha ett sätt att skicka en signal med dessa tider från själva chippet. För det måste vi lägga till de tidpunkter vi just spelat in i listan över kända signaler. Kopiera värdena (inklusive hakparenteser) som inspelningsprocessen gav dig och infoga en ny rad med ett namn och värdena i filen ir.html efter raden ser ut så här:

var signaler = {

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

Ersätt 1, 2, 3 med de registrerade värdena och glöm inte komma efter de omgivande parenteserna. För att faktiskt lägga till en knapp måste vi också lägga till ett kommando. Ett kommando kan bestå av flera signaler eftersom vi kan behöva 'trycka' på flera knappar på fjärrkontrollen, dvs 1 och 2 för att nå kanal 12 på TV: n. Detta gör det också möjligt att styra flera enheter med ett kommando. Leta efter linjen som ser ut så här

"Ljud på/av": ["tyst"],

Kopiera den raden och ändra texten "Ljud på/av" för att matcha det du vill visa på den nya knappen. Ändra namnet "tyst" till namnet på den signal du lade till. Så resultatet kan bli:

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

Om du vill utföra flera signaler lägger du till dem så här:

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

Steg 4: Användning

När du har infogat önskade signalsekvenser i HTML -filen kan du kopiera den till vilken dator eller mobil enhet som helst som har en webbläsare och är ansluten till samma WiFi som NodeMCU.

Rekommenderad: