查看: 1313|回复: 17

[分享] esp8266-01s blinker控制美的空调

[复制链接]

该用户从未签到

发表于 2021-3-21 18:12 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 myself1820 于 2021-3-21 18:43 编辑

断断续续学习了几个月,终于有点小成果了,参照论坛里各位大神的帖子,加上自己的研究,终于可以控制家里的空调了,先上图,程序在电脑上,回头再上传上来。简单介绍一下,01s的rx口接红外发光二极管,gpio 0接了一个DS18B20温度传感器,手机可以看到当前室内温度。美的空调的红外编码是学习空调遥控器的,没有全部学完,上下扫风还没有加进去,后期再慢慢把所有功能加进去。
微信图片_20210321184048.jpg
微信图片_20210321184142.jpg
微信图片_20210321184122.jpg
微信图片_20210321184136.jpg

该用户从未签到

 楼主| 发表于 2021-3-21 18:23 | 显示全部楼层
本帖最后由 myself1820 于 2021-3-21 18:47 编辑

程序来了
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#include <IRremoteESP8266.h>
#include <IRsend.h>
#include <Blinker.h>
#include <OneWire.h>
#include <DallasTemperature.h>

BlinkerNumber TEMP("temp");    //定义温度数据键名

// 初始连接在单总线上的单总线设备
#define ONE_WIRE_BUS 0 //GPIO0,接DS18B20
float temp_read;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
uint32_t read_time = 0;  

char auth[] = "1111";//这里面填写设备的密钥
char ssid[] = "2222";//这里填写你的wifi名字
char pswd[] = "3333";//这里填写你的WiFi密码



//定义红外发射的管脚
const uint16_t kIrLed = 3;  // GPIO3(RX)接红外发光二极管
IRsend irsend(kIrLed);  // Set the GPIO to be used to sending the message.

