智能家居折腾记 篇三:Nodemcu刷espeasy固件,制作二氧化碳检测器,并接入Domoticz
前文再续,书接上一回。 所谓的智能家居,目前能较易实现的场景,其实就是某个规则处理中心(在本例中是Domoticz),获得周边的一系列传感器(本例中是二氧化碳传感器)传回的值后,根据设定好的规则,对接入其中的设备(本例中是小米空净2)进行控制。 在该系列的第一篇中,为大家介绍了如何在虚拟机上架设Domotica以及MQTT服务器。在第二篇,给大家介绍了如何把小米空净2给接到Domoticz上,同理,大部分小米智能家居设备都能通过相同的方式接入,其他品牌或者一些DIY的传感器,只要支持MQTT协议,都能非常方便的对接到Domoticz之中,实现家里所有智能设备的集中管理。 那么在这一篇中,楼主将带大家一步一步DIY一个二氧化碳检测器,并将该传感器接入到Domoticz上。本篇的内容,需要有一定的动手能力,不过以楼主这种手残架势,也能做出来,大家也就可以放胆去动手,只要胆大心细,跟着楼主一步一步来,还是很容易成功的。 好,喊口号时间到了,大家一起来:生命不息,折腾不止! 硬件购买Nodemcu v3首先出场的是我们的Nodemcu板,这个是非常好用方便的物联网开发板,自带USB转串口芯片,自带wifi,有多个GPIO接口,可以连接多个传感器。这里就是利用它,读取二氧化碳传感器的数值,然后通过wifi传到Domoticz上。在淘宝上有很多卖家,随便找一个销量大的买就可以了,16元左右,包邮。 买的时候留意,一般有两种版本,一种的串口芯片是国产的CH340,普遍十几元的都是这种;另一种是进口的CP2102,要贵点,一般二十多一块。楼主用的是CH340的,用下来也很稳定,毕竟也就刷固件那一下需要接到USB上,刷完固件后所有操作都可以通过wifi操作,省下几块钱吃个雪糕在这大热天也挺舒畅的 这块板子是长这样的
二氧化碳传感器二氧化碳传感器有几种,淘宝上搜索一下就可以,楼主买的是“SenseAir S8-0053”,主要是体积小巧。
温湿度传感器温湿度传感器,起初楼主用的是DHT11,接上后发现精度是到整数的,感觉不爽,换了个AM2320的模块,精确到小数点后一位,似乎更能装逼
这种比较方便,直接用杜邦线就能接,省的折腾。 其他零配件其他零配件,包括杜邦线、喷锡洞洞板、2.54MM的排针、排座、电络铁、锡线、万能表等等,各位视情况来买,不一定全部都要用到,可以先想清楚,一次过购买。毕竟排针排座洞洞板之类的东西,几毛钱、一两块钱,你让店家包邮也说不过去。 Nodemcu刷ESPEasy固件好了,硬件都买齐后,现在开始动手将Nodemcu刷入固件。固件可以刷官方的,也可以刷ESPEasy,由于ESPEasy更友好,更傻瓜,所以本例中使用它。如果有兴趣,大家可以多买一块Nodemcu板,自己刷入官方固件学习。官方固件可以使用Arduino IDE进行开发,这里不展开讨论。 下载固件首先,到ESPEasy官网下载固件,链接 下载回来后,把文件解压到同一目录下备用。
查看COM口信息要刷固件,首先需要知道你的Nodemcu连在那个COM口上,请按照以下步骤获取: 将Nodemcu板用usb线接入电脑,windows7以上系统应该能自动安装驱动,无需人工干预。 右击【计算机】->【管理】,在【设备管理器】下面查看
如果你有多个COM口,没关系,马上插拔一下Nodemcu的USB线,看看那个消失了,又重新出现了,就知道那个COM口连着你的Nodemcu了。 双击你的COM口,按照上图红框所示设置好即可。 刷入固件在刚刚解压出来的固件目录下,包含有刷固件工具“FlashESP8266.exe"。在Windows下直接运行这个文件:
【COM-Port】选择你的Nodemcu板虚拟出来的串口号,【Firmware】选择相应的固件版本,这里我们选择normal、4096的版本。然后点击Flash,就开始刷入固件了,是不是非常傻瓜,非常简单?
将Nodemcu连入wifi刷完后,我们就可以将Nodemcu连接到家里的wifi了。首先将电脑的wifi断开,搜索附近热点,你会看到有一个叫“ESP_EASY_0”的热点,连上去,密码是“configesp”
连上去后,打开浏览器,地址栏输入http://192.168.4.1 即可登陆到ESPEasy的管理界面。 在这里,选择你自己家里的wifi,并输入wifi密码,即可将Nodemcu连接到你家里路由了。
完成后,再将电脑连接回你家里wifi网络,到路由器查看一下自动分配给Nodemcu的IP地址,通过浏览器访问该IP地址,即可登陆到Nodemcu进行管理设置了。
传感器连接接下来,我们需要把传感器接入到Nodemcu,最主要的当然是二氧化碳传感器了,另外,还接入了一个温湿度传感器。 首先,看看Nodemcu的针脚定义图
这里,楼主将温度传感器的SDA口接在D3(GPIO0)接口上
将二氧化碳传感器的UART_RxD用杜邦线,接到Nodemcu的D7(GPIO13)上,UART_TxD接到Nodemcu的D8(GPIO15)上。
接好后的图如下:
关于电源问题,这里要提一下各位,Nodemcu的板上,提供了一组5v输出,在VU口,其他的都是3.3v输出,不能驱动两个传感器。因此上图中,楼主用了个洞洞板,加上下面这个USB电源接口,自己焊了个分线口,把USB分了三组出来,分别供Nodemcu、二氧化碳传感器以及温湿度传感器使用。用的USB电源接口是这种:
这块板可以很容易的焊上排针,接上洞洞板,就能很方便的扩展出几路5v输出了。 Nodemcu设置按照上面的方法,把电源解决好,线都接好后,就可以接通Nodemcu的电源,然后用浏览器登陆设置页进行设置了。 首先,配置好MQTT温度传感器需要通过MQTT,把状态传输给Domoticz。点击【Controllers】->【Edit】
按照下图的配置填好,其中,【Protocol】选择“Domoticz MQTT”;【Controller IP】、【Controller Port】、【Controller User】、【Controller Password】分别填写你自己的MQTT服务器的相关信息,其余保留默认。最后的【Enabled】勾上,最后点击【Submit】提交保存。
配置传感器接下来,转到【Device】页面,点击【Edit】按钮(下面这个截图已经配置好了的,大家新板子应该全部为空)
【Device】下拉菜单,选择“Environment-DHT11/12/22 SONOFF2301/7021”
下图中,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】提交保存。
接下来,配置二氧化碳传感器在【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】提交保存。 此时,如果接线及配置都正确,应该在【Device】页下就能看到Nodemcu读取的传感器的数值了:
如果是这样,那么恭喜你,你已经非常接近成功了!! Domoticz读取传感器数值到目前为止,Nodemcu已经能正确读取传感器的值了,剩下需要做的,就是把数值传输到Domoticz上。 在Domoticz上配置MQTT首先,在右上角【设置】->【硬件】菜单下,新建一个【类型】为“MQTT Client Gateway with LAN interface”的硬件,【名称】随意,【设备地址】、【端口】两栏填写你的MQTT服务器地址及端口号,用户名、密码填上MQTT的用户名及密码。【Publish Topic】选择“out + /”,完成后点击【增加】保存。如下图:
添加虚拟开关然后,在同样的地方,添加一个虚拟开关:【类型】为“Dummuy (Does nothing, use for virtual switchs only)”其余保持默认,点击【增加】按钮保存。
如图21中红框,在刚刚新建的虚拟开关下,点击【创建虚拟传感器】,【名称】可以填写“温湿度”,【传感器类型】选择“温度+湿度”,如下图:
接下来,同样的方法,添加二氧化碳传感器,但【传感器类型】选择“Custom Sensor”,【图表纵轴标签】填写“ppm”,如下图:
接下来,点击【设置】->【设备】菜单,列表中应该能看到刚刚新建的两个传感器,记下这里的设备IDX值。如楼主的情况,在Domoticz里面,温湿度传感器及二氧化碳浓度传感器在Domoticz中的IDX分别为39、40(如图24)
然后回到Nodemcu设置中,【Device】页下面,修改各自的“Controller IDX”。在Nodemcu的配置中,对应的传感器“Controller IDX”也设置为响应的值(如图25、图26)
完成上面的设置后,在Domoticz的【设备】菜单下,应该就能看到传感器的值了。
那么恭喜各位,所有工作均已完成,接下来,就是在Domoticz中添加相应的规则了。 Domoticz自动化规则设置Domoticz的自动化规则,不需要大家有任何编程能力,只需要有鼠标操作能力即可 菜单路径:【设置】->【更多选项】->【事件触发器】
如下图,是楼主设置的一些简单条件,当然大家可以根据自身情况,设置很复杂的逻辑也是可以的。
大家只需要在左边的【Logic】选择相应的逻辑条件块,然后在【Device】下选择相应的设备,就能建立起来,非常简单,大家动动手摸索一下,很容易的,这部分就不在此细说了。 这篇的内容稍微多了一点,楼主是希望尽可能详细的把每一个步骤都写清楚,让大家少掉坑里面。各路高手大神就请多多海涵,哈哈哈~~ 最后,再上一波楼主手残手做的二氧化碳及温湿度传感器
好啦,本期内容就到此了。下一期,楼主将带大家打造手“自一体档位的电风扇”。不过呢,这个还没开始动工,最近工作又比较忙,可能要晚一点才能写出来给大家啰。如果大家喜欢,请随时留意更新啰,再次感谢大家的支持~! 最后,又是鸡血时间了,大家一起来:生命不息,折腾不止!! |
香港服务器多少钱一个月?哪家的香港服务器
4核4g6M50G盘20G防御云服务器价格多少钱?T
特发集团与华为签署全面合作协议
【身边的AI】高空抛物智能追溯解决方案,站
中海&华为签署战略深化合作协议
华为赵博:数字化转型成为地产企业最确定的
这款TCL K6V指纹锁不到千元即可买到?大品
凯迪仕指纹锁哪款好用?买凯迪仕指纹锁选哪