物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制

物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调遥控

  • 实验材料
  • 硬件连接图
  • IRremote库安装
  • 源代码
  • 拓展
  • 实物图
  • 预告
  • 参考文献
  • 老王碎碎念

实验材料

  • Wemos D1 Mini开发板 *1 (10元)
  • KY-005红外发射模块 *1 (1元)
    或者 5mm 940nm红外发射管 (0.1元)
  • 170孔mini面包板*1 (1元)
  • 可选:2N2222*1(或者2N3904)
    合计:12元

硬件连接图

  • KY-005模块硬件连接图—注意:5V供电
    物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制_第1张图片
  • 5MM 940nm红外发射管硬件连接图注意:3.3V供电
    物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制_第2张图片
  • 功率放大版本
    前两个版本红外发射的功率很小,控制举例<20cm,如果想实现远距离控制需要增加一个2N2222三极管来实现功率放大。
    物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制_第3张图片
    还有更高功率的集成模块,功率可达1W 3W,直线控制举例50米。连接方式和KY-005一样。
    物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制_第4张图片

IRremote库安装

IRremote库的github下载地址
IRremote库安装方法和Blynk库的安装方法一样,详细过程参见之前的帖子---->物联网-wemos D1 Mini (esp8266)实验五 – 与Blynk合作的土壤湿度检测与远程浇花系统里面第二段。

源代码


#include //ESP8266WiFi设置库
#include //ESP8266红外控制库
#include //红外发送库
#include //添加格力空调的库
//#include //添加美的空调的库


IRGreeAC _ac(D3); //创建一个格力空调的控制实例
//IRMideaAC _ac(D3);//创建一个美的空调的控制实例

// setup() 會先被執行且只會執行一次
void setup() {
  _ac.begin();//开启空调红外
  Serial.begin(115200);//开启串口,方便调试时观察发射内容
}

// loop() 裡面的程式會不斷重複執行
void loop() {
  Serial.println("Sending...");
  _ac.on();//生成空调“开”的红外码
  Serial.println(_ac.toString());//显示发送的空调开机红外编码
  _ac.send();//发送红外命令
  delay(2000);  //测试阶段每两秒发一次
}

拓展

  • 这个8266库更新还挺勤,最近一个版本我写这个博客(2019年03月29日)的时候已经是**v2.5.6 (20190316)**了。大家可以持续关注。及时获取最新版本。
  • 如果你的空调不是格力的,可以参照下面的图片,将格力的头文件换成你使用的空调品牌。
    物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制_第5张图片
  • 上述路径下的 ir_Gree.h文件中会有相应品牌空调的类定义和提供的可供操控的方法。方法的具体实现代码在同路径下的同名cpp文件中。例:ir_Gree.h的源代码就在ir_Gree.cpp中。
    物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制_第6张图片
  • 如果想深入了解IRremote库的使用,除了阅读上述源文件。库自带的例子也是非常不错的选择。在Arduino IDE菜单栏中点击文件->示例->IRremoteESP8266。里面提供了非常多的例子。包括很热门的MQTT远程控制示例。

实物图

  • 代码下载到开发板后,红外发射小灯会每2s发送一次开空调的命令。红外线是人眼无法识别的。如果想“看到”,可以借助手机。打开照相机,通过取景框来观看时会发现每2s小灯发射一次红光。(温馨提示:苹果手机需要调成前置摄像头,否则看不到)
  • 更好的办法是利用KY-022红外接收模块和另外一块Wemos D1 Mini组成一个红外接收装置。利用ESP8266 IRremote库写一个红外接收程序。实时观看发射的代码。恩。。。我就是自己做了一个这样的接受装置。感觉挺好用。过两天有时间可以把连线图和源代码更新上来,有兴趣的可以关注下。
    物联网-wemos D1 Mini (esp8266)实验七 --- 利用ESP8266 IRremote库实现格力空调控制_第7张图片

预告

接下来预计会更新三篇跟空调控制相关的文章
1.Blynk+Wemos D1 Mini+DHT22远程采集室内温湿度(已完成)
wemos D1 Mini (esp8266)实验九 — blynk APP远程控制格力空调开机并显示温湿度DHT22
2.Blynk+Wemos D1 Mini +KY-005实现远程手机控制空调开关(已完成)
物联网-wemos D1 Mini (esp8266)实验八 — blynk APP远程控制格力空调开机
3.Wemos D1 Mini+KY-022检测红外发送代码是否正确的红外接受装置

参考文献

【1】ESP8266 MQTT IR Transmitter for less than 10$ [Help Needed] :ky-022连接nodeMcu实现红外发送
https://community.home-assistant.io/t/esp8266-mqtt-ir-transmitter-for-less-than-10-help-needed/36359
【2】ESP8266 IRremote库github地址
https://github.com/markszabo/IRremoteESP8266
【3】IRrecvDumpV2.ino Experimental support for TCL A/C (#627):github官方库示例
https://github.com/markszabo/IRremoteESP8266/tree/master/examples/IRrecvDumpV2
【4】KY-005 INFRARED TRANSMITTER MODULE相关介绍连线图,fritzing库文件下载,同网站还能搜到ky-022模块资料和fritzing库
https://arduinomodules.info/ky-005-infrared-transmitter-sensor-module/
【5】Getting Started with Wemos D1 mini ESP8266 Board, DHT & Relay Shields:支持dht11/22 示例演示
https://www.cnx-software.com/2016/03/22/getting-started-with-wemos-d1-mini-esp8266-board-dht-relay-shields/
【6】格力空调红外协议解码(附python源代码)
http://www.zanks.cn/blog/ac-controller/gree-ac.html
【7】树莓派视频遥控小车 + iOS / Android / web应用 介绍了大功率的红发发射模块
https://www.jianshu.com/p/d0c8b51e9647

老王碎碎念

一篇文章足足写了3个小时。。。因为第一次用markdown,虽然三个小时,但是感觉markdown好好用哇~~~~嗷嗷 我要表白!!!

你可能感兴趣的:(wemos,d1mini)