本帖最后由 起个名字好难啊 于 2024-7-17 18:01 编辑
项目想法
之前做了两个HomeAssistant 受控设备,特别是交流通断器,它能够真正地控制家里的电器电源。在HomeAssistant的自动化当中,你可以设置定时开启、定时关闭等功能。
但是想要做更加智能化的功能的话,就需要用传感器。
- 比如小夜灯要智能化起来时,需要光照传感器检测光强度来决定是否开启,或者还需要人体传感器检测有人才开启。
- 比如空调控制时,可以利用温度传感器,检测室温来决定制冷还是制热
等等诸如此类智能控制,都需要传感器的参与才能实现智能化。</font>
所以今天这个项目就是一个:基于Ai-WB2模组实现的HomeAssistant传感器采集器
目标传感器
针对目前的传感器类型,根据接口类型分类,大致有这么几个品类:
- 串口:RS485 传感器
- I2C: 数字传感器,如SHT30 温湿度传感器
- IO:二进制传感器,只输出高低电平的
- 单总线:典型18B20 温度传感器
供电方式
计划采用锂电池供电方式,设计充电电路。这样一来,RS480传感器就不打算接入了,因为这类型的传感器一般是12V 供电,使用电池供电的话,需要额外的升压电路,而且功耗也高。传感器采集器只能接入I2C、IO、单总线接口的传感器了,而且充电接口的话,就用Type-C 吧!
从而就要衍生出一些电路:
电池供电电路
充电电路采用的IC是IP3506,一款带电量显示,同步升压的芯片,能够完整实现充电宝应用的芯片。
锂电池保护电路
既然使用的是锂电池,肯定要用保护电路,当然也可以不焊,然后使用那种自带保护板的电池。
电池电量采集电路
一般是读取电池的电压来实现电池的容量检测,使用ADC就行:
低功耗稳压电路
因为用了电池供电,所以稳压电路的稳压器不能用太高功耗的,1mA的静态电流都很大了。所以不能用1117这个LDO,我在立创商城上找到了一个静态电流只有8uA的LDO:WL6026。
8uA的功耗能够提供最高250mA的输出,满足Ai-WB2的日常使用了。
功能计划(画饼)
供电说完了,现在讲讲功能计划:
- 主控模组:Ai-WB2-12F
- 板载温湿度传感器
- 支持安信可IOT小程序配网
- 定时上传温湿度数据
- 引出I2C、IO检测、IO单总线接口,2.54Pin脚
- 即时检测按键,按下可以立即检测数据
- 采集完成立即深度休眠,提高续航
低功耗软件实现流程
头疼的来了,Ai-WB2这款模组没有低功耗的保活连接,这就以为不可能一直连接着WiFi,而且只有深度休眠才能保障电池的续航。幸好Ai-WB2是支持RTC唤醒的,因此,我们只能做定时检测,而且不能频繁,因为连接WiFi和发布消息都需要很高的功耗。
好了,画原理图去咯。感觉这个要搞好久呢
翻车了,Ai-WB2 根本不支持RTC的深睡自动唤醒,换Ai-M62咯 |