Created
October 5, 2017 17:09
-
-
Save milankragujevic/38d51d89a746538f79d9ed82ca646500 to your computer and use it in GitHub Desktop.
mts Huawei EC2108v5 IR remote ESP8266
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <ESP8266WiFi.h> | |
#include <ESP8266WebServer.h> | |
#include <ESP8266mDNS.h> | |
#include <IRremoteESP8266.h> | |
#include <IRsend.h> | |
#include <WiFiClient.h> | |
MDNSResponder mdns; | |
IRsend irsend(14); | |
ESP8266WebServer server(80); | |
const char* ssid = "[WIFI NAME]"; | |
const char* password = "[WIFI PASS]"; | |
const char* mDNSName = "esp8266"; | |
const uint32_t chUp = 0xCD32A15E; | |
const uint32_t chDown = 0xCD32619E; | |
const uint32_t btn1 = 0xCD3249B6; | |
const uint32_t btn2 = 0xCD32C936; | |
const uint32_t btn3 = 0xCD3233CC; | |
const uint32_t btn4 = 0xCD32718E; | |
const uint32_t btn5 = 0xCD32F10E; | |
const uint32_t btn6 = 0xCD3213EC; | |
const uint32_t btn7 = 0xCD3251AE; | |
const uint32_t btn8 = 0xCD32D12E; | |
const uint32_t btn9 = 0xCD3223DC; | |
const uint32_t btn0 = 0xCD32E11E; | |
const uint32_t pwr = 0xCD32817E; | |
const uint32_t ok = 0xCD32738C; | |
const uint32_t up = 0xCD32738C; | |
const uint32_t down = 0xCD324BB4; | |
const uint32_t left = 0xCD329966; | |
const uint32_t right = 0xCD32837C; | |
const uint32_t info = 0xCD32C33C; | |
const uint32_t back = 0xCD32A35C; | |
const uint32_t home = 0xCD3211EE; | |
const uint32_t volUp = 0xCD3201FE; | |
const uint32_t volDown = 0xCD32817E; | |
void handleRequest() { | |
String message = ""; | |
if(server.arg("code") == "") { | |
message = "MISSING_PARAM_CODE"; | |
} else { | |
message = "HARDWARE_ERROR"; | |
} | |
if(server.arg("code") == "chUp") { | |
irsend.sendNEC(chUp, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "chDown") { | |
irsend.sendNEC(chDown, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn1") { | |
irsend.sendNEC(btn1, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn2") { | |
irsend.sendNEC(btn2, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn3") { | |
irsend.sendNEC(btn3, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn4") { | |
irsend.sendNEC(btn4, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn5") { | |
irsend.sendNEC(btn5, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn6") { | |
irsend.sendNEC(btn6, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn7") { | |
irsend.sendNEC(btn7, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn8") { | |
irsend.sendNEC(btn8, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn9") { | |
irsend.sendNEC(btn9, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "btn0") { | |
irsend.sendNEC(btn0, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "pwr") { | |
irsend.sendNEC(pwr, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "ok") { | |
irsend.sendNEC(ok, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "up") { | |
irsend.sendNEC(up, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "down") { | |
irsend.sendNEC(down, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "left") { | |
irsend.sendNEC(left, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "right") { | |
irsend.sendNEC(right, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "info") { | |
irsend.sendNEC(info, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "back") { | |
irsend.sendNEC(back, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "home") { | |
irsend.sendNEC(home, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "volUp") { | |
irsend.sendNEC(volUp, 32); | |
message = "OK"; | |
} | |
if(server.arg("code") == "volDown") { | |
irsend.sendNEC(volDown, 32); | |
message = "OK"; | |
} | |
server.send(200, "text/plain", message); | |
} | |
void setup() { | |
Serial.begin(115200); | |
delay(10); | |
irsend.begin(); | |
Serial.println(); | |
Serial.println("Telekom STB IR Bridge"); | |
Serial.println(); | |
Serial.print("Connecting to "); | |
Serial.println(ssid); | |
WiFi.mode(WIFI_STA); | |
WiFi.begin(ssid, password); | |
while (WiFi.status() != WL_CONNECTED) { | |
delay(500); | |
Serial.print("."); | |
} | |
Serial.println(""); | |
Serial.println("WiFi connected"); | |
Serial.println("IP address: "); | |
Serial.println(WiFi.localIP()); | |
Serial.println(""); | |
if(mdns.begin(mDNSName, WiFi.localIP())) { | |
Serial.println("MDNS responder started"); | |
String identifyMessage = "Identified as "; | |
identifyMessage += mDNSName; | |
Serial.println(identifyMessage); | |
} | |
server.on("/", handleRequest); | |
server.onNotFound([](){ | |
server.send(404, "text/plain", "METHOD_NOT_SUPPORTED"); | |
}); | |
server.begin(); | |
Serial.println("Server started on port 80"); | |
} | |
void loop() { | |
server.handleClient(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment