
#第九届立创电赛#物联网温湿度计
简介
一个温湿度计,可以通过搭载的WIFI模块接入到云平台,并在平台和设备间互传信息,带有一个TFT屏幕接口,可选配屏幕,为满足低功耗要求,配置屏幕时,只有设备感受到震动、移动才会点亮屏幕,静置时屏幕熄灭
简介:一个温湿度计,可以通过搭载的WIFI模块接入到云平台,并在平台和设备间互传信息,带有一个TFT屏幕接口,可选配屏幕,为满足低功耗要求,配置屏幕时,只有设备感受到震动、移动才会点亮屏幕,静置时屏幕熄灭开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
* 1、项目功能介绍
1).温湿度计量功能
2).接入WIFI和云平台并上报数据
3).通过云平台进行数据互传,实现智能场景或异地监测
4).屏幕显示功能
5).震动、移动感知
*2、项目属性
本项目为原创项目,首次公开,未参与过其他比赛。
* 3、开源协议
GPL 3.0
*4、硬件部分
物联网温湿度计V0.1
不建议复刻这一版,问题多多。
这个版本是最开始设计的版本,起初的想法是通过SHT40计量温湿度,然后从ESP-01S模块上报到阿里云。
阿里云物模型展示界面
阿里云物模型温度数据标签历史记录
原本设计中设备本身带有一个TFT显示屏,一个震动传感器,但通过一段时间的验证,想要同时实现FreeRTOS+LVGL+低功耗困难重重,因此暂时搁置了显示部分,由于震动传感器是为显示屏服务的,所以也一并废弃了,这一版的工作重心放在了低功耗上面。
在低功耗方面,因为种种原因,不得不舍弃FreeRTOS,事实上这个项目也不太需要RTOS,因此没什么影响,因为需要定时上报信息和进入休眠,所以中间遇到了很多问题。
其中一个问题是,进入休眠后定时器无法使用,没法在指定的时间后唤醒,于是我将方案修改为使用IWDG进行强制复位,这样程序也简洁很多,还能使用低功耗效果最好的待机模式,缺点是上报时间间隔最长只能是26S,一般场景下这个间隔还是足够的,但是如果需要更长待机,或许需要将间隔加长,这后面会使用RTC闹钟进行验证。
此外,在这一版本的验证中,我觉得有必要使用ADC去采集电池的电压,一方面方便开发过程中观察耗电信息,另一方面可以告知用户什么时候该充电,因此在0.2里加了一路ADC采集采电池电压。
起初震动传感器(原理相当于一个开关,但是不是那种弹簧式的,具体看图纸和BOM表吧)使用的一个普通的外部中断口,现在觉得,或许0.2可以延续0.1里的待机模式,于是将震动传感器更换到了PA0口,PA0口是WAKEUP口,可以复位深度休眠的STM32单片机,总之先保持这样吧,用不上就当做普通中断用了。
低功耗方面,大致的时间上,是启动2-5秒(这个很大程度上取决于网络状况,因为需要连WIFI,程序里已经尽可能节约时间了,网络好会短一些)然后待机26秒,总共30秒左右上报一次信息,最后一次测试成绩良好,一共运行24小时,使用一块102540软包锂电池(容量标的1300mAh,我觉得可能虚标了)从3.72V掉到3.6V左右,没有具体记录,具体的参数还要等0.2版本进行记录。
此外,电源管理选的是一个一体式的充电宝用的充放电芯片(习惯用这个,带5V升压),所以有个问题,待机了功耗过低,这个芯片会自动切断输出,所以上面的工作都是在直接使用锂电池对LDO供电的情况下做的(飞了一个二极管过来),后面会使用仅充电的芯片加一个DCDC芯片,改善这个情况同时期望能再降低一些功耗
因此0.2版本应该具有的改进是:
1).增加一路ADC用于检测电压。
2).完成彩屏显示,使用LVGL,但是就不用RTOS了。
3).验证震动传感器和屏幕的配合。
4).验证新的电源管理方案和DCDC。
*5、软件部分
软件部分使用CubeMX+Keil开发,整体设计思路和更改过程参考硬件描述部分。
*6、BOM清单
BOM清单参考BOM表和立创EDA工程文件。
*7、大赛LOGO验证
* 8、演示您的项目并录制成视频上传
视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;
视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。
设计图

BOM


评论