快捷导航
 
智能家居折腾记 篇三:Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz
VIEW CONTENTS

智能家居折腾记 篇三:Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz

2019-2-23 00:00| 发布者: 智能硬件专家| 查看: 146| 评论: 0|原作者: 智能硬件专家|来自: 网络

智能家居折腾记 篇三:Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz

小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。详细活动规则,请猛戳此链接!

前文再续,书接上一回。

所谓的智能家居,目前能较易实现的场景,其实就是某个规则处理中心(在本例中是Domoticz),获得周边的一系列传感器(本例中是二氧化碳传感器)传回的值后,根据设定好的规则,对接入其中的设备(本例中是小米空净2)进行控制。

在该系列的第一篇中,为大家介绍了如何在虚拟机上架设Domotica以及MQTT服务器。在第二篇,给大家介绍了如何把小米空净2给接到Domoticz上,同理,大部分小米智能家居设备都能通过相同的方式接入,其他品牌或者一些DIY的传感器,只要支持MQTT协议,都能非常方便的对接到Domoticz之中,实现家里所有智能设备的集中管理。

那么在这一篇中,楼主将带大家一步一步DIY一个二氧化碳检测器,并将该传感器接入到Domoticz上。本篇的内容,需要有一定的动手能力,不过以楼主这种手残架势,也能做出来,大家也就可以放胆去动手,只要胆大心细,跟着楼主一步一步来,还是很容易成功的。

好,喊口号时间到了,大家一起来:生命不息,折腾不止!

硬件购买

Nodemcu v3

首先出场的是我们的Nodemcu板,这个是非常好用方便的物联网开发板,自带USB转串口芯片,自带wifi,有多个GPIO接口,可以连接多个传感器。这里就是利用它,读取二氧化碳传感器的数值,然后通过wifi传到Domoticz上。在淘宝上有很多卖家,随便找一个销量大的买就可以了,16元左右,包邮。

nodemcu v3_淘宝搜索s.taobao.com去看看

 买的时候留意,一般有两种版本,一种的串口芯片是国产的CH340,普遍十几元的都是这种;另一种是进口的CP2102,要贵点,一般二十多一块。楼主用的是CH340的,用下来也很稳定,毕竟也就刷固件那一下需要接到USB上,刷完固件后所有操作都可以通过wifi操作,省下几块钱吃个雪糕在这大热天也挺舒畅的Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz 

这块板子是长这样的

淘宝上的图淘宝上的图

二氧化碳传感器

二氧化碳传感器有几种,淘宝上搜索一下就可以,楼主买的是“SenseAir S8-0053”,主要是体积小巧。

senseair s8_淘宝搜索s.taobao.com去看看

 

S8S8

温湿度传感器

温湿度传感器,起初楼主用的是DHT11,接上后发现精度是到整数的,感觉不爽,换了个AM2320的模块,精确到小数点后一位,似乎更能装逼Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz 

 

AM2320模块 数字温湿度传感器 单总线和I2C通信 替代AM230210.8元淘宝精选去购买

 这种比较方便,直接用杜邦线就能接,省的折腾。

其他零配件

其他零配件,包括杜邦线、喷锡洞洞板、2.54MM的排针、排座、电络铁、锡线、万能表等等,各位视情况来买,不一定全部都要用到,可以先想清楚,一次过购买。毕竟排针排座洞洞板之类的东西,几毛钱、一两块钱,你让店家包邮也说不过去。

Nodemcu刷ESPEasy固件

好了,硬件都买齐后,现在开始动手将Nodemcu刷入固件。固件可以刷官方的,也可以刷ESPEasy,由于ESPEasy更友好,更傻瓜,所以本例中使用它。如果有兴趣,大家可以多买一块Nodemcu板,自己刷入官方固件学习。官方固件可以使用Arduino IDE进行开发,这里不展开讨论。

下载固件

首先,到ESPEasy官网下载固件,链接

下载回来后,把文件解压到同一目录下备用。

图1图1

查看COM口信息

要刷固件,首先需要知道你的Nodemcu连在那个COM口上,请按照以下步骤获取:

将Nodemcu板用usb线接入电脑,windows7以上系统应该能自动安装驱动,无需人工干预。

右击【计算机】->【管理】,在【设备管理器】下面查看

图2图2

图3图3

如果你有多个COM口,没关系,马上插拔一下Nodemcu的USB线,看看那个消失了,又重新出现了,就知道那个COM口连着你的Nodemcu了。

双击你的COM口,按照上图红框所示设置好即可。

刷入固件

在刚刚解压出来的固件目录下,包含有刷固件工具“FlashESP8266.exe"。在Windows下直接运行这个文件:

图4图4

【COM-Port】选择你的Nodemcu板虚拟出来的串口号,【Firmware】选择相应的固件版本,这里我们选择normal、4096的版本。然后点击Flash,就开始刷入固件了,是不是非常傻瓜,非常简单?

图5图5

将Nodemcu连入wifi

