智能家居折腾记 篇四:打造手自一体挡位智能风扇

前文再续,书接上一回。

上一篇中,给大家介绍了如何用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输出的就可以了。

电源开关、复位开关等,淘宝随便买,尽量买质量好点的。 


16mm金属按钮电源自复位开关自锁位圆形防水点动小开关12v24v220vs.taobao.com去看看

 

16mm金属按钮开关 高凸头 点动自复位 防水 汽车喇叭 两只螺丝脚s.taobao.com去看看

 

 

先放NodeMcu的针脚定义图

图1 NodeMcu针脚定义图1 NodeMcu针脚定义

这里,我们用NodeMcu的GPIO5作为风扇挡位切换按钮的输入端,GPIO12~15分别作为1~4个挡位的输出端。(划重点,即GPIO12对应1档、13对应2档、14对应3档、15对应4档)

图2 NodeMcu连接继电器图2 NodeMcu连接继电器


二、NodeMcu刷mongoose-os固件

嗯,你没看错,这次的确不是刷Espeasy了。因为笔者用Espeasy实现不了想要的功能打造手自一体挡位智能风扇 它那个rules搞不懂,写了没反应,另外,最要命的是,笔者用的几个针脚不知为何,在Espeasy下,电平经常会跳动,导致经常神经病似的不断开开关关打造手自一体挡位智能风扇 ,要是大半夜的让它这么搞法,会心脏病的,所以果断放弃了它。

mongoose-os固件(官网),是一个开源的物联网操作系统,在它上面,你可以很方便的用JavaScript脚本写自己的方法,同样可以通过MQTT/HTTP等进行远程操控,关键是,笔者要用的那几个pin在mongoose-os上很稳定,不会时通时断打造手自一体挡位智能风扇 

在官网下载并安装好mongoose-os后,会在桌面建立一个mos的快捷方式,运行它,会自动打开默认浏览器(建议使用google chrome浏览器)。界面如下:

图3  mongoose-os刷机图3  mongoose-os刷机

留意红框位置,第一步选择相应的COM端口,点击【Select】;第二部选择要刷入的硬件及软件版本,硬件当然选择esp8266了(NodeMcu是基于esp8266的开发板),旁边软件版本笔者选择js版的,如果你对C感兴趣,可以选择C语言版本的,然后点击【Flash】即可刷机。完成后,再设置好wifi的即可把板子连接上家里WiFi了。官网上有很详细的说明,这个链接,是官网上的刷机动图,清楚的展示了整个刷机过程。(动图版本比较老,界面有一点点出入,但整体流程就是这样了)

三、写代码

代码其实很简单,就几十行,逻辑说白了逻辑就是上面第一点写的内容。如果实在不想写,直接copy过来用也行。代码传送门,提取码:5rsr

先介绍一下mongoose-os的界面,如图4

图4 mongoose-os的界面图4 mongoose-os的界面

点击图4的红框处,在【init.js】里面编写代码即可。将上面链接中的文件下载下来,用记事本打开,复制,然后在【init.js】里面直接粘贴出来,然后点击图4上面的【Save+Reboot】按钮,这样,NodeMcu部分的工作就算完成了。

四、风扇改造

首先,准备风扇一台

图5图5

在风扇你喜欢的位置,开两个圆孔,用于电源开关及换挡开关(笔者是在顶端开孔)。

如图6,红色箭头处是开圆孔的地方,红框处是NodeMcu,蓝框处是4路继电器,绿框处打算放电源。

图6图6

接线的方法:

  1. 火线串接到电源开关处;

  2. 零线统一接到继电器的各个公共端;

  3. 把旧档位开关上接着的4条电机抽头线,分别接到继电器的各个常开端(这里别接错了,不能把抽头线接到继电器的常闭端);


  4. 继电器与NodeMcu的接线,就如上文所述的方法来接;

  5. NodeMcu的GPIO5,及公共地,接到复位按钮上(即图6右边红色箭头处准备要装的开关);

  6. NodeMcu一级继电器的电源,统一接到图6的绿色框框处的电源上。


完成接线的情形,应该如图7:

图7图7

完成后,即可通电尝试,先开电源,完了后,按档位键,风扇应该依次切换1、2、3、4、0档。

这里有个坑,图7中的5v电源,笔者是淘宝买的,输出是5v/700mA,但装上后发现,档位切换到2档后,死活切不了3档,怎么按按钮都没反应。后来发现是这个电源不稳定导致的,用充电宝给NodeMcu接上电,就非常稳定了。所以最后,笔者是直接用一个手机充电头给替换掉了,换上后一切正常,非常稳定。最终的完工图如下

图8图8

图9图9

到此,硬件方面就完成了,风扇可以离线手动控制,时间关系,今天先写这些,下一篇会给大家介绍如何在Domoticz里面设置,以实现根据时间自动调整风扇档位,敬请期待~!




推荐关注:
经验
话题:经验 +关注
生活记录
话题:生活记录 +关注
智能家居
话题:智能家居 +关注
非必需家电研究所
话题:非必需家电研究所 +关注
台扇
分类:台扇 +关注
智能家居折腾记
系列:智能家居折腾记 +关注

提示

鼠标移到标签上方,

尝试关注标签~

评论43

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

536 43

关注数量超出限制,请先删除部分内容再尝试

关注数量超出限制,
请先删除部分内容再尝试

登录
注册
用户名/邮箱
密码
验证码
看不清?点击更换
看不清?点击更换 忘记密码?

已收藏
去我的收藏夹 >

已取消收藏
去我的收藏夹 >

小提示