本周是儿子生日,作为生日礼物,给他买了芦丁鸡。也给芦丁鸡买了窝。 芦丁鸡是现在比较流行的一种小宠物,其实是鹌鹑的一种,由于自己不曾养过,对于如何饲养也是丈二和尚摸不到头脑,于是去咨询了度娘,度娘说,芦丁鸡养殖温度最好控制在25-26℃,这个确实不太好控制,结合了自己最近在搞智能家居,瞬间萌生了一个想法:可以通过监测鸡窝的温度,来进行一些自动化,比如,温度低了就打开鸡窝的暖灯(买鸡窝送的),加热,温度高了就打开小风扇(自己买的)排气降温。大概思量了下,觉得可行,随即进入详细的方案设计阶段。 客户(鸡窝)的需求:想要实现恒温,冷了开暖气,热了开冷气。 业务解决方案:监测鸡窝温度,发现温度这个条件低于26度,就自动打开暖灯制热,当温度超过29度时,就自动打开排气扇降温,考虑到打开暖灯制热很快,关灯后,能留给客户更多的时间享受,所以高温的阈值设置在29度。 开发方案:购买DHT11温湿度模块监测温度,通过ESP8266 NODEMCU来作为主控,将继电器模块作为智能开关。通过ESP8266来集成温湿度检测和继电器,通过220V转5V转换器来为所有设备供电。 方案确认后,进入实施阶段。 所需设备: 1、ESP8266NODEMCU/ESP32开发板一块(之前闲置,某宝购买,16元); 2、DHT11温湿度模块一个(某宝4元); 3、暖灯(鸡窝自带,但需进行改造,0元); 4、继电器模块(之前闲置4路继电器,某宝8.88元); 5、220V转5V开关电源模块;(之前闲置,某宝4.5); 6、面包板一块(某宝4元,非必须,方便供电); 7、杜邦线若干条(某宝2元40根); 8、小风扇(某宝4元) 共计45.38元; 所需材料准备完成后,就开始具体的实施工作,首先将ESP8266开发板通过面包板连接设备,因8266只有两个3V的电源输出,所以通过面包板扩展,将220V转5V的电源模块接到原来芦丁鸡窝的暖灯上,这样就可以所有的设备只占用一个电源插座。 然后将5V的输出接到面包板的电源插孔上,这样就可以扩展很多设备,给很多设备供电。 接着将DHT11温湿度模块接入到ESP8266的针脚,随便一个就可以,然后将继电器接入到ESP8266和芦丁鸡窝的暖灯线上。所有设备连接完毕,接下来就是软件的设置了。 软件设置第一步,需要对ESP8266进行刷机操作,为了方便,就不适用ESP HOME进行编程了(主要是我不太熟练),这里推荐使用TASMOTA,这个通过浏览器就可以进行刷写。刷写完成后,连接到ESP8266的热点,然后系统会自动打开设置页面,首次进入需要设置wifi账号和密码。设置完成后,设备会自动重启,然后就可以设置设备了,因为没有使用ESP HOME进行刷机,所以自动化就依赖homeassistant了,为了让homeassistant和ESP8266进行通讯,需要使用MQTT协议,我是在玩客云上搭建了MQTT服务,然后可以在局域网内进行通讯。搭建完成后,就可以在TASMOTA中设置MQTT了,输入MQTT的IP、账号密码等信息后保存即可。 设置完MQTT后,需要配置ESP8266连接的设备,可以在TASMOTA中,直接设置每个针脚连接的设备,这里在对应的针脚上,选择DHT11和RELAY就行了。 连接成功后,可以通过homeassista直接读取鸡窝的温湿度,然后在homeassistant中设置自动化,在温度低于26度时,打开继电器,从而实现打开暖灯来制暖。在温度高于29度时,就打开小风扇来排气散热。 硬件及软件完成后,进入到测试阶段:房间内因开空调,温度26-27度,没有办法达到预定的低于26度,所以测试时,将阈值调高至28度,即低于28度就打开暖灯,高于29度就关闭暖灯并打开散热风扇。测试结果如预期。 发布上线:将杂乱的线路重新整理,归纳,并将面包板和继电器固定到芦丁鸡窝背面,这样不影响美观。 至此,一个智能芦丁鸡窝即完成,从此芦丁鸡们,享受了VIP的待遇,而我,也收获了满满的技能和成就感,以及,我儿子的膜拜。
|