刷完后,我们就可以将Nodemcu连接到家里的wifi了。首先将电脑的wifi断开,搜索附近热点,你会看到有一个叫“ESP_EASY_0”的热点,连上去,密码是“configesp”

图6  将电脑连接到ESPEasy图6  将电脑连接到ESPEasy

连上去后,打开浏览器,地址栏输入http://192.168.4.1  即可登陆到ESPEasy的管理界面。

在这里,选择你自己家里的wifi,并输入wifi密码,即可将Nodemcu连接到你家里路由了。

图7  选择你家里的wifi图7  选择你家里的wifi

完成后,再将电脑连接回你家里wifi网络,到路由器查看一下自动分配给Nodemcu的IP地址,通过浏览器访问该IP地址,即可登陆到Nodemcu进行管理设置了。

图8  ESPEasy管理界面图8  ESPEasy管理界面

传感器连接

接下来,我们需要把传感器接入到Nodemcu,最主要的当然是二氧化碳传感器了,另外,还接入了一个温湿度传感器。

首先,看看Nodemcu的针脚定义图

图9  Nodemcu的针脚定义图图9  Nodemcu的针脚定义图

这里,楼主将温度传感器的SDA口接在D3(GPIO0)接口上

图10  AM2320的针脚定义图10  AM2320的针脚定义

将二氧化碳传感器的UART_RxD用杜邦线,接到Nodemcu的D7(GPIO13)上,UART_TxD接到Nodemcu的D8(GPIO15)上。

图11  SenseAir S8的针脚定义图11  SenseAir S8的针脚定义

接好后的图如下:

图12图12

关于电源问题,这里要提一下各位,Nodemcu的板上,提供了一组5v输出,在VU口,其他的都是3.3v输出,不能驱动两个传感器。因此上图中,楼主用了个洞洞板,加上下面这个USB电源接口,自己焊了个分线口,把USB分了三组出来,分别供Nodemcu、二氧化碳传感器以及温湿度传感器使用。用的USB电源接口是这种:

 

microusb转DIP_淘宝搜索s.taobao.com去看看

 这块板可以很容易的焊上排针,接上洞洞板,就能很方便的扩展出几路5v输出了。

Nodemcu设置

 按照上面的方法,把电源解决好,线都接好后,就可以接通Nodemcu的电源,然后用浏览器登陆设置页进行设置了。

首先,配置好MQTT

温度传感器需要通过MQTT,把状态传输给Domoticz。点击【Controllers】->【Edit】

图13  MQTT设置图13  MQTT设置

按照下图的配置填好,其中,【Protocol】选择“Domoticz MQTT”;【Controller IP】、【Controller Port】、【Controller User】、【Controller Password】分别填写你自己的MQTT服务器的相关信息,其余保留默认。最后的【Enabled】勾上,最后点击【Submit】提交保存。

图14  配置MQTT图14  配置MQTT

配置传感器

接下来,转到【Device】页面,点击【Edit】按钮(下面这个截图已经配置好了的,大家新板子应该全部为空)

图15  配置温湿度传感器图15  配置温湿度传感器

【Device】下拉菜单,选择“Environment-DHT11/12/22 SONOFF2301/7021”

图16  配置温湿度传感器图16  配置温湿度传感器

下图中,Name可以随便起。如果你是按照楼主上面介绍的方法,把温湿度传感器接到Nodemcu的D3口,那么按照下图配置即可,否则,请将【1st GPIO】下拉菜单选择为相应的接口即可。【DHT Type】选择“DHT 22”。【Send to Controller】请勾选,【IDX】请先随便写一个数字,等会再修改。【Interval】是刷新频率,单位是秒,这里填的是10秒,具体视大家的需求随便改。

【Values】下面的两栏,是传感器名字及公式,用于修正输出值。其中,【Name】是传感器名称,第一个是温度,第二个是湿度。【Formula】是输出修正(或格式化),楼主因为把温度传感器跟Nodemcu塞在一个很小的盒子里面,Nodemcu板子本身会有一点发热,导致温度不准,经过测试,把温度值降低2.5度,就跟测得的室温一致了,所以这里按下图修正了-2.5度。【Decimals】是指读取的值,保留多少位小数。AM2302精度好像就是到小数点后一位,所以这里就写1。最后点击【Submit】提交保存。

图17  配置温湿度传感器图17  配置温湿度传感器

接下来,配置二氧化碳传感器

在【Device】页下,点击第二个【Edit】,进入下面的设置页面。

同样,如果你是按照楼主上面的说法来接线的,那么配置页也按照下图来设置即可。【Name】依然是随便起的名字。【1st GPIO】选择“D7”;【2nd GPIO】选择“D8”;【Sensor】选择“Carbon Dioxide”;勾选【Send to Controller】;【IDX】依旧随便填一个数字;【Interval】依旧填“10”;【Values】下面的【Name】随便,这里填“co2”;【Formula】留空;【Decimals】填“0”。最后点击【Submit】提交保存。

Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz

此时,如果接线及配置都正确,应该在【Device】页下就能看到Nodemcu读取的传感器的数值了:

图19  配置好的Nodemcu图19  配置好的Nodemcu

如果是这样,那么恭喜你,你已经非常接近成功了!!

Domoticz读取传感器数值

到目前为止,Nodemcu已经能正确读取传感器的值了,剩下需要做的,就是把数值传输到Domoticz上。

在Domoticz上配置MQTT

首先,在右上角【设置】->【硬件】菜单下,新建一个【类型】为“MQTT Client Gateway with LAN interface”的硬件,【名称】随意,【设备地址】、【端口】两栏填写你的MQTT服务器地址及端口号,用户名、密码填上MQTT的用户名及密码。【Publish Topic】选择“out + /”,完成后点击【增加】保存。如下图:

图20图20

添加虚拟开关

然后,在同样的地方,添加一个虚拟开关:【类型】为“Dummuy (Does nothing, use for virtual switchs only)”其余保持默认,点击【增加】按钮保存。

图21图21

如图21中红框,在刚刚新建的虚拟开关下,点击【创建虚拟传感器】,【名称】可以填写“温湿度”,【传感器类型】选择“温度+湿度”,如下图:

图22  添加温湿度传感器到Domoticz图22  添加温湿度传感器到Domoticz

接下来,同样的方法,添加二氧化碳传感器,但【传感器类型】选择“Custom Sensor”,【图表纵轴标签】填写“ppm”,如下图:

图23  添加二氧化碳传感器到Domoticz图23  添加二氧化碳传感器到Domoticz

接下来,点击【设置】->【设备】菜单,列表中应该能看到刚刚新建的两个传感器,记下这里的设备IDX值。如楼主的情况,在Domoticz里面,温湿度传感器及二氧化碳浓度传感器在Domoticz中的IDX分别为39、40(如图24)

图24  记下IDX的值图24  记下IDX的值

然后回到Nodemcu设置中,【Device】页下面,修改各自的“Controller IDX”。在Nodemcu的配置中,对应的传感器“Controller IDX”也设置为响应的值(如图25、图26)

图25  根据Domoticz里面设备的IDX值修改Nodemcu传感器的IDX值图25  根据Domoticz里面设备的IDX值修改Nodemcu传感器的IDX值

图26  根据Domoticz里面设备的IDX值修改Nodemcu传感器的IDX值图26  根据Domoticz里面设备的IDX值修改Nodemcu传感器的IDX值

完成上面的设置后,在Domoticz的【设备】菜单下,应该就能看到传感器的值了。

图27  Domoticz中读取到的传感器数值图27  Domoticz中读取到的传感器数值

那么恭喜各位,所有工作均已完成,接下来,就是在Domoticz中添加相应的规则了。

Domoticz自动化规则设置

Domoticz的自动化规则,不需要大家有任何编程能力,只需要有鼠标操作能力即可Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz 因为它提供了一种叫“Blockly”的图形化规则引擎,只需动动手指,即可设定一连串规则,非常方便。

菜单路径:【设置】->【更多选项】->【事件触发器】

图28图28

如下图,是楼主设置的一些简单条件,当然大家可以根据自身情况,设置很复杂的逻辑也是可以的。

图29图29

大家只需要在左边的【Logic】选择相应的逻辑条件块,然后在【Device】下选择相应的设备,就能建立起来,非常简单,大家动动手摸索一下,很容易的,这部分就不在此细说了。


这篇的内容稍微多了一点,楼主是希望尽可能详细的把每一个步骤都写清楚,让大家少掉坑里面。各路高手大神就请多多海涵,哈哈哈~~

最后,再上一波楼主手残手做的二氧化碳及温湿度传感器

图30  盒子图30  盒子

图31 接线妥当图31 接线妥当

图32  装箱-里面用热熔胶粘紧图32  装箱-里面用热熔胶粘紧

图33  电源口及温湿度传感器在侧面图33  电源口及温湿度传感器在侧面

图34  CO2传感器在前面图34  CO2传感器在前面

图35  合上盖子图35  合上盖子

图36  小巧玲珑-请忽略那只丑陋的手图36  小巧玲珑-请忽略那只丑陋的手

好啦,本期内容就到此了。下一期,楼主将带大家打造手“自一体档位的电风扇”。不过呢,这个还没开始动工,最近工作又比较忙,可能要晚一点才能写出来给大家啰。如果大家喜欢,请随时留意更新啰,再次感谢大家的支持~!

最后,又是鸡血时间了,大家一起来:生命不息,折腾不止!!






Tab标签:

鲜花

握手

雷人

路过

鸡蛋

最新评论

推荐快讯更多

乐居居-让生活更智能!

  • 反馈建议:153890879@qq.com
  • 客服电话:
  • 工作时间:周一到周五

云服务支持

精彩文章,快速检索

关注我们

Copyright乐居居  Powered by©  备案号:湘ICP备15009499号-1