|
本帖最后由 Beautiful_Now 于 2020-1-2 16:41 编辑
让家里的空调也能远程控制
我们这里借用点灯科技的bliker平台(平台地址https://diandeng.tech/home)(侵删)
使用到的硬件有:
- 智能音箱(小爱同学,天猫精灵,小度等)本帖主自己使用的是小爱同学
- 8266(nodemcu
- 红外发射模块
- 空调(我这里使用的格力)
实物如图所示(图在结尾)
使用到的软件有:
vscode 1.40.2(https://code.visualstudio.com/Download)
8266nodemcu开发版,
8266IRremote库(库地址:https://github.com/crankyoldgit/IRremoteESP8266)库文件下载并解压后放到arduinoIDE的库中
如有基础不会的请到arduino中文社区学习:https://www.arduino.cn/thread-1066-1-1.html
准备工作完成。
接下来打开8266IRremote库中的示例
CommonAcControl链接:https://pan.baidu.com/s/1SaIe0h7QOUa4IrjbDIbunQ
示例介绍:尝试打开,然后关闭我们所知道的所有完全支持的A/C协议。
* o它会尝试将空调装置调至25摄氏度的冷却模式,并使用介质
*风扇速度快,没有风扇摆动。
*注意:一些协议支持我们只需要使用这个示例了解你所想控制的空调所支持的协议,如果他能控制你会看到空调打开5秒后关闭
我们对示例代码进行简单的修改
[mw_shl_code=arduino,true]const uint16_t kIrLed = 4; // The ESP GPIO pin to use that controls the IR LED.
[/mw_shl_code]
修改后为(当然你也可以不进行修改,默认为GPIO4==D2
[mw_shl_code=arduino,true]const uint16_t kIrLed = 16;
//我们把控制引脚设置16在nodemcu上为D0,这样的好处GPIO16号脚接了LED方便我们查看是否有输出,[/mw_shl_code]
然后上传代码,完成后打开串口调试信息方便对照实际现象和查看对应的协议名称 示意图在帖末(为了方便我们使用协议我们只需要知道协议在协议库中的排序序号)
经帖主测试(帖主比较穷只有格力和aux空调他们分别的序号是18和48)
PProtocol 18 / KELVINATOR is supported.rotocoKELVINATOR is supported.
Protocol 48 / ELECTRA_AC is supported.
拿到协议序号我们就可以进行下一步
下载blinkerAPP并完成注册
https://diandeng.tech/doc/app-download
在app中添加设备,获取Secret Key- 进入App,点击右上角的“+”号,然后选择 添加设备
- 点击选择Arduino > WiFi接入
- 复制Key
- 在程序(链接:链接:https://pan.baidu.com/s/17jP8MX4hUl3nnxtWqwjW8A 提取码:gg8x 复制这段内容后打开百度网盘手机App,操作更方便哦
)中找到如下变量,
填入你申请到的Secret Key(auth)和要连接的WiFi热点名(ssid)、密码(pswd),如
[mw_shl_code=arduino,true]char auth[] = "abcdefghijkl"; //上一步中在app中获取到的 Key
char ssid[] = "abcdefg"; //你的WiFi热点名称
char pswd[] = "123456789"; //你的WiFi密码[/mw_shl_code]
更改我们拿到的协议序号
[mw_shl_code=arduino,true]//设置空调厂商(18格力,48aux)
int firm = 18;[/mw_shl_code]
编译并上传程序到esp8266开发板
你就可以远程控制你的家的空调了。
由于帖主第一次写帖子,可能写的很粗糙,希望大家见谅,如有问题,欢迎大家指出。
本帖涉及多个网站及教程如有侵权,联系删除529548499@qq.com。
|
-
-
协议
|