ESP8266 WiFi kontrollerade aircon remote (2 / 15 steg)

Steg 2: Registrera IR-kommandon används för att kontrollera kulturintresserade



ESP8266 simulerar fjärrkontrollen för att växla på/av aircon och välja olika funktioner. För att kunna göra så vi måste spela in olika IR skicka signaler från fjärrkontrollen.

Först behövs en enhet kan registrera IR-signaler. Jag har en Arduino Uno som jag alltid använder för att göra snabba tester. Jag ansluten IR-mottagaren till Arduino som visas ovan i schematiska och skärbräda skiss. Jag bifogade filerna Fritzing (DumpIR.fzz). Jag hade en kontrollpanel från en gammal kabel-TV-mottagare liggandes. Jag använde IR-mottagaren monterad på denna Kontrollpanelen för inspelning. (Jag kommer senare att dela en instructable om användningen av denna Kontrollpanelen också).

För inspelningen använde jag Flera protokoll IR Remote bibliotek för Arduino. Detta bibliotek innehåller ett exempel program (IRrecvDumpV2.ino) att registrera IR-signaler. Jag använde IRrecvDumpV2 för att få en första uppfattning om hur IR-kommandon ser likadana ut. Utdata från programmet ser ut:

Kodning: NEC < br > kod: 8E76897 (32 bitar)
Timing [67]:
+8900,-4450 + 600, - 450 + 600, - 550 + 550, -550
+ 550, - 550 + 550,-1700 + 550, - 550 + 550, -600
+ 500, -550 + 550,-1700 + 500,-1700 + 550,-1700
+ 600, -500 + 550, - 600 + 550,-1600 + 650,-1600
+ 550,-1650 + 600,-500 + 550,-1700 + 600,-1600
+ 650, - 450 + 650,-1600 + 550, - 550 + 600, -500
+ 650, - 450 + 650,-1600 + 550, - 550 + 650, -450
+ 650,-1550 + 600,-550 + 600,-1600 + 650,-1600
+ 600,-1600 + 600
unsigned int \Data [67] = {8900,4450, 600,450, 600,550, 550,550, 550,550, 550,1700, 550,550, 550,600, 500,550, 550,1700, 500,1700, 550,1700, 600,500, 550,600, 550,1600, 650,1600, 550,1650, 600,500, 550,1700, 600,1600, 650,450, 650,1600, 550,550, 600,500, 650,450, 650,1600, 550,550, 650,450, 650,1550, 600,550, 600,1600, 650,1600, 600,1600, 600}; NEC 8E76897
unsigned int data = 0x8E76897;

Denna utgång är lite kryptiska, så jag bestämde mig att "förbättra" den produktion och användning av detta program för min personliga inspelningar. Nya programmet heter DumpIR och förbättringarna är

  • Kortare utgång med ytterligare information vilken funktion spelades
  • Kommentera utgång med testade knappen och formatera som Byte array så att det kan användas direkt i programmet ESP8266
  • Spela in varje knapp 3 gånger för att se till att registreringen är korrekt.
  • Tala för användaren vilken knapp att trycka på spela in

Produktionen av DumpIR ser ut:

Börja testa, nu tryck H-FAN
====================
H-FAN
Kodning: NEC
Kod: B1000111001110110100010010111 (32 bitar)
unsigned int data = 0x8E76897
unsigned int \Data [67] = {8950,4350, 650,450, 650,500, 600,500, 650,450, 600,1600, 650,500, 600,500, 600,500, 650,1600, 600,1600, 600,1600, 650,450, 650,500, 600,1600, 650,1550, 650,1600, 600,500, 650,1600, 600,1600, 600,500, 650,1550, 650,500, 600,500, 650,450, 650,1550, 650,500, 600,500, 650,1550, 650,500, 600,1600, 600,1600, 650,1600, 600}; NEC B1000111001110110100010010111
unsigned int data = 0x8E76897;
{B00001000, B11100111, B01101000, B10010111}
Kodning: NEC
Kod: B1000111001110110100010010111 (32 bitar)
unsigned int data = 0x8E76897
unsigned int \Data [67] = {8950,4400, 600,500, 650,450, 650,450, 650,500, 600,1600, 600,500, 650,450, 650,500, 600,1600, 650,1550, 650,1600, 600,500, 650,450, 650,1600, 600,1600, 600,1600, 650,500, 600,1600, 650,1600, 600,450, 650,1600, 650,450, 650,450, 650,500, 600,1600, 600,500, 650,450, 650,1600, 600,500, 650,1600, 600,1600, 600,1600, 650}; NEC B1000111001110110100010010111
unsigned int data = 0x8E76897;
{B00001000, B11100111, B01101000, B10010111}