/*美的空调红外键值读取*/
//空调开:26度,环保
uint16_t power_on[199] = {4470, 4400,  592, 1592,  594, 500,  592, 1590,  592, 1592,  592, 500,  592, 500,  592, 1592,  594, 500,  592, 500,  592, 1592,  592, 500,  592, 500,  592, 1592,  594, 1590,  592, 500,  590, 1592,  592, 1592,  592, 500,  590, 1592,  592, 1594,  592, 1592,  592, 1592,  592, 1592,  594, 1590,  592, 500,  592, 1592,  592, 500,  590, 500,  592, 500,  592, 500,  590, 500,  592, 502,  590, 1592,  592, 1592,  592, 500,  588, 1596,  592, 502,  590, 500,  568, 524,  592, 500,  590, 502,  590, 502,  586, 1596,  592, 500,  590, 1592,  568, 1616,  592, 1592,  568, 1616,  592, 5234,  4494, 4402,  592, 1592,  592, 500,  590, 1592,  592, 1592,  592, 502,  590, 500,  592, 1592,  592, 500,  590, 502,  590, 1592,  592, 500,  590, 502,  592, 1592,  592, 1592,  592, 502,  590, 1592,  592, 1592,  592, 502,  590, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  590, 1594,  590, 502,  590, 1592,  592, 502,  590, 502,  590, 502,  590, 502,  590, 502,  588, 502,  590, 1594,  590, 1594,  592, 500,  590, 1592,  592, 502,  590, 502,  590, 502,  590, 502,  590, 502,  588, 502,  590, 1594,  590, 502,  590, 1594,  590, 1594,  590, 1594,  590, 1594,  590};  // UNKNOWN 1C03CDD8
//空调关
uint16_t power_off[199] = {4392, 4478,  514, 1664,  520, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  512, 1670,  514, 580,  510, 580,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 1672,  512, 580,  512, 1670,  514, 580,  510, 1672,  548, 1636,  512, 1670,  514, 1672,  514, 580,  512, 1670,  514, 1672,  512, 1670,  514, 580,  512, 580,  510, 580,  512, 580,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 1670,  514, 1670,  514, 580,  512, 580,  512, 580,  510, 580,  512, 576,  516, 580,  512, 580,  512, 580,  512, 1670,  514, 1670,  514, 1670,  514, 1672,  512, 1672,  512, 5314,  4414, 4480,  514, 1670,  514, 580,  510, 1670,  514, 1672,  514, 580,  510, 580,  512, 1670,  514, 580,  510, 580,  512, 1670,  514, 582,  510, 580,  510, 1670,  514, 1672,  514, 580,  512, 1670,  514, 580,  510, 1672,  512, 1672,  514, 1672,  512, 1670,  514, 580,  512, 1670,  512, 1670,  514, 1672,  512, 582,  510, 582,  510, 580,  510, 582,  510, 1670,  514, 582,  510, 582,  510, 1670,  514, 1670,  514, 1670,  514, 580,  510, 580,  510, 582,  510, 580,  510, 582,  510, 582,  510, 582,  510, 582,  510, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 1670,  514};  // COOLIX B27BE0
//自动模式
uint16_t Mode_Auto[199] = {4390, 4478,  514, 1672,  512, 580,  512, 1670,  514, 1670,  514, 580,  512, 578,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 1670,  514, 580,  512, 1670,  514, 580,  512, 580,  512, 580,  512, 1670,  514, 1670,  514, 1664,  660, 1528,  514, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 580,  510, 580,  512, 580,  512, 580,  512, 580,  512, 1670,  514, 1672,  512, 580,  512, 1670,  514, 1670,  514, 580,  510, 582,  510, 582,  510, 580,  512, 580,  512, 1670,  514, 580,  510, 580,  512, 1670,  514, 1670,  514, 1670,  514, 5312,  4416, 4480,  512, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  510, 1670,  514, 580,  510, 580,  512, 1670,  514, 580,  510, 582,  510, 1670,  514, 1670,  514, 582,  510, 1672,  512, 580,  512, 580,  510, 580,  512, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 1664,  512, 1678,  514, 582,  510, 580,  510, 580,  512, 580,  510, 582,  510, 1670,  514, 1670,  514, 582,  538, 1644,  512, 1670,  540, 554,  538, 554,  538, 552,  540, 552,  540, 552,  538, 1644,  540, 552,  540, 552,  540, 1642,  542, 1642,  542, 1642,  542};
//制冷
uint16_t Mode_Cool[199] = {4470, 4400,  594, 1590,  594, 498,  594, 1590,  594, 1590,  594, 498,  592, 500,  592, 1590,  594, 498,  594, 498,  594, 1590,  594, 500,  592, 498,  594, 1590,  594, 1590,  594, 498,  592, 1590,  594, 1592,  594, 498,  592, 1590,  594, 1590,  594, 1590,  592, 1592,  594, 1590,  594, 1590,  594, 500,  592, 1592,  594, 498,  592, 500,  592, 500,  592, 498,  592, 500,  592, 500,  590, 1592,  592, 1592,  594, 498,  594, 1590,  592, 500,  592, 500,  590, 500,  592, 500,  592, 500,  592, 500,  592, 1590,  594, 500,  592, 1590,  594, 1590,  594, 1592,  592, 1592,  592, 5234,  4496, 4400,  594, 1590,  592, 500,  590, 1592,  592, 1592,  592, 500,  592, 500,  592, 1592,  592, 500,  592, 500,  594, 1590,  594, 500,  592, 500,  592, 1592,  592, 1592,  592, 500,  592, 1592,  592, 1592,  592, 500,  592, 1592,  592, 1592,  592, 1592,  592, 1590,  592, 1592,  592, 1592,  592, 500,  592, 1592,  594, 500,  592, 500,  590, 500,  592, 500,  568, 524,  588, 504,  592, 1592,  568, 1616,  592, 500,  592, 1592,  568, 524,  590, 502,  590, 502,  568, 524,  590, 502,  568, 526,  566, 1616,  592, 500,  590, 1592,  592, 1592,  592, 1592,  592, 1592,  592};
//制热
uint16_t Mode_Heat[199] = {4434, 4436,  558, 1626,  558, 536,  512, 1670,  558, 1626,  558, 532,  584, 514,  510, 1670,  558, 536,  512, 580,  510, 1670,  558, 536,  510, 582,  510, 1670,  558, 1626,  558, 538,  512, 1670,  550, 1634,  556, 538,  510, 1670,  558, 1626,  514, 1670,  514, 1670,  514, 1670,  556, 1628,  514, 580,  510, 1670,  514, 582,  510, 580,  510, 582,  510, 580,  510, 582,  510, 580,  510, 1672,  514, 1670,  514, 582,  510, 1670,  514, 1670,  514, 1670,  636, 458,  510, 582,  510, 584,  508, 582,  510, 1670,  514, 580,  510, 580,  510, 582,  510, 1670,  514, 1672,  512, 5306,  4422, 4480,  514, 1670,  514, 582,  510, 1670,  514, 1670,  514, 582,  510, 580,  510, 1670,  514, 580,  510, 580,  512, 1672,  512, 574,  508, 588,  512, 1670,  514, 1670,  514, 582,  510, 1670,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 1670,  514, 1672,  512, 1672,  512, 1672,  514, 582,  510, 1670,  514, 582,  510, 580,  512, 580,  510, 580,  536, 556,  536, 556,  536, 1644,  514, 1670,  540, 556,  538, 1644,  540, 1646,  540, 1644,  540, 554,  538, 554,  538, 554,  538, 552,  538, 1644,  540, 554,  538, 554,  538, 552,  538, 1644,  542, 1644,  540};
//除湿
uint16_t Mode_Dry[199] = {4468, 4402,  568, 1616,  590, 502,  582, 1602,  568, 1616,  568, 524,  568, 524,  568, 1616,  568, 524,  568, 524,  568, 1616,  568, 524,  568, 524,  568, 1616,  568, 1616,  568, 524,  566, 1618,  566, 524,  568, 524,  566, 524,  568, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 524,  566, 524,  568, 524,  568, 524,  568, 524,  568, 1616,  568, 1616,  568, 524,  568, 1616,  568, 524,  566, 1616,  568, 526,  566, 524,  590, 502,  566, 524,  590, 1592,  568, 524,  590, 1594,  568, 524,  592, 1592,  592, 1592,  592, 5234,  4494, 4402,  592, 1592,  592, 500,  590, 1592,  592, 1592,  592, 502,  590, 502,  590, 1592,  592, 502,  590, 500,  590, 1592,  592, 502,  590, 502,  590, 1592,  592, 1592,  590, 502,  590, 1594,  592, 502,  590, 502,  590, 500,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 500,  590, 502,  590, 500,  592, 500,  592, 500,  590, 1592,  592, 1592,  592, 500,  592, 1592,  592, 500,  592, 1592,  592, 500,  590, 502,  592, 498,  592, 500,  592, 1592,  592, 502,  590, 1592,  592, 500,  590, 1592,  592, 1592,  592};
//送风
uint16_t Mode_Wind[199] = {4434, 4436,  558, 1626,  558, 536,  512, 1670,  558, 1626,  558, 532,  584, 514,  510, 1670,  558, 536,  512, 580,  510, 1670,  558, 536,  510, 582,  510, 1670,  558, 1626,  558, 538,  512, 1670,  550, 1634,  556, 538,  510, 1670,  558, 1626,  514, 1670,  514, 1670,  514, 1670,  556, 1628,  514, 580,  510, 1670,  514, 582,  510, 580,  510, 582,  510, 580,  510, 582,  510, 580,  510, 1672,  514, 1670,  514, 582,  510, 1670,  514, 1670,  514, 1670,  636, 458,  510, 582,  510, 584,  508, 582,  510, 1670,  514, 580,  510, 580,  510, 582,  510, 1670,  514, 1672,  512, 5306,  4422, 4480,  514, 1670,  514, 582,  510, 1670,  514, 1670,  514, 582,  510, 580,  510, 1670,  514, 580,  510, 580,  512, 1672,  512, 574,  508, 588,  512, 1670,  514, 1670,  514, 582,  510, 1670,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 1670,  514, 1672,  512, 1672,  512, 1672,  514, 582,  510, 1670,  514, 582,  510, 580,  512, 580,  510, 580,  536, 556,  536, 556,  536, 1644,  514, 1670,  540, 556,  538, 1644,  540, 1646,  540, 1644,  540, 554,  538, 554,  538, 554,  538, 552,  538, 1644,  540, 554,  538, 554,  538, 552,  538, 1644,  542, 1644,  540};
//静音风速
uint16_t fan_Fixed[199] = {4458, 4412,  584, 1600,  560, 534,  556, 1624,  560, 1624,  560, 534,  556, 536,  556, 1626,  560, 536,  556, 536,  556, 1626,  560, 534,  556, 536,  556, 1626,  560, 1626,  558, 536,  556, 1626,  560, 1624,  560, 1624,  560, 1626,  558, 1624,  560, 1624,  560, 1626,  558, 1626,  558, 1626,  558, 538,  554, 538,  554, 538,  512, 580,  510, 582,  510, 582,  510, 580,  510, 580,  512, 1670,  560, 1624,  558, 538,  510, 1670,  558, 538,  510, 582,  510, 582,  510, 580,  510, 582,  510, 580,  510, 1670,  558, 538,  512, 1672,  512, 1670,  514, 1670,  514, 1670,  514, 5312,  4416, 4480,  514, 1672,  512, 582,  510, 1670,  514, 1670,  514, 580,  510, 582,  510, 1670,  514, 582,  510, 580,  510, 1670,  514, 582,  510, 582,  510, 1670,  514, 1670,  514, 582,  510, 1670,  514, 1670,  514, 1672,  512, 1672,  514, 1670,  514, 1670,  514, 1670,  514, 1672,  514, 1670,  514, 580,  510, 582,  510, 580,  510, 582,  512, 580,  510, 580,  510, 576,  516, 582,  510, 1670,  514, 1670,  514, 580,  510, 1670,  514, 580,  510, 582,  510, 582,  510, 580,  510, 582,  510, 580,  510, 1672,  514, 580,  512, 1670,  514, 1670,  514, 1670,  514, 1670,  514};
//低风速
uint16_t fan_Min[199] = {4470, 4400,  594, 1592,  594, 498,  592, 1590,  594, 1590,  594, 498,  592, 500,  592, 1590,  594, 500,  592, 498,  592, 1592,  592, 500,  592, 498,  592, 1592,  594, 1590,  594, 498,  592, 1592,  594, 1590,  594, 500,  592, 500,  592, 1590,  594, 1592,  594, 1590,  594, 1590,  594, 1590,  594, 500,  592, 1592,  594, 1590,  594, 500,  592, 500,  592, 498,  592, 500,  592, 500,  592, 1592,  592, 1592,  592, 500,  592, 1590,  592, 500,  592, 502,  590, 500,  592, 500,  592, 500,  592, 500,  590, 1592,  592, 500,  592, 1580,  604, 1592,  592, 1592,  592, 1592,  592, 5234,  4496, 4400,  594, 1590,  594, 500,  592, 1592,  592, 1592,  592, 500,  592, 500,  592, 1592,  592, 500,  592, 500,  590, 1592,  594, 500,  592, 500,  592, 1592,  592, 1592,  568, 524,  590, 1592,  592, 1592,  592, 500,  568, 524,  568, 1616,  590, 1594,  592, 1592,  592, 1592,  590, 1596,  592, 500,  568, 1616,  590, 1594,  592, 500,  588, 504,  590, 500,  592, 502,  590, 500,  592, 1592,  592, 1592,  592, 500,  590, 1592,  592, 502,  590, 500,  592, 500,  592, 500,  592, 502,  590, 500,  590, 1592,  592, 502,  590, 1592,  592, 1592,  592, 1592,  592, 1592,  592};
//中风速
uint16_t fan_Med[201] = {4390, 4480,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  512, 1670,  514, 578,  512, 580,  512, 1670,  514, 580,  512, 578,  514, 1670,  514, 1670,  514, 580,  512, 1670,  514, 580,  512, 1670,  514, 580,  512, 1670,  514, 1672,  514, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 580,  512, 1672,  514, 580,  512, 580,  512, 580,  514, 578,  512, 580,  512, 1670,  514, 1670,  514, 580,  512, 1672,  514, 580,  512, 580,  512, 580,  512, 580,  512, 580,  512, 578,  512, 1672,  514, 578,  512, 1670,  514, 1672,  514, 1670,  514, 1670,  514, 5314,  4414, 1152,  474, 2854,  514, 1672,  512, 580,  536, 1646,  514, 1670,  540, 554,  540, 550,  542, 1642,  542, 550,  542, 550,  542, 1642,  542, 550,  542, 550,  542, 1642,  542, 1642,  544, 550,  542, 1642,  542, 552,  564, 1618,  566, 528,  566, 1618,  566, 1618,  566, 1618,  568, 1616,  568, 1618,  568, 1616,  568, 526,  566, 1616,  568, 524,  568, 524,  590, 500,  592, 502,  590, 502,  592, 1592,  592, 1592,  592, 502,  590, 1592,  592, 502,  590, 500,  590, 502,  590, 502,  590, 502,  590, 502,  590, 1592,  592, 502,  590, 1594,  592, 1592,  592, 1592,  590, 1594,  592};
//高风速
uint16_t fan_Max[199] = {4470, 4400,  592, 1592,  592, 500,  592, 1592,  592, 1592,  594, 500,  592, 500,  592, 1592,  568, 524,  592, 500,  592, 1590,  568, 526,  590, 500,  590, 1592,  568, 1616,  568, 524,  570, 1614,  568, 524,  568, 524,  566, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 1616,  568, 1608,  618, 1574,  568, 524,  568, 524,  568, 524,  568, 524,  568, 526,  566, 526,  590, 1592,  568, 1616,  568, 524,  586, 1598,  568, 524,  566, 524,  592, 500,  590, 502,  590, 500,  590, 502,  588, 1594,  592, 500,  592, 1592,  592, 1594,  592, 1592,  592, 1594,  592, 5234,  4494, 4402,  592, 1592,  592, 502,  590, 1592,  592, 1592,  592, 502,  590, 500,  592, 1592,  568, 524,  592, 500,  590, 1592,  592, 500,  590, 500,  588, 1596,  592, 1592,  568, 524,  590, 1592,  592, 502,  590, 500,  590, 1592,  568, 1616,  592, 1594,  590, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 500,  592, 500,  590, 502,  590, 500,  592, 500,  592, 492,  592, 1598,  592, 1592,  592, 500,  590, 1592,  592, 500,  590, 500,  592, 500,  590, 502,  590, 500,  592, 500,  590, 1592,  592, 502,  590, 1592,  592, 1592,  592, 1592,  592, 1592,  592};
//自动风速
uint16_t fan_Auto[199] = {4460, 4410,  594, 1590,  594, 498,  594, 1590,  594, 1590,  594, 498,  594, 498,  592, 1590,  594, 500,  592, 500,  592, 1590,  594, 498,  594, 498,  594, 1590,  594, 1590,  594, 498,  592, 1592,  592, 1590,  594, 498,  592, 1590,  594, 1590,  594, 1592,  594, 1590,  594, 1590,  594, 1590,  594, 500,  592, 1590,  594, 500,  592, 500,  592, 500,  592, 500,  592, 498,  592, 500,  592, 1590,  594, 1590,  594, 500,  592, 1590,  594, 500,  592, 498,  592, 500,  592, 500,  590, 500,  592, 500,  592, 1590,  594, 498,  592, 1592,  594, 1590,  594, 1590,  594, 1592,  592, 5234,  4494, 4402,  594, 1590,  594, 500,  592, 1584,  600, 1590,  594, 500,  592, 500,  592, 1592,  592, 500,  590, 502,  590, 1592,  592, 500,  592, 500,  592, 1592,  592, 1592,  592, 500,  592, 1592,  592, 1592,  592, 500,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1594,  592, 1592,  592, 500,  568, 1616,  592, 500,  590, 500,  592, 500,  592, 502,  590, 500,  568, 524,  592, 1592,  594, 1592,  592, 500,  588, 1596,  592, 500,  592, 500,  590, 500,  592, 500,  568, 524,  568, 524,  566, 1616,  592, 500,  590, 1592,  592, 1594,  592, 1592,  592, 1592,  592};
//制冷20度
uint16_t temp_20[199] = {4458, 4412,  558, 1626,  558, 534,  558, 1624,  560, 1626,  584, 508,  582, 510,  558, 1624,  560, 534,  558, 534,  582, 1602,  584, 508,  580, 512,  558, 1626,  582, 1602,  582, 510,  558, 1626,  558, 1626,  584, 510,  558, 534,  558, 1624,  558, 1626,  582, 1602,  582, 1602,  558, 1626,  558, 534,  558, 1626,  558, 1626,  558, 534,  558, 534,  558, 534,  556, 536,  604, 478,  592, 508,  582, 510,  558, 1626,  558, 534,  558, 1626,  558, 1626,  558, 534,  558, 534,  580, 1602,  560, 1626,  580, 512,  558, 1626,  558, 536,  580, 510,  556, 1626,  558, 1626,  558, 5268,  4460, 4436,  558, 1626,  582, 510,  558, 1626,  558, 1626,  558, 534,  558, 534,  580, 1604,  558, 534,  556, 536,  556, 1626,  558, 534,  556, 536,  558, 1626,  558, 1626,  558, 536,  556, 1626,  558, 1626,  582, 512,  556, 530,  562, 1626,  558, 1626,  558, 1626,  558, 1626,  558, 1626,  558, 534,  556, 1626,  558, 1626,  558, 534,  558, 534,  556, 534,  554, 538,  556, 536,  556, 534,  558, 534,  558, 1626,  558, 534,  556, 1626,  558, 1618,  566, 536,  556, 534,  582, 1602,  558, 1626,  558, 534,  556, 1626,  558, 538,  554, 536,  556, 1628,  558, 1626,  558};
//制冷21度
uint16_t temp_21[199] = {4390, 4480,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  510, 580,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 582,  580, 510,  512, 1670,  514, 1670,  514, 580,  512, 1672,  514, 1670,  514, 580,  510, 582,  510, 1670,  514, 1670,  514, 1668,  516, 1670,  514, 1666,  552, 550,  508, 1670,  514, 1670,  514, 580,  512, 580,  512, 580,  510, 580,  512, 580,  510, 580,  512, 1670,  514, 1672,  512, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  512, 1672,  512, 582,  510, 580,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 1670,  514, 5312,  4416, 4478,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  510, 1672,  512, 580,  512, 580,  538, 1644,  514, 580,  540, 552,  540, 1642,  540, 1644,  542, 552,  540, 1642,  542, 1642,  542, 552,  540, 552,  540, 1642,  542, 1642,  542, 1642,  542, 1642,  542, 1642,  542, 552,  540, 1642,  542, 1642,  542, 552,  564, 528,  564, 522,  506, 592,  562, 528,  564, 526,  566, 1618,  566, 1618,  566, 528,  564, 1618,  566, 1618,  566, 528,  564, 528,  564, 1618,  566, 528,  564, 526,  566, 1616,  568, 526,  564, 528,  564, 1618,  566, 1618,  566};
//制冷22度
uint16_t temp_22[199] = {4434, 4436,  558, 1626,  556, 538,  512, 1670,  558, 1628,  544, 550,  512, 580,  512, 1670,  558, 536,  512, 580,  512, 1670,  514, 580,  510, 580,  512, 1670,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  512, 1670,  514, 1670,  514, 1672,  514, 1670,  514, 1670,  514, 574,  578, 1610,  514, 1670,  514, 580,  510, 580,  512, 580,  512, 580,  512, 580,  512, 580,  512, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 580,  512, 580,  512, 1670,  514, 580,  512, 580,  510, 582,  510, 580,  512, 580,  512, 1670,  514, 1670,  514, 5312,  4416, 4480,  514, 1670,  512, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  510, 1672,  512, 582,  510, 580,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  510, 1672,  514, 1670,  514, 1670,  514, 1672,  512, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  512, 580,  512, 580,  512, 572,  508, 590,  512, 1670,  514, 1670,  514, 1670,  514, 1670,  514, 1670,  542, 552,  540, 552,  540, 1642,  542, 552,  540, 552,  540, 550,  540, 552,  540, 552,  540, 1642,  542, 1642,  542};
//制冷23度
uint16_t temp_23[199] = {4390, 4480,  514, 1670,  514, 578,  512, 1672,  512, 1672,  514, 580,  512, 580,  512, 1670,  514, 580,  512, 578,  512, 1670,  514, 580,  512, 580,  512, 1672,  512, 1670,  514, 580,  512, 1670,  514, 1670,  514, 578,  512, 580,  576, 1606,  554, 1630,  514, 1670,  514, 1672,  512, 1670,  514, 580,  512, 1672,  554, 1630,  558, 536,  556, 536,  512, 580,  510, 580,  514, 578,  512, 580,  512, 1670,  558, 536,  512, 1670,  514, 1670,  514, 1670,  514, 580,  512, 580,  512, 1672,  512, 580,  550, 1634,  514, 580,  512, 578,  512, 580,  512, 1670,  514, 1670,  514, 5312,  4416, 4480,  514, 1670,  514, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  512, 1670,  514, 580,  512, 578,  512, 1672,  512, 582,  512, 580,  512, 1670,  514, 1670,  514, 580,  540, 1642,  512, 1672,  514, 580,  542, 550,  542, 1640,  542, 1636,  518, 1670,  544, 1642,  506, 1678,  542, 550,  566, 1616,  544, 1642,  542, 550,  566, 526,  566, 524,  568, 524,  566, 526,  566, 524,  568, 1616,  542, 550,  566, 1616,  510, 1674,  568, 1616,  568, 526,  568, 524,  568, 1616,  568, 526,  590, 1594,  568, 524,  590, 502,  590, 500,  590, 1594,  566, 1618,  536};
//制冷24度
uint16_t temp_24[199] = {4472, 4398,  594, 1590,  594, 498,  594, 1590,  594, 1590,  594, 498,  594, 498,  594, 1590,  594, 500,  592, 498,  592, 1590,  594, 498,  592, 498,  594, 1590,  594, 1590,  594, 500,  592, 1590,  594, 1590,  594, 498,  594, 498,  592, 1590,  594, 1590,  594, 1590,  594, 1592,  594, 1590,  594, 498,  592, 1590,  594, 1590,  594, 498,  592, 500,  592, 500,  592, 500,  592, 500,  592, 500,  592, 1590,  594, 500,  592, 500,  592, 1592,  594, 1590,  594, 498,  592, 500,  592, 1590,  594, 500,  592, 1592,  594, 1590,  594, 500,  592, 500,  592, 1590,  594, 1592,  592, 5234,  4494, 4402,  592, 1592,  592, 500,  592, 1584,  588, 1604,  592, 500,  592, 500,  592, 1592,  592, 500,  592, 500,  592, 1590,  594, 500,  592, 500,  592, 1592,  592, 1592,  592, 500,  592, 1592,  592, 1592,  594, 500,  590, 500,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 1592,  592, 500,  590, 1592,  592, 1594,  590, 500,  592, 500,  592, 500,  590, 500,  590, 502,  592, 500,  592, 1590,  592, 500,  592, 500,  592, 1592,  592, 1592,  592, 500,  590, 500,  592, 1592,  592, 500,  590, 1592,  592, 1592,  592, 500,  590, 502,  590, 1592,  590, 1594,  592};
//制冷25度
uint16_t temp_25[199] = {4390, 4480,  512, 1672,  514, 580,  512, 1670,  514, 1672,  514, 578,  512, 580,  512, 1670,  514, 580,  512, 580,  512, 1670,  514, 580,  512, 580,  512, 1672,  514, 1670,  514, 580,  512, 1672,  514, 1672,  512, 580,  512, 580,  512, 1670,  514, 1670,  514, 1672,  512, 1672,  514, 1670,  514, 580,  534, 1648,  536, 1648,  536, 556,  512, 580,  536, 556,  536, 554,  536, 556,  536, 1646,  538, 1648,  536, 556,  536, 556,  536, 1646,  540, 1646,  538, 554,  536, 554,  538, 554,  538, 554,  538, 1646,  540, 1644,  540, 554,  538, 554,  538, 1646,  538, 1646,  540, 5286,  4442, 4454,  564, 1622,  540, 552,  538, 1644,  540, 1644,  540, 552,  562, 530,  562, 1620,  564, 530,  538, 552,  562, 1620,  564, 530,  564, 528,  564, 1620,  564, 1620,  564, 528,  564, 1620,  564, 1620,  566, 528,  564, 526,  564, 1620,  564, 1620,  564, 1620,  564, 1620,  566, 1618,  566, 528,  564, 1618,  566, 1618,  566, 528,  588, 504,  564, 528,  564, 528,  564, 526,  564, 1620,  588, 1596,  564, 528,  564, 528,  564, 1620,  566, 1618,  588, 504,  564, 528,  564, 528,  564, 528,  560, 1622,  566, 1620,  588, 504,  586, 506,  588, 1596,  588, 1596,  566};
//制冷26度
uint16_t temp_26[199] = {4470, 4400,  594, 1592,  594, 498,  592, 1590,  594, 1590,  594, 498,  592, 500,  592, 1590,  594, 498,  592, 500,  592, 1590,  594, 500,  592, 456,  624, 1604,  592, 1592,  594, 498,  592, 1590,  594, 1592,  592, 500,  592, 500,  592, 1592,  594, 1590,  594, 1590,  594, 1590,  594, 1592,  592, 500,  592, 1592,  592, 1592,  592, 500,  592, 500,  592, 500,  592, 500,  592, 500,  592, 1592,  592, 1592,  592, 502,  590, 1592,  592, 1592,  594, 1590,  592, 502,  592, 498,  592, 500,  592, 500,  592, 1590,  592, 500,  592, 500,  592, 500,  592, 1592,  592, 1592,  592, 5234,  4496, 4400,  592, 1592,  592, 500,  562, 1622,  592, 1592,  592, 500,  590, 502,  590, 1592,  592, 500,  590, 502,  592, 1592,  592, 500,  592, 500,  592, 1592,  592, 1592,  592, 500,  590, 1594,  582, 1534,  648, 512,  590, 502,  588, 1594,  590, 1594,  592, 1592,  592, 1592,  592, 1592,  592, 500,  590, 1592,  592, 1490,  694, 494,  598, 500,  590, 502,  590, 500,  590, 500,  592, 1592,  592, 1592,  592, 500,  592, 1592,  592, 1592,  592, 1592,  592, 500,  590, 502,  560, 532,  590, 494,  598, 1594,  590, 502,  590, 502,  590, 500,  590, 1592,  592, 1592,  592};
//制冷27度
uint16_t temp_27[199] = {4440, 4350,  644, 1622,  562, 532,  560, 1622,  562, 1622,  562, 530,  562, 530,  560, 1622,  562, 530,  560, 532,  562, 1620,  564, 530,  560, 532,  560, 1622,  562, 1622,  562, 532,  560, 1622,  562, 1622,  562, 532,  560, 532,  560, 1622,  562, 1622,  562, 1624,  560, 1624,  560, 1624,  560, 532,  534, 1648,  560, 1624,  560, 534,  512, 580,  530, 562,  512, 580,  512, 580,  512, 1670,  558, 536,  512, 580,  512, 1672,  512, 1670,  514, 1670,  514, 580,  510, 580,  512, 580,  512, 1670,  514, 1670,  514, 580,  512, 580,  512, 580,  512, 1670,  514, 1672,  512, 5312,  4416, 4482,  512, 1670,  514, 580,  512, 1670,  514, 1672,  512, 580,  512, 574,  506, 1682,  514, 580,  510, 582,  510, 1670,  514, 580,  512, 580,  512, 1670,  514, 1670,  514, 582,  510, 1672,  512, 1672,  512, 580,  512, 580,  512, 1670,  514, 1670,  514, 1590,  594, 1670,  514, 1672,  512, 582,  510, 1670,  514, 1670,  514, 580,  510, 580,  512, 582,  510, 580,  512, 580,  512, 1670,  514, 580,  510, 582,  510, 1670,  514, 1670,  514, 1670,  514, 582,  510, 582,  510, 582,  510, 1670,  512, 1670,  514, 580,  510, 580,  536, 556,  536, 1648,  536, 1644,  542};
//制冷28度
uint16_t temp_28[199] = {4470, 4400,  594, 1590,  594, 498,  594, 1590,  594, 1590,  594, 500,  592, 500,  592, 1590,  594, 498,  592, 498,  592, 1590,  594, 500,  592, 498,  594, 1590,  594, 1590,  594, 498,  592, 1592,  594, 1590,  594, 498,  592, 500,  592, 1590,  594, 1590,  594, 1590,  594, 1590,  592, 1592,  594, 498,  592, 1590,  594, 1592,  594, 500,  592, 500,  582, 502,  600, 498,  592, 500,  592, 1592,  594, 500,  592, 500,  592, 500,  592, 1592,  594, 1590,  594, 500,  592, 500,  592, 500,  592, 1592,  592, 1592,  594, 1590,  594, 500,  592, 500,  592, 1592,  592, 1592,  592, 5234,  4494, 4402,  592, 1592,  592, 500,  592, 1592,  592, 1592,  594, 500,  590, 500,  592, 1590,  594, 500,  592, 500,  592, 1592,  592, 500,  592, 500,  592, 1592,  592, 1592,  594, 500,  592, 1592,  594, 1590,  594, 500,  590, 500,  592, 1592,  592, 1592,  592, 1592,  590, 1594,  592, 1550,  634, 500,  592, 1592,  592, 1592,  568, 524,  568, 524,  590, 500,  592, 500,  592, 500,  566, 1616,  592, 500,  592, 500,  590, 500,  592, 1592,  592, 1592,  588, 504,  586, 506,  590, 500,  592, 1592,  592, 1592,  592, 1592,  592, 502,  590, 500,  590, 1592,  594, 1590,  592};
// 新建Blinker组件对象
BlinkerButton Button1("btn-pwron");//空调开
BlinkerButton Button2("btn-pwroff");//空调关
BlinkerButton Button3("btn-auto");//自动模式
BlinkerButton Button4("btn-cool");//制冷模式
BlinkerButton Button5("btn-heat");//制热模式
BlinkerButton Button6("btn-dry");//除湿模式
BlinkerButton Button7("btn-wind");//送风模式

