智能家居折腾记 篇四:打造手自一体挡位智能风扇
前文再续,书接上一回。
上一篇中,给大家介绍了如何用NodeMcu结合Espeasy固件,打造了一台廉价智能新风机。至于效果,笔者可以很负责任的说,非常好。约5平米的小房间,晚上密闭开空调+新风机的情况下,二氧化碳浓度可以维持在1000~1300左右;而不开新风机的话,二氧化碳浓度狂飙至3000以上,早上起来都觉得头晕脑胀的。对于这个效果,很满意了。
当时在结尾,已经预告过,将会做一个“手自一体挡位的智能风扇”。为何呢?这源于春夏之交的某一天,家人突然抱怨,晚上睡觉风扇太不方便了:刚睡下的时候很热,风扇自然开得猛一些,但睡到下半夜,风扇太猛又觉得有点凉,起来关又觉得很麻烦!既然有了需求,那就只能干活啰。于是就有了这篇文章了。
首先要给大家说声抱歉,其实这个改造7月份就开始了,并且7月底已经基本完工,只是突然有一堆事,只好把这篇文章搁置了。适逢国庆长假,7天里面4天加班 再花两天陪陪家人,剩下最后一天,才抓紧时间把功课完成了,让各位久等,实在抱歉。
好,闲话少说。在入正题之前,我们循例需要先喊口号打鸡血:
生命不息,折腾不止!
一、要实现的效果
1)根据领导的意见,我们需要实现的效果是:
1. 风扇上面有两个按钮,一个是电源,一个是挡位切换;
2. 打开风扇电源后,风扇默认0档(停止);
3. 每按一次挡位切换键,风扇从当前挡位,跳到下一挡位,如果当前挡位是4,则跳回到0档,如此循环;
4. 从Domoticz端可以控制风扇任意切换挡位,即可以从1档直接跳到3档;
5. 在Domoticz添加触发条件,实现自动控制风扇。
2)要实现上述效果,笔者的思路是这样的:
1. NodeMcu接受按钮点击事件,并触发规则控制各GPIO口的通断;
2. NodeMcu通过各GPIO口连接继电器,控制继电器开关,从而控制风扇电机各个抽头;
3. NodeMcu通过wifi接收Domoticz传出的指令,直接控制各GPIO口的通断,从而控制继电器。
3)用到的硬件
NodeMcu v3,这个板是必须的,淘宝上多的是,大家随便搜索即可。
4路继电器,这个因应自己风扇来买,笔者打算改的风扇有4档,所以买个4路的,很多只有3档的风扇,买个3路的即可。这个淘宝上也是很多,但笔者建议大家买个好点的,之前买了一个,结果发现那个继电器有点问题,GPIO口明明输出高电平了,继电器却死活不通,后来无意中敲了一下,它居然通了!! 原来买了劣质继电器,每次非得敲几下它才接合,还以为代码哪里出错了, 折腾了好几个晚上。说多了都是泪!
USB充电头,这个随便用一个1A输出的就可以了。
电源开关、复位开关等,淘宝随便买,尽量买质量好点的。
先放NodeMcu的针脚定义图
这里,我们用NodeMcu的GPIO5作为风扇挡位切换按钮的输入端,GPIO12~15分别作为1~4个挡位的输出端。(划重点,即GPIO12对应1档、13对应2档、14对应3档、15对应4档)
二、NodeMcu刷mongoose-os固件
嗯,你没看错,这次的确不是刷Espeasy了。因为笔者用Espeasy实现不了想要的功能 它那个rules搞不懂,写了没反应,另外,最要命的是,笔者用的几个针脚不知为何,在Espeasy下,电平经常会跳动,导致经常神经病似的不断开开关关 ,要是大半夜的让它这么搞法,会心脏病的,所以果断放弃了它。
mongoose-os固件(官网),是一个开源的物联网操作系统,在它上面,你可以很方便的用JavaScript脚本写自己的方法,同样可以通过MQTT/HTTP等进行远程操控,关键是,笔者要用的那几个pin在mongoose-os上很稳定,不会时通时断
在官网下载并安装好mongoose-os后,会在桌面建立一个mos的快捷方式,运行它,会自动打开默认浏览器(建议使用google chrome浏览器)。界面如下:
留意红框位置,第一步选择相应的COM端口,点击【Select】;第二部选择要刷入的硬件及软件版本,硬件当然选择esp8266了(NodeMcu是基于esp8266的开发板),旁边软件版本笔者选择js版的,如果你对C感兴趣,可以选择C语言版本的,然后点击【Flash】即可刷机。完成后,再设置好wifi的即可把板子连接上家里WiFi了。官网上有很详细的说明,这个链接,是官网上的刷机动图,清楚的展示了整个刷机过程。(动图版本比较老,界面有一点点出入,但整体流程就是这样了)
三、写代码
代码其实很简单,就几十行,逻辑说白了逻辑就是上面第一点写的内容。如果实在不想写,直接copy过来用也行。代码传送门,提取码:5rsr
先介绍一下mongoose-os的界面,如图4
点击图4的红框处,在【init.js】里面编写代码即可。将上面链接中的文件下载下来,用记事本打开,复制,然后在【init.js】里面直接粘贴出来,然后点击图4上面的【Save+Reboot】按钮,这样,NodeMcu部分的工作就算完成了。
四、风扇改造
首先,准备风扇一台
在风扇你喜欢的位置,开两个圆孔,用于电源开关及换挡开关(笔者是在顶端开孔)。
如图6,红色箭头处是开圆孔的地方,红框处是NodeMcu,蓝框处是4路继电器,绿框处打算放电源。
接线的方法:
火线串接到电源开关处;
零线统一接到继电器的各个公共端;
把旧档位开关上接着的4条电机抽头线,分别接到继电器的各个常开端(这里别接错了,不能把抽头线接到继电器的常闭端);
继电器与NodeMcu的接线,就如上文所述的方法来接;
NodeMcu的GPIO5,及公共地,接到复位按钮上(即图6右边红色箭头处准备要装的开关);
NodeMcu一级继电器的电源,统一接到图6的绿色框框处的电源上。
完成接线的情形,应该如图7:
完成后,即可通电尝试,先开电源,完了后,按档位键,风扇应该依次切换1、2、3、4、0档。
这里有个坑,图7中的5v电源,笔者是淘宝买的,输出是5v/700mA,但装上后发现,档位切换到2档后,死活切不了3档,怎么按按钮都没反应。后来发现是这个电源不稳定导致的,用充电宝给NodeMcu接上电,就非常稳定了。所以最后,笔者是直接用一个手机充电头给替换掉了,换上后一切正常,非常稳定。最终的完工图如下
到此,硬件方面就完成了,风扇可以离线手动控制,时间关系,今天先写这些,下一篇会给大家介绍如何在Domoticz里面设置,以实现根据时间自动调整风扇档位,敬请期待~!
macbex
校验提示文案
多宝奇兵
校验提示文案
骑马过仇海
校验提示文案
小小值小师妹
但还是感觉很厉害的样子。。给老铁刷个小飞机 价值18金币 打赏打赏啦~~
校验提示文案
誰可相伴
校验提示文案
HiEcho
校验提示文案
黑手大魔王
校验提示文案
丽若夏花
校验提示文案
luckyhsu
校验提示文案
冰镇菠萝
校验提示文案
大悲心
这个继电器 如何在nodemcu重启 或者停电时 保持现状呢?
比如接了个灯,老是担心夜里会时亮时灭,有点吓人。。
校验提示文案
回转三文鱼
校验提示文案
恩格斯来了
校验提示文案
四眼小犀牛
校验提示文案
ccpoint
校验提示文案
wyx567
校验提示文案
AveZhang
校验提示文案
国产大宝剑
校验提示文案
国产大宝剑
校验提示文案
奇多爸爸
校验提示文案
[已注销]
校验提示文案
boyce小布
校验提示文案
码农弄码
校验提示文案
无敌真寂寞
校验提示文案
Yatding
校验提示文案
岸久武约伊
校验提示文案
luckyhsu
校验提示文案
nzl5423
校验提示文案
蹁跹
校验提示文案
陆玥柒
校验提示文案
誰可相伴
校验提示文案
火腿村的喵叔
校验提示文案
hmil2
校验提示文案
无所谓2010
校验提示文案
值友7662418051
校验提示文案
睡个觉真不容易
校验提示文案
任晓江
校验提示文案
littlebeastie
校验提示文案
nathan2046
校验提示文案
衤刀_见
校验提示文案