提出需求:
前几年买的热水器,因为诸多原因,最终就是没买带wifi的,后来发现在外边远程控制热水器启动还是非常有必要的。这种储热式的热水器功率一般2000w-3000w,加热一整桶水需要很长的时间,所以很多时候回家晚了,就只能等着水慢慢加热……如果能花费最少又能利用简单的装置给热水器增加一个远程wifi控制功能就好了。
需求分析:
1. 控制设备
一般的wifi远程开关几十元就能买到一个,基本都是使用继电器实现的,先将远程开关插在插座上,然后将用电器插在远程开关上。远程开关内部通过继电器实现对热水器的供电。这种方式虽然简单,但不适合热水器这种大功率需要控制的设备,主要原因如下:
a) 般远程开关的额定电流10A,热水器功率较大,频繁开关有烧掉远程开关的风险
b) (我家的)热水器通电后还需要遥控器或手动启动才能开始工作
c) 买现成的远程开关还写什么DIY文章呀!
综上,决定使用近些年来火的不能再火、便宜的不能再便宜的ESP8266集成wifi功能的soc来解决需求。
通过修改热水器内部电路的方式控制热水器比较麻烦,还不安全,pass掉这个方案。只剩下红外遥控的控制方案。嗯,不叫事,先检测一下遥控器发出的红外信号,再通过红外发射管模拟一下遥控器,轻松解决。
2. 远程控制终端(请允许我起这么高大上的名字)
设备肯定是手机,不用多说,现在米家那套智能家庭设备就用手机控制吗。当然还可以考虑平板电脑什么的,综合成本和易用还是手机划算。
界面:可以考虑app和网页,app开发难度比较大。。嗯,选择简单粗暴的网页控制,里有就这么简单。
3. 物联网平台
OneNET、机智云。。。。前几年兴起了很多物联网平台,虽然基本都是免费的,开发起来还是有点麻烦,本着简单粗暴的原则,直接在esp8266上运行个简单的web服务器,路由器端口转发到8266上,轻松访问。
开工制作:
方案定下了,接下来就是实现了,解决实际问题。
准备材料:
· esp8266 nodemcu v3(v1也可以,应为v1的3D打印外壳出了点问题,就换成v3的外壳了)
· 红外发射管(约1元5个)
· 电阻(100-200欧都行)
· 外壳(可以不用)
· 供电(microUSB电源线,手机充电器)
· 双面胶(固定外壳和红外发射管用)
系统原理 如图所示:
· esp8266(nodemcu)通过家里wifi连接公网
· 手机或者电脑通过互联网控制esp8266
· esp8266模拟原装遥控器发射红外开关信号控制热水器
· 就这么简单
手机控制界面设计:
浏览器截图,注意右上角没有使用wifi
· 简单粗暴——只整了一个大大的电源按键
· 使用流量模拟外网测试
· web界面,不是内网穿透哦,用的端口转发,不要问我公网ip啥的
完成照片
近照:
红色的是热缩管,防止短路用的,电阻就是电阻,裸露问题不太讲究,有待改进
远点的照片
经朋友提醒,卫生间湿度大,可能出问题,于是增加了一个保鲜膜,双面胶真好用!
图片中红色线的是热缩管,防止红外发射LED的引脚短路用的,别再问这么搞安全吗,不是接到220v,是通过红外模拟遥控器实现控制热水器开关的。
带改进功能
开机成功反馈功能:热水器的红外接收位置不太确定(因为这个拆热水器太麻烦了),有时在手机上点了按钮,可能不一定能启动,可以通过摄像头或者光敏电阻确认一下是否开机。
华丽的界面:人靠衣装吗,真个高大上的界面还是很有必要的,尽管需求只需要一个开机键
探出的线换成硬线:可以更加方便的查找热水器红外接收的位置,省去用胶布固定红外发射管。
电源线走线:稍微有点不讲究。
增加密码登陆:直接暴露在公网上,被熊孩子玩坏了就不好了。
热门跟贴