BlinkerSlider Slider1("ran-coolTemp");//制冷温度
BlinkerSlider Slider2("ran-fan");//空调风速
void setup()
{
  //初始化串口
  Serial.begin(115200);
  BLINKER_DEBUG.stream(Serial);
  //注册回调函数/
  Button1.attach(Button1_callback);
  Button2.attach(Button2_callback);
  Button3.attach(Button3_callback);
  Button4.attach(Button4_callback);
  Button5.attach(Button5_callback);
  Button6.attach(Button6_callback);
  Button7.attach(Button7_callback);
  Slider1.attach(slider1_callback);
  Slider2.attach(slider2_callback);
//配网步骤:WIFI接入
  Blinker.begin(auth,ssid,pswd);
  //红外初始化
  irsend.begin();
  
  Blinker.attachData(dataRead);
  Blinker.attachHeartbeat(heartbeat);
  
  DS18B20.begin();
  temp_read=0.0;
}

void loop()
{
  Blinker.run();
  DS18B20.requestTemperatures(); //发送命令获取温度
   if (read_time == 0 || (millis() - read_time) >= 2000)
    {
        read_time = millis();
        float t = DS18B20.getTempCByIndex(0);
        temp_read = t-6.1;   //修正温度值
        BLINKER_LOG("Temperature: ", t, " *C");
    }
}

