仓库温湿度自动控制模拟系统
作者:sunduoze
一、作品简介
仓库温湿度自动控制模拟系统以RSL10为控制器模拟工厂仓库的温湿度控制。传感控制节点采集温湿度及光照气压的信息,手机APP可主动连接并获取多个节点反馈并绘制曲线,当温度或湿度偏高则控制开启制冷空调或除湿机,反之则关闭,当温度湿度或光照异常时,判断为火灾信号并报警;手机APP可下发任务到传感控制节点来主动控制。传输节点通过串口收发蓝牙的信息实现手机与电脑交互。兼容设计实现3个硬件共用1个应用固件且可用手机APP实现FOTA。
二、系统框图
硬件系统包含2个传感控制节点(安森美RSL10 Sensor板)和1个传输节点(安森美RSL10 002GEVB板)。
传感控制节点使用了安森美RSL10-SENSE-DB-GEVK评估板。板载BME680环境监测传感器可用于环境温湿度,气压,CO2等信息的检测;板载LV0104CS传感器可用于检测光照强度,当火灾发生时,光亮超过正常阈值,故有辅助检测的意义;板载的LED用于连接状态的显示和调试辅助用途,按键PB1用于开机时清空N24RF64的EEPROM记录的状态信息,按键PB2可用于选择Sensor节点号(实际申请到2块板子,开机后,检测此按键状态,来选择板卡号,pressed=Sensor 2);手工额外焊接的OLED可以用来打印Sensor信息,控制信息,板卡信息等。
传输节点使用了安森美RSL10-002GEVB,借用板载J-link的虚拟串口与RSL10进行串口DMA交互,RSL10内部uart与蓝牙link。手机端APP通过蓝牙连接此节点,节点连接电脑,实现手机与电脑的交互。
本设计使用D03,D05,DIO12这些IO,在程序初始化时,检测不同状态,实现了程序对板卡的匹配。
GAPM_CmpEvt,GAPM_ProfileAddedInd,GAPC_ConnectionReqInd,GAPC_DisconnectInd,GAPC_ParamUpdatedInd,GAPC_ParamUpdateReqInd
GATTC_ReadReqInd,GATTC_WriteReqInd,GATTM_AddSvcRsp,GATTC_CmpEvt
其中GATTC_WriteReqInd中,自定义添加了上位机发送到BLE的数据解析任务,此部分也包含了接受BLE数据到通过DMA发送到UART
安卓手机端使用蓝牙调试器APP,开发了传感控制节点的应用,包含了各种传感信息的显示,同时可显示数据波形,通过按钮可控制节点显示。
三、部分功能说明
DIO |
002GEVB board |
Sensor board |
Coin board |
Function |
Common |
D00 |
- |
*led_r* |
|
|
led_r |
D01 |
- |
*led_g* |
|
|
led_g |
D02 |
- |
*led_b* |
|
|
led_b |
D03 |
ext_io-H |
ext_io-L |
ext_io |
* |
ext_io |
D04 |
U1_Rx |
SDA |
TP1 |
|
sda-sensor |
D05 |
**BTN1**/U1_Tx |
SCL |
TP2-L |
* |
scl-sensor |
D06 |
*OD_LED* |
MEMS_DO |
- |
|
led |
D07 |
SCL |
- |
- |
|
- |
D08 |
SDA |
- |
- |
|
- |
D09 |
- |
INT-- |
- |
|
- |
D12 |
- |
**BTN2** |
- |
|
button2 |
D15 |
- |
**BTN1** |
- |
|
button1 |
四、作品源码
apk是安卓应用程序(自己可以去市场下载“蓝牙调试器”),bin可以直接用这个程序打开,然后自己可以进行编辑修改。定义自己的数据格式。
五、作品功能演示视频
FOTA此处不演示,可跳转此链接查看:【仓库温湿度自动控制模拟系统】9. RSL10 FOTA app的适配
六、项目总结
1. 这个是个很棒的练手案子,对于个人而言蓝牙这一块可以说是从0到1开始深入了解,全新的芯片,全新的IDE,硬件版本同样新到超出release的文档,这个过程有非常大的挑战,整个开发过程是非常痛苦,并且到想放弃,但是过段时间折腾一下又有点点突破,磕磕碰碰一步一步走到现在。痛苦的过后将会迎来重生,感谢主办方和EEWORLD,感谢过程中管理员小姐姐的一次又一次的加油打气。
2. 开发的过程中,对整个开发过程影响最大的应该是MESH组网这一块,通过官方的例子,实现基本控制功能,但是由于自己欠缺的太多,官方安卓app也没有源码,后转到微信小程序进行尝试,还是无果。整个工程合并过程满是荆棘,最后也放弃了。想当初因为MESH这个香喷喷的功能,果断放弃Keil,转向Onsemi IDE。这一步迈的步子过于大,一口想吃成胖子,不料....。再后来不在纠结于此,回头把sensor逐个驱起来,慢慢也找回了信心,慢慢走了下来。
3. 整个项目开发下来,目前的工程是可以当做基础模块来引用,很多蓝牙应用的场景,不外乎主从交互这些功能,在此基础上增加更多传感器进行功能适配和扩展就可以72变,仓库温湿度自动控制系统如果要求高,那整个系统远比这个雏形要复杂的多,而且工业环境可靠性是关键,温湿度控制部分的内容等等有很多细节可以扩展,所以可以进步的空间非常大。在这里仅借题发挥来学习一些新的器件,接触一些新的领域,扩宽自己,同时将自己的所学分享出来,让后来者少走弯路,仅此而已。
4. 此外,吐槽还是少不了的。对于安森美的IDE和例子程序,工程风格各式各样,对于初学者难度很大,无形之中把门槛提高了,还有关键的一些代码直接是库,有时候想看看里边又无从下手(暂时没找到源码)。还有IDE使用过程中,static变量会导致uart发送故障,新增的全局变量导致RTT无法使用,莫名其妙很多代码无法打断点等等这些奇葩问题费了不少劲,思路一定得活,不能一条道走到黑,这种活动中很重要。
【仓库温湿度自动控制模拟系统】9. RSL10 FOTA app的适配
【仓库温湿度自动控制模拟系统】3. RSL10 BLE Mesh 组网初体验
【仓库温湿度自动控制模拟系统】2. ON Semiconductor IDE 吃(tian)瓜(keng)
go go go, 让RSL10的LED开始闪烁(文尾有小彩蛋)
七、其他
开发套件(纽扣电池),带着屏幕能待机多久?
引用: w494143467 发表于 2021-7-19 14:41 开发套件(纽扣电池),带着屏幕能待机多久?
这个还没有验证,只知道OLED功耗比较低,抽空验证一下。目前为演示,默认是开启屏幕的,通过按键可以控制显示或关闭。
引用: cruelfox 发表于 2021-7-19 20:47 没看明白:手机与电脑交互,作用是?
暂时没有按最初想法跑起来,本意是电脑和传感控制节点直接交互的节点(手机端也可以接入),电脑端的应用没有开发,还有蓝牙上的一些功能也没有开发,最后留下这个。。。