首先感谢大赛组委会给予了这次参赛的机会。一共到手三块开发板,一块RSL10-SENSE-DB-GEVB,两块RSL10-002GEVB,板子的设计很好,很实用。特别是传感器板,小小的板子上集成了多种传感器,很惊艳。
最近才有时间折腾这套板子,蓝牙方面我也算是个小白,因此浪费了不少时间,这段时间主要是跑了跑各种例程,掉了些坑,现在总算完成了小目标的第一步,在这里分享一下这段时间掉的坑以及开发过程。
原本是计划使用MESH组网来完成开发的,在直接使用官方提供的ble_mesh例程的时候,始终编译不过,IDE提示如下:
这个问题折腾了几小时,群里求助无果,最后参考它人的经验得以解决,解决之法如下:
,最终编译成功,按照手册内容编译后,能使用手机APP和开发板正常通信。
后来发现没有直接应用在RSL10-SENSE板子上的BLE-MESH例程。现在再去折腾时间也不够,便放弃了使用MESH组网的方案。
最终经过从时间经济上的考虑,决定采用SENSOR BEACON + BLE CENTRAL SCAN的模式完成设计。
RSL10-SENSE板作为传感器,定时广播符合ENVIRONMENTAL SERVICE DATA (V5)的数据包。
RSL10-002板作为控制器,接收RSL10-SENSE的广播并从中获取环境数据,控制三个继电器,一个用于空调开关,一个用于加湿器开关,还有一个用于灯控开关。
RSL10-SENSE板使用Sensor beacon firmware例程作为基础,此例程内置了ENVIRONMENTAL SERVICE DATA (V5)和MOTION SERVICE DATA (V1) 两种数据帧。可通过按钮选择。此例程还使用了FOTA,因为暂时不想去折腾FOTA,因此把FOTA功能也掉了。这个的编译比较简单,直接拿过来用即可。
RSL10-002板使用ble_central_client_scan例程作为基础,去掉了UART CLI功能和连接功能,直接接收广播数据并对数据进行筛选,筛选分为两步,一是只广播MAC地址为安森美的数据包,二是只接收数据类型为ENVIRONMENTAL SERVICE DATA (V5)的数据包。筛选出所需要的数据后,再解析出温度、湿度、亮度等数据,之后便可以根据这些数据来进行相应的控制。解析出来的数据如下:
|