阿里巴巴网站详情页怎么做,动态页面制作,牡丹江最新信息网0453,推广网站制作项目思路
空调遥控器之所以能够实现对空调的控制#xff0c;是因为它能够向空调发射出特定的红外信号。从理论上来说#xff0c;任何能够发射出这种相同红外信号的红外发射器#xff0c;都可以充当空调遥控器#xff08;这也正是手机能够控制多种不同品牌空调的原因所在是因为它能够向空调发射出特定的红外信号。从理论上来说任何能够发射出这种相同红外信号的红外发射器都可以充当空调遥控器这也正是手机能够控制多种不同品牌空调的原因所在
虽然我们可以根据空调厂家所提供的红外通信协议来生成控制空调所需的红外信号但这种方法往往涉及大量的工作。为了简化这一过程我们可以利用一些现成的开源库例如本项目所用到的Arduino平台上的IRremoteESP8266库。该库已经内置了市面上绝大多数空调品牌的控制指令我们只需进行简单的配置便可实现空调的控制。
此外IRremoteESP8266库还提供了空调红外信号的接收与解析示例本项目会利用该示例查看并分析空调遥控器以及我们自制的红外发射器所发出的红外信号的具体内容。
元件 NodeMCU开发板 数字38kHz红外发射模块 数字38kHz红外接收模块 接线 NodeMCU 红外发射 VCC VCC GND GND D2 DAT 红外发射接线 NodeMCU 红外接收 VCC VCC GND GND D2 DAT 红外接收接线 开发环境搭建
1.选择“NodeMCU 1.0 (ESP-12E Module)”开发板 2.安装IRremoteESP8266.h红外库 发射红外信号实现空调控制
下面以格力品牌旗下的俊扬系列空调所使用的YAP0F3型号遥控器为例。 格力YAP0F3型空调遥控器 /*可通过IRremoteESP8266库中的IRrecvDumpV2示例来解析出空调遥控器的红外编码其包括遥控器型号等信息方便修改本程序以适配不同型号的空调
*/#include Arduino.h
#include IRremoteESP8266.h
#include ir_Gree.h //格力空调红外编码解析库是IRremoteESP8266.h的子库IRremoteESP8266.h还有其他主流品牌的红外编码解析子库const uint16_t kIrLed 4; //ESP-12F芯片的4引脚即NODEMCU开发板的D2引脚.
IRGreeAC ac(kIrLed);void setup()
{ac.begin();delay(100);
}void loop()
{//这几句程序的顺序不要变ac.on(); //ac.off();ac.setModel(YBOFB); //遥控器型号ac.setMode(kGreeHeat); // kGreeCoolac.setFan(1); // 1风速低、2风速中、3风速高、0自动风速ac.setTemp(28);ac.setSwingVertical(1,kGreeSwingAuto); // ac.setSwingVertical(0,kGreeSwingLastPos);ac.send();delay(2000);
}
关于格力空调的更多配置可以按照以下方式找到ir_Gree库通过参考该库中所定义的对象、方法以及枚举值对上面的代码进行相应的调整。 以此类推通过查看ir_Haier.cpp、ir_Haier.h和ir_Midea.cpp、ir_Midea.h等库可实现海尔、美的等品牌的空调控制。
解码空调红外信号
Arduino IDE中的IRremoteESP8266库中的IRrecvDumpV2示例可以将识别与解析到的空调遥控器发射的红外信号通过串口打印出来波特率为115200。用此实例可查看本项目向空调发射的红外信号的具体内容。 其中的GREE、Model: 2 (YBOFB)、Power: On、Mode: 4 (Heat)、Temp: 24C、Fan: 2 (Medium)、Swing(V): 1 (Auto)分别表明了此次系统向空调发射的红外信号的品牌、遥控器型号、开关状态、模式、温度、风速、扫风状态。 注意事项
避免强光干扰
参考
ESP8266-NodeMCU项目三ESP8266-NodeMCUBlinker红外模块实现远程遥控空调_esp8266不能接温度湿度模块和红外发射模块吗-CSDN博客
IRremoteESP8266库 红外控制空调方法-CSDN博客