智能家居折腾记 篇三: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  小巧玲珑-请忽略那只丑陋的手

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

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



推荐关注:
经验
标签:经验 +关注
原创新人
标签:原创新人 +关注
智能家居
分类:智能家居 +关注
#智能家居折腾记#
系列:智能家居折腾记 +关注

提示

鼠标移到标签上方,

尝试关注标签~

评论17

发表评论请 登录
  • 最新
  • 最热
  • 17楼
    09-03 21:55

    支持一下。

  • 16楼
    08-01 19:18
    1

    Domoticz 有个坑,虚拟传感器只能接收一个值,且只能是第一个值!!!!

    2

    不会吧,我的温湿度传感器就是两个值的呀,不也一样正常接收并显示出来了?

    表达有误,我指的是自定义的虚拟传感器(Custom Sensor)只有一个值。温湿度传感器是预定义好的传感器类型。

  • 15楼
    1

    Domoticz 有个坑,虚拟传感器只能接收一个值,且只能是第一个值!!!!

    不会吧,我的温湿度传感器就是两个值的呀,不也一样正常接收并显示出来了?

  • 14楼
    07-31 12:34

    Domoticz 有个坑,虚拟传感器只能接收一个值,且只能是第一个值!!!!

  • 13楼
    07-14 15:18
    芝麻信用
    1

    撸主是自动化专业?还是兴趣?这年头大妈这里都有准专业课件了,我想问想多解决点实际问题要去哪里看看?比如domoticz的同类,实现方式还有哪些?类似这样的板子还有哪,些?这块板子上其它端口都是些什么?怎么用?场景等!想遥控些灯,大电流的其它设备,继电器有没有多点的?能再用接触器放大的话怎么做?让你这篇一写,口号一喊,赶脚好多以前想想的现在应该有能做的了!折腾不息!

    还有就是现在大家或多或少都有小米的米家了!能结合着来点么?
    我不懂瞎说!撸主能往细里写写么?要有广度,手把手教的才能看明白!

    2

    自己讲的自己都没看明白!主要想了解下想要多几个开关控制如何实现?为了实现无线控制,wifi连到路由器上,这个板就放现场!

    3

    我不是自动化专业的,只是兴趣爱好,喜欢折腾。目前来说,nodemcu性价比最高了,适合新手,我也是用来练练手的。留意我下一篇文章,会用它来改造风扇。如果真能理解了我写的这几篇东西,举一反三,这块小巧的板子还可以有很多玩法的,就看你脑洞了

    感谢回复!这几天我把domoticz装好了!下了人家的ubuntu!脑洞有,现不太懂8266这货的gpio点,我多数想先从串接继电器开关来实现!市面上8266板子太多,相同的还看不懂那张接口图!如果大量接继电器,有几个gpio能用?对继电器有什么要求哇?我准备先下一单了!锡丝先来一管,第一次想买个一定量够折腾,还有在官中文站上看到了电源模块,交流到直流,直流再3.3之类的!

  • 12楼
    1

    撸主是自动化专业?还是兴趣?这年头大妈这里都有准专业课件了,我想问想多解决点实际问题要去哪里看看?比如domoticz的同类,实现方式还有哪些?类似这样的板子还有哪,些?这块板子上其它端口都是些什么?怎么用?场景等!想遥控些灯,大电流的其它设备,继电器有没有多点的?能再用接触器放大的话怎么做?让你这篇一写,口号一喊,赶脚好多以前想想的现在应该有能做的了!折腾不息!

    还有就是现在大家或多或少都有小米的米家了!能结合着来点么?
    我不懂瞎说!撸主能往细里写写么?要有广度,手把手教的才能看明白!

    2

    自己讲的自己都没看明白!主要想了解下想要多几个开关控制如何实现?为了实现无线控制,wifi连到路由器上,这个板就放现场!

    我不是自动化专业的,只是兴趣爱好,喜欢折腾。目前来说,nodemcu性价比最高了,适合新手,我也是用来练练手的。留意我下一篇文章,会用它来改造风扇。如果真能理解了我写的这几篇东西,举一反三,这块小巧的板子还可以有很多玩法的,就看你脑洞了

  • 11楼
    07-10 19:41
    芝麻信用
    1

    撸主是自动化专业?还是兴趣?这年头大妈这里都有准专业课件了,我想问想多解决点实际问题要去哪里看看?比如domoticz的同类,实现方式还有哪些?类似这样的板子还有哪,些?这块板子上其它端口都是些什么?怎么用?场景等!想遥控些灯,大电流的其它设备,继电器有没有多点的?能再用接触器放大的话怎么做?让你这篇一写,口号一喊,赶脚好多以前想想的现在应该有能做的了!折腾不息!

    还有就是现在大家或多或少都有小米的米家了!能结合着来点么?
    我不懂瞎说!撸主能往细里写写么?要有广度,手把手教的才能看明白!

    自己讲的自己都没看明白!主要想了解下想要多几个开关控制如何实现?为了实现无线控制,wifi连到路由器上,这个板就放现场!

  • 10楼
    07-10 14:54
    芝麻信用

    撸主是自动化专业?还是兴趣?这年头大妈这里都有准专业课件了,我想问想多解决点实际问题要去哪里看看?比如domoticz的同类,实现方式还有哪些?类似这样的板子还有哪,些?这块板子上其它端口都是些什么?怎么用?场景等!想遥控些灯,大电流的其它设备,继电器有没有多点的?能再用接触器放大的话怎么做?让你这篇一写,口号一喊,赶脚好多以前想想的现在应该有能做的了!折腾不息!

    还有就是现在大家或多或少都有小米的米家了!能结合着来点么?
    我不懂瞎说!撸主能往细里写写么?要有广度,手把手教的才能看明白!

  • 9楼
    07-10 09:52

    支持!干货!

  • 8楼
    07-09 23:59

    我买了个树莓派3B+接甲醛传感器...感觉太大材小用了 [尴尬] ....

  • 7楼
    07-09 22:37
    芝麻信用

    请收下我的膝盖 [赞一个]

  • 6楼
    07-09 20:38

    大佬这个简直是手把手教的

  • 5楼
    07-09 20:33

    期待楼主的下一期 [龇牙]

  • 4楼
    07-09 19:02

    好棒,支持下,自己焊了个pm25的

  • 板凳
    07-09 18:35
    芝麻信用

    还以为要滚代码,没想到连好后直接设置

  • 椅子
    07-09 16:10

    明明看不懂的我竟然还有勇气点开

  • 沙发
    07-09 13:33
    Visa淘金计划芝麻信用

    智能家居永远是个方向

评论举报

请选择举报理由

215 17

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

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

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

已收藏
去我的收藏夹 >

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

小提示