void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);
    Blinker.vibrate();
    uint32_t BlinkerTime = millis();
    Blinker.print("millis", BlinkerTime);
}

void heartbeat()
{
  TEMP.print(temp_read);        //给blinkerapp回传温度数据
}

//回调函数
void Button1_callback(const String &state)
{

  BLINKER_LOG("get button state: ", state);
  //检测到普通按钮按下(btn-pwron)
  if (state == BLINKER_CMD_BUTTON_TAP)
  {
    //发送红外指令
    irsend.sendRaw(power_on, 199, 38);  // Send a raw data capture at 38kHz.
    Button1.print("空调开");
  }

}
//回调函数
void Button2_callback(const String &state)
{
  BLINKER_LOG("get button state: ", state);
  //检测到btn-pwroff按钮按下
  if (state == BLINKER_CMD_BUTTON_TAP)
  {
    irsend.sendRaw(power_off, 199, 38);  // Send a raw data capture at 38kHz.
    Button2.print("空调关");
  }
}

  //回调函数
void Button3_callback(const String &state)
{
  BLINKER_LOG("get button state: ", state);
  //检测到btn-pwroff按钮按下
  if (state == BLINKER_CMD_BUTTON_TAP)
  {
    irsend.sendRaw(Mode_Auto, 199, 38);  // Send a raw data capture at 38kHz.
    Button2.print("自动模式");
  }
}

  void Button4_callback(const String &state)
{
  BLINKER_LOG("get button state: ", state);
  //检测到btn-pwroff按钮按下
  if (state == BLINKER_CMD_BUTTON_TAP)
  {
    irsend.sendRaw(Mode_Cool, 199, 38);  // Send a raw data capture at 38kHz.
    Button2.print("制冷模式");
  }
}

  void Button5_callback(const String &state)
{
  BLINKER_LOG("get button state: ", state);
  //检测到btn-pwroff按钮按下
  if (state == BLINKER_CMD_BUTTON_TAP)
  {
    irsend.sendRaw(Mode_Heat, 199, 38);  // Send a raw data capture at 38kHz.
    Button2.print("制热模式");
  }
}

  void Button6_callback(const String &state)
{
  BLINKER_LOG("get button state: ", state);
  //检测到btn-pwroff按钮按下
  if (state == BLINKER_CMD_BUTTON_TAP)
  {
    irsend.sendRaw(Mode_Dry, 199, 38);  // Send a raw data capture at 38kHz.
    Button2.print("除湿模式");
  }
}

  void Button7_callback(const String &state)
{
  BLINKER_LOG("get button state: ", state);
  //检测到btn-pwroff按钮按下
  if (state == BLINKER_CMD_BUTTON_TAP)
  {
    irsend.sendRaw(Mode_Wind, 199, 38);  // Send a raw data capture at 38kHz.
    Button2.print("送风模式");
  }
}