Kodning: NEC
Kod: B1000111001110110100010010111 (32 bitar)
unsigned int data = 0x8E76897
unsigned int \Data [67] = {9000,4350, 650,450, 650,450, 650,450, 650,500, 600,1600, 650,450, 650,500, 600,500, 650,1550, 650,1550, 650,1600, 650,450, 650,450, 650,1600, 600,1600, 650,1600, 600,500, 600,1600, 650,1550, 650,500, 600,1600, 650,450, 650,450, 650,500, 600,1600, 550,550, 650,500, 600,1600, 600,500, 650,1600, 600,1600, 650,1550, 650}; NEC B1000111001110110100010010111
unsigned int data = 0x8E76897;
{B00001000, B11100111, B01101000, B10010111}
====================
Kommandot klar nu tryck på M-FAN

Bytematrisen {B00001000, B11100111, B01101000, B10010111} används direkt i programmet ESP8266 för att skicka kommandot "switch till hög fläkt läge" till aircon.

DumpIR.ino anpassade behöver några för olika aircon fjärrkontroller. T.ex. min FujiDenzo aircon remote har 10 knappar, bärare aircon har 14 knappar. När du tittar in i DumpIR.ino kan du hitta definitionen för 2 aircons:

//------------------------------------------------------------------------------//
Denna exempelkod är för 2 olika aircons
1) tillverkare FujiDenzo
2) tillverkaren bärare
Dessa aircons har olika kommandot anger att
Använda #define FUJIDENZO för inspelning av kommandona FujiDenzo
Använda #define bärare för inspelning av kommandona bärare
#define FUJIDENZO
#define bärare

Om jag vill registrera signaler från FujiDenzo fjärrkontrollen, #define FUJIDENZO används, om transportören fjärrkontrollen registreras #define bärare används.

De olika kommandon och antalet tillgängliga kommandon för de båda fjärrkontrollerna definieras i cmdList [] och endCmdIndex:

#ifdef FUJIDENZO < br > / / FujiDenzo fjärrkontrollen har 10 knappar
int endCmdIndex = 10;
Sekvens av kommandon på FujiDenzo fjärrkontrollen
Sträng cmdList [] = {"H-FAN", "M-FAN", "L-FAN", "TIMER", "TEMP +", "TEMP-", "COOL", "Torr", "FAN", "POWER"};
#endif
#ifdef transportör
Carrier remote har 14 knappar
int endCmdIndex = 14.
Sekvens av kommandon på fjärrkontrollen bärare
Sträng cmdList [] = {"POWER", "SWEEP", "TEMP +", "TEMP-", "FANSPEED", "TURBO", "TIMER", "DRY", "Sover", "ION", "Värme", "COOL", "FAN", "AUTO"};
#endif

Som ni kan se definitionerna FUJIDENZO och bärare används för att välja rätt lista och antalet kommandon.

Med DumpIR jag spelade in alla kommandon för de två aircons från FujiDenzo och bärare och sparas resultaten i textfiler.

Du kommer att behöva anpassa DumpIR att arbeta med din specifika aircon tillverkare.

UPPMÄRKSAMHET:

Jag spela in varje knapp (minst) 3 gånger eftersom under projektet lärde jag mig att vissa fjärrkontroll enheter inte skicka samma IR-signalen för ett kommando varje gång. Jag var tvungen att lära sig genom försök och misslyckande att transportören aircon faktiskt har 3 olika IR-signaler för samma kommando. Om du upprepa ett kommando på fjärrkontrollen (som temperaturen upp) fjärrkontrollen loopar igenom 3 IR-signaler och skickar varje gång en annan. Cykeln är återställa om en annan knapp trycktes. Exempel:

  • Tryck temperatur upp knappen = > IR signal #1 för temperatur upp skickas.
  • Tryck temperatur upp knappen igen = > IR signal #2 för temperatur upp skickas
  • Tryck temperatur ner knappen = > IR signal #1 för temperatur ner skickas
  • Tryck temperatur upp knappen igen = > IR signal #1 för temperatur upp skickas

Jag var tvungen att genomföra detta beteende i koden för ESP8266 kod, men mer om detta i ett senare steg.

Ytterligare en kommentar:

I de bifogade bilderna ser du att jag inte använder en enda IR-mottagare för att registrera IR-signaler. Jag hade en gammal instrumentbräda för kabel-TV liggandes. Som denna instrumentbräda hade en IR-mottagare monterade, beslöt jag att använda det istället för att köpa en IR-mottagare. Jag kommer att senare publicera en annan Instructable hur jag anslutit denna instrumentbräda till Arduino Uno.

All programvara och alla scheman finns tillgängliga i min Github repository

Se Steg
Relaterade Ämnen

Internet kontrollerad lampan med ESP8266 wifi relay IoT

ESP8266 wifi relay (ESP01) IoT kontroll en lampaInternet kontrollerad elektrisk lampa med ESP8266 wifi (ESP01) IoTInternet kontrollerad lampan med ESP8266 wifi relay IoTESP8266 (ESP01) är en mycket låg kostnad WiFi transceiver som kan läggas till all...

WiFi kontrollerade trädgård ljus med ESP8266

Jag har lite av en sak för ljus och att kunna fjärrstyra dem. Jag särskilt såhär i trädgården och även bättre om jag kan solar power dem. Jag har några av lamporna pund/dollar store spel men de är ganska svag så jag började titta runt och hittade att...

Lätt ESP8266 WiFi felsökning med Python

Den nya sub $5 dollar ESP8266 WiFi modulen gör billigt IoT sätt mer möjligt och lätt för vanliga dödliga som mig. I själva verket jag gjorde en sökning på AliExpress.com och jag hittade samma modul för $3,25 (gratis frakt, men naturligtvis) i mängder...

ESP8266 WiFi touch skärmen termostat

I den här guiden visar vi hur man bygger WiFi kontrollerade termostat med ESP8266, Arduino och beröring skärm uppvisning. Termostaten kommer också att visa annan information, som väderprognos och temperaturen utanför. Totala kostnaden för termostat ä...

ESP8266 WiFi relay switch

I den här guiden visar vi hur man bygger ESP8266 WiFi reläutgång med Arduino och EasyIoT server. Du kan använda relay switch till distans (dator eller mobil smartphone) styra enheter som ljus, värmare, garageport,... Du kan också kombinera reläutgång...

Utlösa din DSLR trådlöst med smartphone och ESP8266 WiFi modul

Detta är min första instructable, och engelska är inte mitt modersmål, så mild (men jag skulle vara tacksam att någon pekar ut felstavningar, stavfel... ;)).Det kommer bara kosta dig några spänn (pund, euro eller vad) och kräver grundläggande lödning...

ESP8266 WiFi temperatur och luftfuktighet sensor

I den här guiden kommer vi att bygga ESP8266 WiFi Arduino datalogger för temperatur och luftfuktighet. Data lagras på EasyIoT server och visas i webbläsare på fjärrdatorn eller mobiltelefon. Med ESP8266 EasyIoT Arduino bibliotek kan du bygga sensor m...

ESP 8266 Wifi kontrollerade Home Automation

