DIY 物联网ESP8266 魔改智能电饭煲,只要改改规则脚本,会用电烙铁就能用,低成本低门槛。
购买理由
为了到家就可以直接炒菜,不用等煮米饭的时间,就要一个能Wi-Fi进行远程操控的电饭煲,但是旧电饭煲是5L 而且是800W(快速煮饭30分钟搞定),丢掉有点浪费,魔改一下实现智能化又能继续用了。这样到家后五六分钟就可以很快的吃上一顿热乎的饭菜了。
实现思路
使用8266控制继电器,继电器控制电饭煲的按钮。举一反三其他设备也能这样魔改,例如遥控按钮,风扇按钮。
我在魔改电饭煲之前,已经准备B计划:把新的电饭煲加入购物车,建议大家也准备好B计划。
材料和准备
材料:①ESP8266-NodeMCU板一块,
②NEC UD2-3NU继电器8个+ 电线,
④ESP easy固件:ESP_Easy_mega_20211105_normal_ESP8266_1M.bin
下载地址:https://github.com/letscontrolit/ESPEasy/releases
备注:我这电饭煲7个按钮,如果开关只有1-2个可以用ESP01板,节省空间和成本。继电器可以买多一些备用。
继电器电路图
NEC UD2-3NU能直接用3V电压驱动, 由于ESP8266-NodeMCU板的GPIO,拉起高电平可以输出3V电压,所以能做到接线即用,省事。
NEC UD2-3NU继电器接线定义:搜索uc2-3nj.pdf 能找到详细手册
接下来拆机和焊接电饭煲开关,经测试开关直流电压5v左右,能用继电器,这里提醒一下,有些设备的开关会带电,记得要测测再接继电器,以免烧坏继电器(最大负载220V1A),例如有些车库卷闸门的电动机,有线开关是220V交流电,是不能这样魔改,但是可以尝试魔改无线遥控。
因为8266的GPIO在启动时会有不稳定性,开机启动时有的接口会拉起高电平,只有D1、D2稳定,需要用D1接口来做个总开关。
NodeMCU板是USB充电器供电的,由于都是弱电,就随便找了个快递盒子做外壳,非常的“妈见打”。
软件部分
由于是使用NodeMCU板,接USB线刷机很方便,备注:刷机后,重启,设备会发射一个叫做ESP_Easy_0的无线信号,ESPEasy 固件默认密码:configesp。成功后进入浏览器打开192.168.4.1进入页面设置网络和固定IP。
接下来配置 ESPEasy 固件
(一)ESPEasy的Hardware设置:需要把一些已配置的 GPIO 改为【- None -】
(二)到 Advanced Settings (http://<espeasyip>/advanced)设置:①关闭【 Enable Serial port 】,②打开【Rules: 】
(三)到 Devices 设置引脚的功能,如下图:
调试和编写规则脚本
由于 ESPEasy 固件能能用http激活程序。
焊接好继电器的线后可以先测试一下,使用下面命令来测试各个开关,等测试通过再焊接到电饭煲的开关。
浏览器访问一下地址即可激活程序:
GPIO 5拉起高电平:http://<espeasyip>/control?cmd=GPIO,5,1
访问一下地址刷新Hardware设置页面发现D1后面的数字0→1,说明 D1 接口输出3V电压,现在可以用万用表测测继电器是否正常驱动。
GPIO 5下拉低电平:http://<espeasyip>/control?cmd=GPIO,5,0
此时D1 接口输出0V电压,继电器恢复。
http://<espeasyip>/control?cmd=GPIO,4,1
http://<espeasyip>/control?cmd=GPIO,4,0
http://<espeasyip>/control?cmd=GPIO,0,1
http://<espeasyip>/control?cmd=GPIO,0,0
各个继电器测试成功后可接入引线了。
最后,编写规则脚本来实现自动按钮:
浏览器访问命令启动快速煮饭:
http://<espeasyip>/control?cmd=event,cmdControl=8
浏览器访问命令单按钮触发:
http://<espeasyip>/control?cmd=event,cmdControl=1
http://<espeasyip>/control?cmd=event,cmdControl=2
……
http://<espeasyip>/control?cmd=event,cmdControl=7
备注:按钮功能需要按实际编写,互联网局域网穿透问题,如果不会,可以网络搜索教程
命令接线对照:
1,GPIO:4,D2,按钮, 保温、取消
2,GPIO:0,D3,按钮, 炊煮时间
3,GPIO:2,D4,按钮, 开始(按2次再加热)
7,GPIO:14,D5,按钮, 功能选择
5,GPIO:12,D6,按钮, 时 Hr (停用,只有2v,电压不够3V)
6,GPIO:13,D7,按钮, 分 Min
7,GPIO:16,D0,按钮, 预约
8,功能, 快速煮饭
把下面规则脚本复制到ESPEasy固件的【Rules】页面:
on System#Boot do //某些接口默认拉起高电平,现在开机后自动设置低电平
GPIO,0,0
GPIO,2,0
let,1,0
endon
on cmdControl do
GPIO,5,1
if %eventvalue%=8 and [int#1]<>1 //快速煮饭
let,1,1 //临时变量1=1
let,2,1 //临时变量2=1
timerSet_ms,2,200 //激活Rules#Timer=2 程序
endif
if %eventvalue%=1
GPIO,4,1
timerSet_ms,1,200
endif
if %eventvalue%=2
GPIO,0,1
timerSet_ms,1,200
endif
if %eventvalue%=3
GPIO,2,1
timerSet_ms,1,200
endif
if %eventvalue%=4
GPIO,14,1
timerSet_ms,1,200
endif
if %eventvalue%=5
GPIO,12,1
timerSet_ms,1,200
endif
if %eventvalue%=6
GPIO,13,1
timerSet_ms,1,200
endif
if %eventvalue%=7
GPIO,16,1
timerSet_ms,1,200
endif
endon
On Rules#Timer=2 do //快速煮饭
if [int#2]=1
GPIO,14,1
endif
if [int#2]=2
GPIO,14,0
endif
if [int#2]=3
GPIO,4,1
endif
if [int#2]=4
GPIO,4,0
endif
if [int#2]=5
GPIO,14,1
endif
if [int#2]=6
GPIO,14,0
endif
if [int#2]=7
GPIO,2,1
endif
if [int#2]=8
GPIO,2,0
endif
let,2,[int#2]+1
if [int#2]>8
let,1,0
timerSet_ms,2,0
endif
if [int#2]<=8
timerSet_ms,2,200
endif
endon
On Rules#Timer=1 do
if [D1#SwitchD1]=1
gpio,5,0
endif
if [D2#SwitchD2]=1
gpio,4,0
endif
if [D3#SwitchD3]=1
gpio,0,0
endif
if [D4#SwitchD4]=1
gpio,2,0
endif
if [D5#SwitchD5]=1
gpio,14,0
endif
if [D6#SwitchD6]=1
gpio,12,0
endif
if [D7#SwitchD7]=1
gpio,13,0
endif
if [D0#SwitchD0]=1
gpio,16,0
endif
timerSet_ms,1,0
endon
页面能设置4个规则脚本, 1-4 都是同时激活使用的,更多程序可参考以上脚本按需增加。
使用感受
现在下班时提前激活煮饭命令,这样到家后五六分钟就可以很快的吃上一顿热乎的饭菜了。
总结
以上的教程主要是抛砖引玉,这种魔改的门槛低,不需要编译固件,不需要注册或绑定平台,也不用下载其他程序或app,使得电器设备加入物联网更简单。
值站用户
校验提示文案
值友3193078999
校验提示文案
欧阳_凤
校验提示文案
欧阳_凤
校验提示文案
值友3193078999
校验提示文案
值站用户
校验提示文案