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

2018-07-09 13:12:07 50点赞 363收藏 30评论

前文再续,书接上一回。

所谓的智能家居,目前能较易实现的场景,其实就是某个规则处理中心(在本例中是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 小巧玲珑-请忽略那只丑陋的手

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

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



展开 收起

nodemcu v3_淘宝搜索

nodemcu v3_淘宝搜索

暂无报价 去购买

senseair s8_淘宝搜索

senseair s8_淘宝搜索

暂无报价 去购买

AM2320模块 数字温湿度传感器 单总线和I2C通信 替代AM2302

AM2320模块 数字温湿度传感器 单总线和I2C通信 替代AM2302

暂无报价 去购买

microusb转DIP_淘宝搜索

microusb转DIP_淘宝搜索

暂无报价 去购买

乐天派 人体存在传感器居基础感应控制Matter双生态多平台Mijia IOS Homekit六种数据探测 传感器

乐天派 人体存在传感器居基础感应控制Matter双生态多平台Mijia IOS Homekit六种数据探测 传感器

294元起

Xiaomi 小米 米家智能插座3

Xiaomi 小米 米家智能插座3

48.9元起

Xiaomi 小米 DMWG03LM 智能多模网关2 白色

Xiaomi 小米 DMWG03LM 智能多模网关2 白色

181.8元起

Xiaomi 小米 ZSWG01CM 智能中枢网关 黑色

Xiaomi 小米 ZSWG01CM 智能中枢网关 黑色

191.79元起

MIJIA 米家 MJYDOAYL 自动感应夜灯 白色

MIJIA 米家 MJYDOAYL 自动感应夜灯 白色

16.9元起

京东京造 TH1 时钟温湿度计 白色

京东京造 TH1 时钟温湿度计 白色

29.9元起

MIJIA 米家 1S 增强版 智能台灯 白色

MIJIA 米家 1S 增强版 智能台灯 白色

156元起

Xiaomi 小米 无线开关 蓝牙版

Xiaomi 小米 无线开关 蓝牙版

32.9元起

HUAWEI 华为 智能门锁 Plus AI 3D人脸解锁快准稳 AI指纹锁

HUAWEI 华为 智能门锁 Plus AI 3D人脸解锁快准稳 AI指纹锁

2899元起

linptech 领普 智能无线开关KS1Pro屏显温湿度传感器智能联动免布线遥控开关

linptech 领普 智能无线开关KS1Pro屏显温湿度传感器智能联动免布线遥控开关

50.9元起

Xiaomi 小米 MCCG02HL 小米门窗传感器 2 米家

Xiaomi 小米 MCCG02HL 小米门窗传感器 2 米家

37.8元起

Xiaomi 小米 SJWS01LM 水浸卫士 白色

Xiaomi 小米 SJWS01LM 水浸卫士 白色

55元起

玺加 智能窗帘宝X3 光能充电窗帘伴侣

玺加 智能窗帘宝X3 光能充电窗帘伴侣

暂无报价

MIJIA 米家 人体传感器2S 居 智能监测联动

MIJIA 米家 人体传感器2S 居 智能监测联动

61.99元起

MIJIA 米家 空调伴侣2 智能插座 白色

MIJIA 米家 空调伴侣2 智能插座 白色

66.16元起

卡萨帝(Casarte)掌静脉人脸识别带可视猫眼密码锁入户门带摄像头指纹锁电子锁智能门锁CFA-X70-CAU1罗曼金

卡萨帝(Casarte)掌静脉人脸识别带可视猫眼密码锁入户门带摄像头指纹锁电子锁智能门锁CFA-X70-CAU1罗曼金

6009元起
30评论

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

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

    校验提示文案

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

    校验提示文案

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

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • Domoticz 有个坑,虚拟传感器只能接收一个值,且只能是第一个值!!!!

    校验提示文案

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

    校验提示文案

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

    校验提示文案

    提交
    收起所有回复
  • 大佬好!我在ESPEASY的“device”界面上可以接收到二氧化碳和温湿度的数值,但按您的方法,DOMOTICZ里面接收不到,应该是MTQQ的发布和接收出了问题。能帮我分析一下吗?多谢多谢!

    校验提示文案

    提交
    首先确保mqtt服务器安装正确,开两个SSH终端,第一个,输入:mosquitto_sub -t testsub -u username -P password
    第二个终端,输入:mosquitto_pub -t testsub -m "hello world" -u username -P password
    看看mqtt服务器是否正确安装并正常运行。

    确定没问题了后,可以试试,mosquitto_sub -t domoticz/out -u username -P password 看看mqtt服务器是否能正常收到domoticz的推送。

    如果一切都正常,那么可能你的ESPEASY设置错了,再仔细看看文章里的设置方法。多上网搜索一下,总会找到解决办法的。另外,如果可以的话,最好多搜索国外的帖子,尤其是官网的一些说明文档,耐下心来仔细看,会有很多意外收获的。

    校验提示文案

    提交
    另外,最主要的是IDX的匹配,ESPEASY上面的二氧化碳感应器的IDX,与domocitz里面的虚拟设备的IDX必须要一一对应,这样才能接收到ESPEASY发过来的值。同样温湿度感应器对应的IDX也一样需要与domoticz里相应的虚拟设备IDX一致。

    校验提示文案

    提交
    收起所有回复
  • 群辉里装好Domoticz后是不是还要再安装MQTT的服务端?

    校验提示文案

    提交
    我没玩过群晖,如果它自带了MQTT服务端,那就不需要装啰,否则就要装。威联通没有自带的,所以我需要自己安装

    校验提示文案

    提交
    收起所有回复
  • 我用斐讯盒子N1刷个ubuntu系统装好了domoticz,和mqtt但是mqtt一直不行无法通讯,后来挂到自己服务器上基本上成功了,外网也可以随时访问domoticz

    校验提示文案

    提交
  • 问一下,S8的G+和G0是分别接5V的电源和GNC吗?

    校验提示文案

    提交
    G+接VU,G0接GND

    校验提示文案

    提交
    收起所有回复
  • 智能家居永远是个方向

    校验提示文案

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

    校验提示文案

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

    校验提示文案

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

    校验提示文案

    提交
  • 期待楼主的下一期 [龇牙]

    校验提示文案

    提交
  • 大佬这个简直是手把手教的

    校验提示文案

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

    校验提示文案

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

    校验提示文案

    提交
  • 支持!干货!

    校验提示文案

    提交
  • 支持一下。

    校验提示文案

    提交
  • nodemcu的controller ip和端口不是太明白,是怎么得到它们的

    校验提示文案

    提交
  • 大佬,接线那好像没说明白呀…

    校验提示文案

    提交
    我也是没看明白。。。

    校验提示文案

    提交
    收起所有回复
  • 我用的是其他家的二氧化碳传感器,怎么输出都是好几万呢?是哪里配置错了吗

    校验提示文案

    提交
  • 大佬,零基础看了也想自己动手,请问有什么推荐的学习材料或者入门关键字吗?电路板都不懂那种零基础

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
363
扫一下,分享更方便,购买更轻松