Created
March 9, 2021 13:52
-
-
Save Avotrix/95e92f72ec66d21aa3ea766949e84037 to your computer and use it in GitHub Desktop.
This file contains 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
/* | |
* IRremoteESP8266: IRServer - demonstrates sending IR codes controlled from a webserver | |
* | |
* An IR LED circuit *MUST* be connected to the ESP on a pin | |
* as specified by kIrLed below. | |
* | |
* TL;DR: The IR LED needs to be driven by a transistor for a good result. | |
* | |
* Suggested circuit: | |
* https://github.com/crankyoldgit/IRremoteESP8266/wiki#ir-sending | |
* | |
* Common mistakes & tips: | |
* * Don't just connect the IR LED directly to the pin, it won't | |
* have enough current to drive the IR LED effectively. | |
* * Make sure you have the IR LED polarity correct. | |
* See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity | |
* * Typical digital camera/phones can be used to see if the IR LED is flashed. | |
* Replace the IR LED with a normal LED if you don't have a digital camera | |
* when debugging. | |
* * Avoid using the following pins unless you really know what you are doing: | |
* * Pin 0/D3: Can interfere with the boot/program mode & support circuits. | |
* * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. | |
* * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. | |
* * ESP-01 modules are tricky. We suggest you use a module with more GPIOs | |
* for your first time. e.g. ESP-12 etc. | |
*/ | |
#include <Arduino.h> | |
#if defined(ESP8266) | |
#include <ESP8266WiFi.h> | |
#include <ESP8266WebServer.h> | |
#include <ESP8266mDNS.h> | |
#endif // ESP8266 | |
#if defined(ESP32) | |
#include <WiFi.h> | |
#include <WebServer.h> | |
#include <ESPmDNS.h> | |
#endif // ESP32 | |
#include <IRremoteESP8266.h> | |
#include <IRsend.h> | |
#include <IRrecv.h> | |
#include <WiFiClient.h> | |
#include <IRutils.h> | |
#include <IRtext.h> | |
const char* kSsid = "Avotrix"; | |
const char* kPassword = "9987197583"; | |
MDNSResponder mdns; | |
#if defined(ESP8266) | |
ESP8266WebServer server(80); | |
#undef HOSTNAME | |
#define HOSTNAME "esp8266" | |
#endif // ESP8266 | |
#if defined(ESP32) | |
WebServer server(80); | |
#undef HOSTNAME | |
#define HOSTNAME "esp32" | |
#endif // ESP32 | |
const uint16_t kIrLed = 4; // ESP GPIO pin to use. Recommended: 4 (D2). | |
const uint16_t kRecvPin = 14; | |
IRsend irsend(kIrLed); // Set the GPIO to be used to sending the message. | |
IRrecv irrecv(kRecvPin); | |
decode_results results; | |
String temp="24"; | |
const char index_html[] PROGMEM = R"rawliteral( | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<script> | |
function tempup(){ | |
var temp; | |
var temps; | |
var str="ir?" | |
temp = parseFloat(document.getElementById("temperaturedisplay").value); | |
temp=temp+1; | |
if(temp>=31){ | |
temp=30; | |
} | |
temps=temp.toString(); | |
document.getElementById("tempupHref").href = str.concat(temps); | |
} | |
function tempdown(){ | |
var temp; | |
var temps; | |
var str="ir?" | |
temp = parseFloat(document.getElementById("temperaturedisplay").value); | |
temp=temp-1; | |
if(temp<=17){ | |
temp=18; | |
} | |
temps=temp.toString(); | |
document.getElementById("tempdownHref").href = str.concat(temps); | |
} | |
setInterval(function() { | |
var xhttp = new XMLHttpRequest(); | |
xhttp.onreadystatechange = function() { | |
if (this.readyState == 4 && this.status == 200) { | |
document.getElementById("temperatureshowdisplay").value = | |
this.responseText; | |
document.getElementById("temperaturedisplay").value = | |
this.responseText; | |
} | |
}; | |
xhttp.open("GET", "readtemp", true); | |
xhttp.send(); | |
}, 1000); | |
</script> | |
<style> | |
body { | |
min-width: 200px; | |
max-width: 800px; | |
height: 400px; | |
margin: 0 auto; | |
} | |
.button { | |
background-color: #0000; /* Green */ | |
border: none; | |
color: white; | |
padding: 15px 32px; | |
text-align: center; | |
text-decoration: none; | |
display: inline-block; | |
font-size: 24px; | |
margin: 4px 2px; | |
cursor: pointer; | |
} | |
.button2 {background-color: #f44336;border-radius: 10%;width: 100px;} /* red */ | |
.button3 {background-color: #008CBA;border-radius: 10%;width: 100px;} /* blue */ | |
.button4 {background-color: limegreen;border-radius: 10%;width:100px;} /* green*/ | |
.button5 {background-color: #213346;border-radius: 10%;width: 100px;} /* Black */ | |
.triangle-up { | |
width: 0; | |
height: 0; | |
border-left: 15px solid transparent; | |
border-right: 15px solid transparent; | |
border-bottom: 30px solid #ffe; | |
margin-left:10%; | |
} | |
.triangle-down { | |
width: 0; | |
height: 0; | |
border-left: 15px solid transparent; | |
border-right: 15px solid transparent; | |
border-top: 30px solid #ffe; | |
margin-left:10%; | |
} | |
.buttongroup { | |
margin-left:50px; | |
margin-top:50px; | |
} | |
.grid-container { | |
display: grid; | |
grid-template-columns: auto auto auto; | |
padding: 20px; | |
margin-left:-10%; | |
width: 300px; | |
} | |
input[type=text] { | |
width: 25%; | |
padding: 30px ; | |
box-sizing: border-box; | |
border: 2px solid blue; | |
border-radius: 10px; | |
height:50px; | |
font-size:28pt; | |
} | |
.tvalue{ | |
margin-left:180px; | |
margin-top:30px; | |
} | |
.image{ | |
margin-top:50px; | |
} | |
</style> | |
</head> | |
<body> | |
<div class="logoimage"> | |
<!-----------------------------------------------------Avotrix Logo Image Address-------------------------------------------------------------------------- | |
<img src = "data:image/png;base64,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" width = "500" height = "180" > | |
</div> | |
<div class="grid-container"> | |
<div class="image"> | |
<img src ="https://images-na.ssl-images-amazon.com/images/I/316Zg2OYrXL.jpg" height="120" width="450" margin-top="5px"> <!-- image--> | |
<input type ="text" id="temperatureshowdisplay" class="tvalue"/> | |
</div> | |
<div class=buttongroup> | |
<a href="#" id="tempupHref"><button onclick=tempup() class="button button2"><div class="triangle-up"></div></button></a><br><br> | |
<a href="ir?on"><button class="button button3">ON</button></a><br><br> | |
<a href="ir?off"><button class="button button4">OFF</button></a><br><br> | |
<a href="#" id="tempdownHref"><button onclick=tempdown() class="button button5"><div class="triangle-down"></div></button></a> | |
<input hidden type ="text" id="temperaturedisplay" class="tvalue" value="24"/> | |
</div> | |
</div> | |
</body> | |
</html> | |
)rawliteral"; | |
void handleRoot() { | |
server.send(200, "text/html",index_html); | |
} | |
void handleIr() { | |
for (uint8_t i = 0; i < server.args(); i++) { | |
if (server.argName(i) == "on") { | |
temp="24"; | |
uint16_t rawData[179] = {3198, 1576, 412, 382, 410, 1156, 430, 366, 428, 366, 426, 1166, 422, 360, 432, 1166, 418, 376, 416, 382, 412, 1156, 430, 1174, 410, 1176, 412, 380, 414, 1154, 430, 354, 438, 1176, 412, 1154, 432, 1160, 426, 366, 428, 384, 410, 362, 428, 362, 430, 1148, 440, 1176, 408, 382, 414, 1160, 424, 1174, 430, 342, 434, 380, 412, 1174, 412, 362, 430, 382, 412, 1178, 410, 360, 432, 358, 434, 1174, 412, 1174, 412, 372, 422, 1168, 416, 1178, 410, 1174, 412, 1178, 408, 1176, 410, 382, 412, 1178, 408, 1174, 412, 1176, 410, 1158, 430, 382, 408, 382, 412, 376, 416, 1176, 412, 380, 412, 362, 430, 380, 412, 382, 412, 1180, 406, 1174, 410, 1176, 412, 382, 412, 380, 412, 1176, 412, 380, 412, 1178, 410, 384, 408, 366, 424, 372, 424, 1164, 420, 1176, 412, 380, 412, 1154, 434, 380, 412, 382, 410, 1162, 426, 1164, 420, 380, 410, 384, 408, 1176, 412, 372, 420, 382, 412, 1176, 412, 384, 408, 366, 428, 1174, 414, 1178, 408, 366, 426, 1156, 430, 1178, 408}; // MITSUBISHI_HEAVY_88uint16_t rawData[179] = {3198, 1576, 412, 382, 410, 1156, 430, 366, 428, 366, 426, 1166, 422, 360, 432, 1166, 418, 376, 416, 382, 412, 1156, 430, 1174, 410, 1176, 412, 380, 414, 1154, 430, 354, 438, 1176, 412, 1154, 432, 1160, 426, 366, 428, 384, 410, 362, 428, 362, 430, 1148, 440, 1176, 408, 382, 414, 1160, 424, 1174, 430, 342, 434, 380, 412, 1174, 412, 362, 430, 382, 412, 1178, 410, 360, 432, 358, 434, 1174, 412, 1174, 412, 372, 422, 1168, 416, 1178, 410, 1174, 412, 1178, 408, 1176, 410, 382, 412, 1178, 408, 1174, 412, 1176, 410, 1158, 430, 382, 408, 382, 412, 376, 416, 1176, 412, 380, 412, 362, 430, 380, 412, 382, 412, 1180, 406, 1174, 410, 1176, 412, 382, 412, 380, 412, 1176, 412, 380, 412, 1178, 410, 384, 408, 366, 424, 372, 424, 1164, 420, 1176, 412, 380, 412, 1154, 434, 380, 412, 382, 410, 1162, 426, 1164, 420, 380, 410, 384, 408, 1176, 412, 372, 420, 382, 412, 1176, 412, 384, 408, 366, 428, 1174, 414, 1178, 408, 366, 426, 1156, 430, 1178, 408}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the Ac on/off"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "off") { | |
temp=""; | |
uint16_t rawData[179] = {3170, 1556, 434, 364, 426, 1176, 414, 368, 424, 380, 414, 1156, 430, 380, 412, 1176, 412, 380, 414, 370, 422, 1152, 436, 1162, 426, 1172, 412, 364, 430, 1156, 434, 362, 426, 1176, 414, 1156, 430, 1174, 412, 368, 422, 374, 420, 358, 434, 382, 410, 1176, 412, 1176, 410, 384, 408, 1160, 426, 1162, 426, 384, 408, 368, 424, 1156, 432, 366, 426, 382, 412, 1174, 414, 380, 410, 364, 430, 1174, 410, 1176, 410, 368, 424, 1176, 412, 1176, 412, 1158, 428, 1160, 426, 1176, 412, 364, 426, 1154, 432, 1176, 414, 1154, 432, 1160, 426, 384, 408, 382, 410, 386, 410, 1174, 412, 380, 410, 366, 428, 366, 428, 380, 412, 1160, 428, 1172, 412, 1176, 414, 372, 420, 366, 424, 1162, 426, 384, 408, 1176, 412, 378, 414, 362, 430, 384, 410, 1176, 412, 1176, 410, 382, 410, 1176, 412, 380, 412, 382, 412, 1174, 414, 1162, 422, 1176, 412, 368, 424, 1158, 428, 366, 426, 384, 410, 1164, 424, 382, 410, 368, 426, 382, 412, 1176, 412, 380, 412, 1166, 422, 1176, 412}; | |
Serial.println("Turning the Ac off"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "18") { | |
temp="18"; | |
uint16_t rawData[179] = {3188, 1538, 450, 362, 432, 1172, 414, 378, 412, 360, 434, 1172, 414, 378, 414, 1172, 414, 380, 412, 366, 428, 1170, 414, 1176, 412, 1148, 440, 366, 424, 1158, 430, 380, 412, 1148, 440, 1156, 426, 1176, 412, 360, 434, 380, 412, 382, 410, 366, 426, 1172, 416, 1174, 410, 334, 460, 1156, 430, 1174, 414, 366, 426, 364, 426, 1152, 434, 382, 414, 380, 412, 1150, 436, 360, 432, 362, 430, 1176, 410, 1174, 414, 366, 426, 1172, 416, 1172, 412, 1160, 426, 368, 424, 1180, 408, 382, 412, 1150, 434, 1178, 410, 1174, 412, 1152, 434, 384, 408, 1174, 412, 380, 412, 1156, 430, 368, 426, 380, 412, 380, 414, 380, 412, 1156, 430, 1156, 430, 1178, 412, 380, 414, 362, 430, 1174, 412, 368, 422, 1176, 414, 380, 412, 382, 410, 362, 432, 1178, 410, 1172, 412, 366, 426, 1174, 412, 366, 426, 380, 412, 1174, 412, 1164, 424, 380, 414, 380, 412, 1172, 414, 1174, 410, 1176, 410, 1176, 412, 364, 430, 380, 412, 1176, 412, 1172, 414, 368, 424, 382, 412, 362, 430}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the tepmerature to 18"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "19") { | |
temp="19"; | |
uint16_t rawData[179] = {3176, 1572, 412, 370, 422, 1172, 414, 372, 422, 356, 436, 1172, 414, 378, 414, 1154, 432, 366, 428, 366, 426, 1146, 440, 1156, 430, 1156, 430, 358, 434, 1154, 432, 366, 428, 1174, 412, 1154, 432, 1158, 428, 372, 420, 380, 414, 380, 410, 382, 414, 1150, 432, 1174, 414, 382, 410, 1160, 426, 1164, 424, 378, 414, 366, 426, 1156, 430, 360, 432, 380, 412, 1174, 414, 378, 414, 362, 430, 1170, 414, 1172, 416, 382, 410, 1160, 426, 1154, 432, 1172, 416, 366, 426, 1156, 430, 382, 410, 1172, 416, 1150, 434, 1172, 414, 1172, 414, 378, 416, 1156, 428, 378, 416, 1172, 414, 378, 414, 366, 428, 376, 414, 364, 430, 1174, 410, 1156, 430, 1174, 414, 380, 414, 380, 412, 1156, 430, 380, 412, 1160, 426, 380, 414, 380, 412, 382, 412, 1156, 430, 1172, 416, 378, 414, 1158, 428, 378, 412, 380, 412, 1174, 416, 1156, 426, 372, 422, 1174, 412, 378, 414, 1174, 410, 1170, 418, 1174, 410, 384, 410, 380, 414, 1158, 428, 380, 412, 1166, 420, 366, 428, 366, 426}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 19 "); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "20") { | |
temp="20"; | |
uint16_t rawData[179] = {3172, 1564, 428, 352, 434, 1178, 412, 364, 430, 378, 412, 1162, 426, 364, 426, 1182, 408, 368, 424, 368, 424, 1166, 422, 1174, 412, 1152, 434, 354, 438, 1178, 410, 364, 426, 1176, 412, 1162, 426, 1174, 412, 382, 410, 366, 426, 380, 412, 368, 426, 1174, 412, 1162, 426, 368, 426, 1162, 422, 1178, 410, 380, 412, 370, 424, 1156, 432, 380, 410, 382, 412, 1178, 408, 362, 432, 362, 432, 1172, 414, 1160, 426, 376, 416, 1160, 426, 1176, 412, 1152, 434, 374, 416, 1174, 414, 382, 410, 1178, 410, 1154, 432, 1162, 424, 1148, 438, 366, 428, 1156, 430, 382, 410, 1156, 432, 380, 412, 362, 432, 386, 406, 382, 412, 1174, 412, 1174, 412, 1176, 410, 382, 412, 380, 410, 1176, 412, 382, 410, 1176, 412, 360, 430, 368, 428, 382, 408, 1176, 412, 1176, 412, 366, 424, 1174, 412, 382, 410, 386, 410, 1174, 412, 1162, 424, 366, 428, 382, 410, 382, 414, 1154, 432, 1156, 432, 1174, 410, 364, 428, 368, 422, 1164, 422, 1158, 432, 1160, 426, 382, 412, 382, 408}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 20 "); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "21") { | |
temp="21"; | |
uint16_t rawData[179] = {3188, 1576, 418, 372, 414, 1176, 416, 374, 416, 376, 416, 1152, 440, 360, 430, 1172, 418, 376, 414, 376, 416, 1156, 432, 1170, 416, 1170, 416, 374, 414, 1152, 436, 376, 414, 1172, 418, 1152, 434, 1168, 418, 378, 412, 358, 434, 362, 432, 378, 414, 1176, 416, 1170, 416, 362, 426, 1174, 418, 1170, 416, 374, 416, 378, 412, 1158, 434, 374, 414, 360, 434, 1158, 434, 360, 430, 368, 422, 1176, 414, 1170, 418, 356, 432, 1176, 416, 1170, 416, 1172, 414, 360, 428, 1172, 416, 376, 412, 1160, 434, 1168, 418, 1168, 418, 1168, 420, 360, 428, 1172, 418, 376, 414, 1170, 420, 374, 416, 376, 416, 380, 414, 380, 414, 1174, 416, 1160, 426, 1172, 416, 374, 414, 378, 414, 1158, 432, 374, 416, 1174, 402, 386, 406, 386, 410, 382, 410, 1182, 402, 1182, 404, 386, 414, 1176, 402, 390, 408, 386, 406, 1176, 406, 1180, 408, 388, 402, 1186, 402, 1180, 408, 388, 404, 1184, 402, 1180, 406, 388, 408, 384, 408, 1186, 400, 390, 404, 384, 414, 1178, 402, 388, 404}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 21"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "22") { | |
temp="22"; | |
uint16_t rawData[179] = {3186, 1560, 426, 380, 412, 1162, 426, 366, 424, 380, 412, 1178, 410, 384, 406, 1156, 430, 364, 428, 380, 412, 1156, 430, 1152, 432, 1182, 408, 378, 412, 1174, 414, 362, 428, 1178, 410, 1174, 416, 1156, 430, 380, 412, 368, 426, 364, 430, 382, 410, 1156, 428, 1160, 428, 386, 406, 1174, 414, 1162, 422, 386, 408, 382, 412, 1174, 412, 360, 434, 384, 406, 1176, 410, 382, 410, 382, 412, 1176, 412, 1174, 412, 370, 422, 1158, 430, 1154, 428, 1178, 410, 366, 424, 1156, 434, 364, 424, 1160, 428, 1176, 412, 1174, 414, 1172, 412, 382, 412, 1160, 428, 366, 424, 1176, 412, 382, 410, 380, 414, 364, 428, 372, 420, 1182, 410, 1178, 408, 1168, 420, 366, 424, 382, 410, 1176, 410, 380, 412, 1168, 418, 382, 412, 364, 426, 388, 406, 1176, 412, 1176, 408, 388, 404, 1178, 412, 382, 410, 382, 410, 1184, 404, 1178, 414, 376, 412, 386, 406, 1182, 404, 384, 410, 1178, 408, 1180, 406, 384, 408, 388, 408, 1174, 410, 1180, 408, 384, 406, 1178, 410, 382, 410}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 22"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "23") { | |
temp="23"; | |
uint16_t rawData[179] = {3196, 1548, 450, 342, 446, 1160, 430, 364, 428, 366, 422, 1150, 444, 348, 442, 1158, 430, 364, 426, 366, 422, 1166, 428, 1156, 428, 1142, 444, 348, 444, 1148, 442, 348, 442, 1160, 428, 1138, 448, 1144, 442, 368, 424, 370, 420, 372, 420, 372, 424, 1162, 428, 1158, 426, 366, 426, 1140, 452, 1142, 442, 348, 444, 370, 420, 1166, 428, 344, 444, 368, 422, 1164, 428, 366, 424, 364, 424, 1164, 430, 1156, 426, 370, 422, 1140, 450, 1158, 428, 1158, 428, 344, 448, 1160, 428, 352, 442, 1158, 428, 1140, 442, 1164, 424, 1164, 424, 368, 424, 1160, 428, 368, 426, 1162, 426, 366, 426, 350, 438, 354, 440, 354, 440, 1164, 428, 1156, 428, 1158, 428, 354, 438, 370, 420, 1166, 414, 378, 408, 1182, 410, 382, 404, 384, 412, 380, 414, 1176, 412, 1178, 408, 384, 406, 1178, 412, 378, 410, 382, 410, 1178, 412, 1174, 412, 380, 408, 1184, 410, 384, 404, 388, 408, 1176, 414, 1178, 408, 382, 408, 384, 408, 1180, 410, 382, 406, 1184, 408, 1172, 414, 382, 410}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 23"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "24") { | |
temp="24"; | |
uint16_t rawData[179] = {3196, 1554, 432, 380, 414, 1156, 432, 380, 412, 366, 428, 1158, 428, 380, 412, 1176, 410, 360, 430, 358, 436, 1154, 432, 1150, 434, 1156, 432, 356, 434, 1176, 414, 380, 410, 1168, 418, 1176, 412, 1174, 412, 380, 412, 384, 410, 362, 428, 366, 430, 1172, 414, 1148, 436, 366, 428, 1152, 430, 1176, 412, 384, 408, 360, 432, 1176, 410, 382, 412, 380, 414, 1174, 412, 376, 420, 380, 410, 1178, 410, 1154, 432, 364, 430, 1174, 414, 1172, 412, 1174, 412, 370, 422, 1176, 414, 380, 412, 1174, 412, 1174, 412, 1174, 412, 1154, 434, 360, 430, 1176, 412, 382, 414, 1156, 432, 358, 430, 368, 428, 382, 410, 368, 426, 1146, 440, 1174, 412, 1176, 412, 360, 432, 368, 424, 1178, 410, 364, 430, 1174, 410, 384, 410, 366, 426, 386, 408, 1174, 414, 1154, 430, 362, 432, 1176, 410, 380, 412, 382, 412, 1160, 428, 1174, 412, 382, 410, 384, 408, 382, 412, 380, 412, 1176, 410, 1176, 412, 386, 406, 360, 432, 1156, 430, 1178, 410, 1156, 430, 1174, 412, 382, 410}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 24 "); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "25") { | |
temp="25"; | |
uint16_t rawData[179] = {3206, 1540, 452, 366, 432, 1152, 426, 368, 432, 332, 456, 1160, 426, 358, 438, 1142, 438, 342, 456, 356, 434, 1158, 424, 1162, 424, 1142, 444, 368, 430, 1156, 422, 370, 430, 1156, 424, 1164, 424, 1162, 424, 350, 448, 336, 454, 352, 440, 346, 446, 1160, 422, 1168, 420, 354, 446, 1140, 440, 1164, 420, 352, 450, 362, 428, 1146, 436, 372, 430, 346, 446, 1130, 450, 372, 428, 338, 450, 1166, 414, 1168, 418, 350, 452, 1158, 422, 1166, 416, 1152, 434, 348, 456, 1160, 414, 364, 438, 1136, 442, 1172, 414, 1166, 418, 1154, 432, 362, 442, 1160, 416, 378, 424, 1144, 432, 354, 448, 368, 424, 370, 422, 372, 420, 1140, 442, 1158, 426, 1172, 416, 376, 426, 342, 444, 1196, 392, 392, 396, 1174, 420, 370, 418, 378, 412, 380, 416, 1174, 420, 1168, 420, 370, 416, 1174, 420, 370, 414, 378, 416, 1172, 422, 1166, 422, 370, 418, 1170, 422, 1164, 420, 1184, 404, 368, 418, 1172, 420, 372, 414, 378, 414, 1182, 414, 372, 416, 376, 414, 378, 414, 1180, 414}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 25"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "26") { | |
temp="26"; | |
uint16_t rawData[179] = {3194, 1574, 424, 370, 412, 1172, 422, 368, 418, 378, 416, 1172, 420, 348, 438, 1168, 424, 354, 434, 374, 418, 1152, 442, 1142, 444, 1162, 426, 366, 420, 1168, 424, 368, 420, 1166, 428, 1160, 426, 1146, 438, 368, 420, 374, 416, 376, 418, 372, 422, 1152, 440, 1160, 426, 368, 420, 1166, 426, 1160, 428, 368, 420, 372, 418, 1152, 440, 368, 418, 372, 420, 1168, 426, 368, 420, 372, 420, 1150, 440, 1164, 424, 366, 420, 1158, 436, 1162, 424, 1162, 426, 366, 420, 1164, 428, 370, 418, 1168, 424, 1162, 424, 1148, 440, 1162, 426, 368, 420, 1150, 442, 356, 432, 1170, 420, 350, 438, 370, 422, 358, 434, 364, 428, 1170, 424, 1160, 428, 1160, 428, 366, 418, 374, 418, 1168, 406, 384, 410, 1182, 404, 388, 406, 388, 402, 386, 406, 1182, 406, 1186, 402, 386, 406, 1180, 408, 386, 408, 386, 404, 1182, 404, 1180, 408, 388, 410, 382, 404, 1182, 404, 1186, 404, 388, 404, 1184, 402, 390, 406, 380, 410, 1180, 404, 1182, 404, 384, 412, 382, 408, 1180, 408}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 26"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "27") { | |
temp="27"; | |
uint16_t rawData[179] = {3190, 1566, 420, 356, 436, 1174, 414, 362, 428, 364, 430, 1152, 434, 380, 414, 1158, 428, 356, 438, 368, 422, 1162, 424, 1174, 412, 1160, 426, 364, 430, 1162, 424, 384, 410, 1150, 436, 1172, 414, 1174, 412, 380, 414, 356, 436, 364, 428, 368, 426, 1178, 410, 1174, 412, 366, 426, 1176, 410, 1176, 412, 362, 428, 382, 410, 1156, 434, 382, 410, 382, 412, 1156, 430, 380, 410, 384, 410, 1162, 428, 1156, 430, 382, 408, 1176, 412, 1176, 410, 1158, 428, 380, 414, 1182, 402, 382, 412, 1154, 432, 1176, 412, 1174, 412, 1162, 424, 380, 414, 1174, 410, 382, 410, 1176, 412, 382, 410, 368, 424, 384, 412, 380, 412, 1158, 428, 1174, 412, 1176, 414, 362, 430, 362, 428, 1164, 424, 382, 408, 1176, 412, 368, 424, 382, 410, 384, 408, 1178, 412, 1174, 412, 368, 424, 1180, 408, 382, 410, 382, 410, 1154, 434, 1176, 408, 390, 406, 1156, 430, 368, 424, 1178, 410, 382, 410, 1182, 404, 368, 424, 386, 406, 1180, 408, 382, 410, 1158, 430, 360, 430, 1182, 406}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 27"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "28") { | |
temp="28"; | |
uint16_t rawData[179] = {3170, 1554, 438, 356, 432, 1176, 416, 378, 412, 380, 412, 1174, 414, 364, 426, 1158, 432, 374, 414, 364, 430, 1172, 418, 1170, 414, 1172, 416, 362, 428, 1174, 412, 382, 408, 1174, 416, 1170, 418, 1172, 412, 382, 408, 380, 412, 384, 408, 360, 432, 1174, 416, 1176, 410, 354, 436, 1156, 432, 1176, 412, 374, 416, 380, 412, 1158, 430, 378, 414, 382, 410, 1176, 412, 370, 420, 364, 430, 1174, 416, 1174, 412, 376, 416, 1170, 416, 1176, 412, 1172, 416, 350, 438, 1174, 414, 382, 412, 1174, 414, 1174, 414, 1172, 412, 1172, 414, 378, 416, 1172, 416, 378, 412, 1174, 416, 368, 420, 362, 430, 364, 428, 380, 414, 1174, 406, 1180, 408, 1184, 402, 390, 406, 382, 412, 1180, 404, 386, 410, 1178, 404, 386, 410, 382, 412, 382, 410, 1180, 402, 1180, 406, 372, 424, 1178, 406, 386, 412, 382, 410, 1178, 406, 1180, 408, 388, 408, 382, 408, 382, 410, 1178, 410, 386, 406, 1182, 402, 390, 410, 382, 408, 1178, 408, 1182, 402, 1180, 408, 386, 412, 1178, 402}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 28"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "29") { | |
temp="29"; | |
uint16_t rawData[179] = {3194, 1564, 432, 356, 430, 1174, 418, 376, 412, 362, 428, 1176, 418, 374, 412, 1170, 420, 374, 414, 380, 414, 1172, 418, 1172, 414, 1150, 436, 370, 418, 1168, 422, 372, 414, 1170, 422, 1158, 428, 1168, 420, 362, 420, 382, 416, 362, 430, 376, 416, 1172, 418, 1158, 428, 370, 416, 1174, 418, 1170, 416, 350, 438, 362, 432, 1172, 418, 376, 414, 374, 416, 1160, 428, 356, 432, 382, 412, 1172, 418, 1152, 434, 372, 418, 1170, 420, 1168, 420, 1152, 434, 372, 418, 1174, 416, 352, 436, 1170, 420, 1168, 418, 1168, 420, 1144, 442, 374, 414, 1172, 418, 372, 418, 1172, 418, 374, 414, 380, 414, 378, 414, 378, 406, 1182, 406, 1184, 402, 1178, 412, 380, 412, 382, 408, 1180, 404, 388, 404, 1182, 406, 384, 408, 384, 410, 386, 406, 1178, 410, 1178, 408, 386, 404, 1184, 406, 386, 404, 392, 406, 1176, 408, 1180, 410, 380, 406, 1178, 410, 1178, 410, 384, 404, 388, 404, 1182, 410, 382, 406, 390, 402, 1182, 410, 384, 406, 384, 410, 1178, 410, 1180, 414}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 29"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
else if(server.argName(i) == "30") { | |
temp="30"; | |
uint16_t rawData[179] = {3200, 1548, 446, 370, 416, 1154, 442, 350, 436, 348, 444, 1168, 426, 368, 420, 1166, 426, 370, 418, 350, 440, 1168, 426, 1162, 426, 1160, 424, 366, 420, 1166, 426, 350, 436, 1150, 442, 1162, 424, 1160, 426, 360, 426, 374, 418, 366, 428, 372, 420, 1168, 424, 1144, 442, 366, 420, 1168, 424, 1160, 426, 350, 438, 370, 420, 1172, 420, 368, 420, 372, 420, 1166, 426, 370, 420, 374, 420, 1166, 426, 1160, 426, 368, 418, 1170, 424, 1144, 442, 1142, 446, 364, 424, 1168, 422, 350, 436, 1168, 426, 1164, 422, 1162, 424, 1164, 422, 372, 416, 1170, 422, 352, 436, 1170, 420, 370, 416, 376, 408, 388, 416, 370, 414, 1178, 408, 1178, 410, 1176, 410, 380, 420, 374, 408, 1182, 408, 384, 408, 1180, 412, 380, 410, 382, 406, 390, 404, 1182, 410, 1176, 408, 380, 412, 1180, 410, 380, 408, 384, 406, 1186, 410, 1174, 408, 382, 408, 384, 406, 1184, 418, 376, 404, 386, 406, 1182, 416, 374, 408, 388, 402, 1186, 414, 1170, 418, 372, 406, 1186, 410, 1176, 414}; // MITSUBISHI_HEAVY_88 | |
Serial.println("Turning the temperature to 30"); | |
irsend.sendRaw(rawData, 179, 38); // Send a raw data capture at 38kHz. | |
} | |
} //Load the Root Page again | |
handleRoot(); | |
} | |
void handledisplay(){ | |
//Send the request to change the temperature on web page again. | |
server.send(200, "text/plane", temp); } | |
void handleNotFound() { | |
String message = "File Not Found\n\n"; | |
message += "URI: "; | |
message += server.uri(); | |
message += "\nMethod: "; | |
message += (server.method() == HTTP_GET)?"GET":"POST"; | |
message += "\nArguments: "; | |
message += server.args(); | |
message += "\n"; | |
for (uint8_t i = 0; i < server.args(); i++) | |
message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; | |
server.send(404, "text/plain", message); | |
} | |
void setup(void) { | |
irsend.begin(); | |
Serial.begin(115200); | |
WiFi.begin(kSsid, kPassword); | |
Serial.println(""); | |
Serial.begin(115200); | |
irrecv.enableIRIn(); // Start the receiver | |
while (!Serial) // Wait for the serial connection to be establised. | |
delay(50); | |
Serial.println(); | |
Serial.print("IRrecvDemo is now running and waiting for IR message on Pin "); | |
Serial.println(kRecvPin); | |
// Wait for connection | |
while (WiFi.status() != WL_CONNECTED) { | |
delay(500); | |
Serial.print("."); } | |
Serial.println(""); | |
Serial.print("Connected to "); | |
Serial.println(kSsid); | |
Serial.print("IP address: "); | |
Serial.println(WiFi.localIP()); | |
#if defined(ESP8266) | |
if (mdns.begin(HOSTNAME, WiFi.localIP())) { | |
#else // ESP8266 | |
if (mdns.begin(HOSTNAME)) { | |
#endif // ESP8266 | |
Serial.println("MDNS responder started"); | |
} | |
server.on("/", handleRoot); | |
server.on("/ir", handleIr); | |
server.on("/readtemp", handledisplay); | |
server.on("/inline", [](){ | |
server.send(200, "text/plain", "this works as well"); | |
}); | |
server.onNotFound(handleNotFound); | |
server.begin(); | |
Serial.println("HTTP server started");} | |
void loop(void) { | |
delay(100); | |
server.handleClient(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment