首先国际惯例,先放上成果:
如上图所示,楼主把颗粒物传感器和二氧化碳传感器加入到了HASS里,当然,论坛之前也有诸位大神提供过类似固件和方法来实现这一目标。不过这次楼主说的可能相对之前要方便的多的多,有多方便?基本是无脑刷,无脑接……,首先我们来看下用到的设备,开发板基于ESP8266,也就是使用8266芯片的都能接,包括大家常用的SONOFF,不过SONOFF的GIPO数量有限,楼主并不是很推荐,还是买块板子吧:
这里记得要买V3的,可以上扩展版。我卧室接完是这样的:
这个上面接了二氧化碳传感器,PMS5003颗粒物传感器以及光照度传感器:
然后我们就要刷固件了,这一部分是重点,也是本篇文章的核心。这里要向大家介绍的是一个开源的固件项目——ESPEASY。想必大家看这名字就应该明白这东西用起来十分的EASY吧。而事实也是如此,基本上,如果你使用官方开发板刷机的话,就和往优盘COPY东西一样简单。
ESPEASY目前最新Pre-release版本为Release v2.0.0-dev8,下载页面是:https://github.com/letscontrolit/ESPEasy/releases ,当然,大家看到这篇文章的时候可能又有了新版,那就下载最新版即可,下载完之后解开压缩包:
双击运行FlashESP8266.exe ,选择你的nodemcu端口,以及想要刷的firmware,即可。不过要记住的是我们的板子是4M版本,所以要选4096的文件(SONOFF可能只有1M),而normal和test的区别主要在normal只包含了稳定版的插件,而test则包含正在testing的插件。为了得到更多传感器的支持,所以刷test的吧。
点击flash等他刷完就好了。简单吧,然后是设置:
ESPEASY设置刷完了之后,大家记得按下开发板上的rst键,然后掏出手机。搜索无线网络,会发现一个叫SSID叫做ESP_0的无线网络,连接,密码是:configesp,连上之后,打开网关页面,默认是192.168.4.1。
然后选择你家的无线网络,输入密码,单击connect,接着nodemcu就会重启,这会你要做的就是去路由器设置页面找到nodemcu的IP地址(此处强烈建议将IP地址设置为静态IP),然后根据IP地址打开网页:
我们首先要做的是在Controllers里面添加控制器,也就是Mqtt客户端:(注意,只有第一个控制器支持Mqtt)
添加的控制器名为OpenHAB MQTT这里面的IP是HASS的IP,端口默认1883.Controller Publish:这一项里的ESP01随便你改,只要你记得。(此处应该也是%sysname%变量,但是我没成功,就自己设了个)好了之后submit就行了。然后打开Devices页面:
楼主因为已经添加了设备了,下面以PMS5003为例:
因为这个插件用了硬串,所以GPIO不用设置,直接把颗粒物传感器接到开发板的RX就好了(现在不知道改没有,如果这样接不行,就设两个吧) 然后Send Data to controller 1和Enabled一定要勾选:Value名字可以自定义,但是一定要记得哪个是哪个。回头要用到,然后Submit,这时回到Devices页面你应该能看到数值出现了,如果没有,请检查接线。然后我们前往TOOLS下面的Advanced:
把MQTT Retain Msg选上,Submit提交,这样ESPEASY的设置就完成了。然后我们只要在configuration.yaml加上传感器设置就好:
其中state_topic: "/esp01/pms/pm25"里面的第一个esp01就是我们在Controllers里面设置的那个。(注意,如有多个开发板,请使用不同的名字),pms是Devices页面里的name,而pm25就是Values的名字。然后我们就能看到这几个传感器被更新到HASS里了。 当然ESPEASY这个固件除了支持一堆传感器(不断增加中):
还有许多功能,比如外接显示屏,控制引脚高低电平从而控制开关等。这次楼主就抛个砖,期待大家能有更多玩法分享。谢谢
|