void slider1_callback(int32_t value)
{
  BLINKER_LOG("get slider value: ", value);
  int num_temp=value;
    switch (num_temp)
      {
        case 20:
          irsend.sendRaw(temp_20, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷20度");   
          break;
        case 21:
          irsend.sendRaw(temp_21, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷21度");   
          break;
        case 22:
          irsend.sendRaw(temp_22, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷22度");   
          break;
        case 23:
          irsend.sendRaw(temp_23, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷23度");   
          break;
        case 24:
          irsend.sendRaw(temp_24, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷24度");   
          break;
        case 25:
          irsend.sendRaw(temp_25, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷25度");   
          break;
        case 26:
          irsend.sendRaw(temp_26, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷26度");   
          break;
        case 27:
          irsend.sendRaw(temp_27, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷27度");   
          break;
        case 28:
          irsend.sendRaw(temp_28, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("制冷28度");   
          break;
      }
}

void slider2_callback(int32_t value)
{
  BLINKER_LOG("get slider value: ", value);
  int num_mode=value;
    switch (num_mode)
      {
        case 1:
          irsend.sendRaw(fan_Fixed, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("静音风速");   
          break;
        case 2:
          irsend.sendRaw(fan_Min, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("低风速");   
          break;
        case 3:
          irsend.sendRaw(fan_Med, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("中风速");   
          break;
        case 4:
          irsend.sendRaw(fan_Max, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("高风速");   
          break;
        case 5:
          irsend.sendRaw(fan_Auto, 199, 38);  // Send a raw data capture at 38kHz.
          Button2.print("自动风速");   
          break;
      }
}

该用户从未签到

发表于 2021-3-22 20:22 | 显示全部楼层
本帖最后由 liuzhe666 于 2021-3-22 20:35 编辑

请问一下楼主,你这个用的是阿里云吗?我的毕设要实现的功能和你这个一样,就是要远程可以查看室内温湿度和控制空调,我现在在上云部分和红外模块的地方遇到困难卡住了,今天看到你的帖子太激动了,能不能加一下您的qq 希望楼主可以给我指点一下,拜托了~
我用的是ESP32的板子和DH11温湿度传感器,目前红外发射和接收模块还没加进去,我看了你的帖子感觉我做的好麻烦,希望您能帮我指点指点~

我的QQ是 2904937233,如果您看到麻烦加我一下 不胜感激!

该用户从未签到

发表于 2021-3-22 20:28 | 显示全部楼层
红外模块用的是啥?

该用户从未签到

 楼主| 发表于 2021-3-24 16:05 | 显示全部楼层
红外模块就是某宝上2块钱一包的那种红外发光二极管
微信图片编辑_20210324160300.jpg

该用户从未签到

 楼主| 发表于 2021-3-24 16:09 | 显示全部楼层
liuzhe666 发表于 2021-3-22 20:22
请问一下楼主,你这个用的是阿里云吗?我的毕设要实现的功能和你这个一样,就是要远程可以查看室内温湿度和 ...

我也是个新手哦,参考了别人的例程自己修改的.DHT11模块的话IDE的示例里有,不过你要先装一个BLINKER的库。

签到天数: 1 天

[LV.1]初来乍到

发表于 2021-3-25 11:59 | 显示全部楼层
请问ESP上面蓝色的模块是什么?
还有就是代码这么长,真的能写入ESP里面嘛?(个人粗浅理解上ESP里面只能写简短一点的代码)

该用户从未签到

发表于 2021-3-31 17:16 | 显示全部楼层
myself1820 发表于 2021-3-21 18:23
程序来了
#define BLINKER_PRINT Serial
#define BLINKER_WIFI

看我程序,打消了我DIY红外遥控的想法了,除非有各种空调红外代码库。虽然百度有很多,写进去太多了。

该用户从未签到

发表于 2021-4-1 15:16 | 显示全部楼层
楼主可以分享一下所需硬件和接线图,想动手做一个

该用户从未签到

 楼主| 发表于 2021-4-1 15:19 | 显示全部楼层
Guofuqiang01 发表于 2021-3-31 17:16
看我程序,打消了我DIY红外遥控的想法了,除非有各种空调红外代码库。虽然百度有很多,写进去太多了。 ...

确实,我的这个方法有点原始,红外编码就占了不少空间。不过我现在已经把家里的空调,电视,机顶盒的编码都获取了,目前可以控制家里电视、空调、机顶盒了
微信图片_20210401151910.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

arduino程序设计基础 blinker物联网解决方案

热门推荐

【教程】pico+hx711电子秤
【教程】pico+hx711电子秤
pico+hx711电子秤 【前言】 我做过多款电子秤,这次移植到pico上
ESP8266+Onenet平台远程数据传输和控制
ESP8266+Onenet平台远程数
这是我的第一个diy,主要功能实现了onenet云平台温湿度数据的传输和远程控制LED灯平台
【Arduino】108种传感器模块系列实验(48)---三轴ADXL345模块
【Arduino】108种传感器模
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
ps2遥控小车——uno实现
ps2遥控小车——uno实现
前几天在阁楼发现了好久以前3d打印,激光切割的底盘,于是决定做这个东西 正好手上又
震惊!OLED菜单竟只用10行代码就可以完成到完美!!!
震惊!OLED菜单竟只用10行
震惊!OLED菜单竟只用10行代码就可
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表