目录:
1. 芯片说明
2. 巴法云说明
3. 蓝牙连接说明
4. 软件实现
5. 开机验证
6. 总结
1. 芯片说明
富芮坤FR3068支持蓝牙双模 V5.3 标准,如下是功能框图。本项目中我们使用蓝牙连接手机,通过手机共享网络方式上网,官网的示例工程中集成了lwip包支持,可以选择使用TCP协议连接到网络实现通讯

2. 巴法云说明
巴法云接入文档中有说明接入地址和端口,

通过tcp测试工具,可以实现连接和消息订阅,以及上报数据,订阅消息测试

3. 蓝牙连接说明
本项目中使用的手机作为蓝牙网关

打开网络共享

首先使用手机端连接测试验证,手机属于蓝牙网关,建Tcp server如下,等待客户端连接,连接后可以正常收发数据

4. 软件实现
4.1按键入口
按键事件检测任务

按键事件发送入口

在事件button_event_handler 函数中,当前我们UI上未做按键动效果,屏蔽掉ui的send事件。第一个按键我们调用自己的接口用于处理Tcp连接

使用指针指向到我们处理的函数中

函数原型为:
voidapp_Key1_Event_Handle(void*para)
{
printf("\r[long] Key1 Press ...\n");
app_TcpTransmitTaskCreate();
}
4.2创建线程TCP连接
线程创建入口如下

线程详细处理如下:

Tcp建立连接流程如下:

客户端连接详细流程如下:

4.3 周期上报消息
需要上报云端的数据按列表方式整理在mTcpInfo中,前面是主题,数据类型选择,变量名字对应

线程中按格式定义临时指针指向数据,整合成上报消息的字符串,带cmd类型 uid以及msg值

具体实现如下

5. 开机验证
开机启动后,首先使用手机蓝牙连接ok,打开网络共享这些基本准备好后。按下按键K1即可创建线程建立连接,分析log具体如下

云端查看信息如下,由于只订阅了一个主题,于是只显示CarInfoAutoRun 主题为在线状态,其他主题按实际值实时上报,效果按预期


6. 总结
此次使用了巴法云,优化空间还是蛮大,可以通过手机端或者电脑端查看到云端情况,实际运用时可以单独设计个手机小程序实时检测云端数据效果更好