ESP8266 är en stor sak för att börja Wifi och IOTDet är också billigt och användas för att göra cool projekt som är anslutna till Internet. Lär dig hur man gör ett enkelt IOT projekt med den. ESP8266 WiFi modul är en fristående SOC med integrerad TCP...

WiFi kontrollerad ljus Switch

I detta instructable, jag kommer att visa dig hur man gör en WiFi kontrollerade strömbrytare. Jag vet att jag kunde ha använt ett relä, men jag ville inte att ändra alla elektriska saker i huset.Steg 1: Delar och verktyg Här är delar och verktyg som...

ESP8266 WiFi DS18B20 temperaturgivare (ESP8266 Arduino IDE utan Arduino)

I den här guiden visar vi hur man bygger ESP8266 WiFi temperatursensor med DB18B20. Vi kommer att använda Arduino IDE, men utan Arduino. Data kommer att skickas till EasyIoT server (Windows eller Raspberry Pi) för fin uppvisning och loggning.Se fler...

Arduino IOT: Temperatur och luftfuktighet (med ESP8266 WiFi)

Hej alla! Jag är Michalis Vasilakis från www.ardumotive.com och i detta Instructables kommer jag visa dig hur du gör din egen Internet av saker (IOT) termometer med hjälp av Arduino uno styrelsen.Du kan använda den hemma, på kontoret, eller var som h...

ESP8266 WiFi DHT22 Fuktsensor (Plug and Play)

I den här guiden visar vi hur man bygger "Plug and Play-" WiFi fukt och temperaturgivare ansluten i EasyIoT moln. Det visar hur du skickar två parametrar med en begäran med resten API V1. Vi kommer att använda ESP8266, DHT22 och Arduino IDE.Adro...

ESP8266 WiFI vatten läcka sensor

I den här guiden visar vi hur man bygger ESP8266 WiFi vatten läcka sensor med ESP8266, Arduino och EasyIoT server. Vi kan också använda denna sensor som markens fukt sensor eller regnsensor. Du kan lägga till fler olika sensor till EasyIoT server (se...

ESP8266 Wifi lägger på för Arduino Made Simple

UppdateringProcessen som beskrivs här rekommenderas inte längre. Detta instructable har ersatts av ESP8266 WiFi sköld för Arduino och andra micros som ger en mer universell webbsida konfiguration funktion.IntroduktionESP8266 är en låg kostnad wifi ak...

WiFi kontrollerad LED-skärm

Nästan alla butiker har en en LED-display. De är det perfekta attraktiva och låg kostnad reklam verktyget. De flesta av dem har dock en begränsning. De är statiska. Detta innebär att du inte kan ändra vad som visas på dem. Så för anföra som exempel o...

ESP8266 WiFi OTA Remote File Management

Jag har arbetat med ESP8266 mikrokontrollanter tillräckligt länge nu att ha ett antal av dem i min omgivning. Jag har ett par setup testa min MQTT broker(s). Jag har ett par skicka temperatur, luftfuktighet och barometertrycket avläsningar till molne...

En mycket billig ESP8266 WiFi smart bil kontrolleras av telefon baserad på NodeMCU

DoitCar är konstruerat och utvecklat av Shenzhen läkare av intelligens & teknik (SZDOIT), som är den mest kostnadseffektiva. Den allmänt tillämpas inom många områden, sucha som den elektroniska älskaren, studenter, Internet of Things (IoT), mobil dat...

ESP8266 Wifi Timer Switch för AC laster

Detta instructable är baserad på ESP8266 version ESP-01 som programmeras som wifi timer för att växla AC laster.ESP-01 har endast 2 GPIOs, endast 2 laster kan vara kontrollerade, här min nödvändighet är att styra en AC belastning i timer fördröjning...

K-9 2.0. WiFi kontrollerade och autonom Robot hund.

OBS:I steg 22, har jag postat en uppdatering, förklarar några senaste förändringar/förbättringar som jag har gjort, främst på K-9's elsystem och sensor array som du kan ha nytta.FunktionerRobust trä (MDF) och akryl designHelt mikroprocessorstyrda anv...