网关概述
该网关产品是基于高通 qca4531 以及 csr8811 芯片上开发的蓝牙 mesh 网关产品。高通 qca4531 运行 Openwrt 系统,通过 3 线 PTA 与 csr8811 通信。用户可以通过以下三种方式控制蓝牙 mesh 中的设备。
蓝牙通道
顾名思义,用户可以直接用手机蓝牙功能直接对设备进行控制,不需要通过其他网络。
网关通道
通过局域网来控制蓝牙 mesh 网络中的设备。
云服务通道
通过云平台网络来控制蓝牙 mesh 网络中的设备,该场景适合于用户外出等场景。目前该云平台是使用 csr 的测试云平台,网络不太稳定,以后可以通过实现自有的 north bound 代码实现自由云平台切换。
高通提供相应的 app 代码以及 demo 供用户开发以及测试。
开发工具
开发过程中,有时我们会需要使用些工具帮助我们加快开发,定位问题。开发该网关产品我们需要:
USB TTL 线
系统打印信息以及系统日志查看等。
android 或 ios app
通过 app 可以实现控制蓝牙 mesh 网中的蓝牙设备。
支持蓝牙 mesh bridge 的设备
加入蓝牙 mesh 网络的设备。
开发环境搭建
网关关联到网络
由于目前该平台许多方面还没完善,会有些 bugs 存在,所以有些是我们必须要操作是需要手动进行的。
网关开机时,我们通过网关串口看到些信息打印,由于系统开机后,许多工作要做,比如启动些 south bound 以及 north bound 的任务,我们通过命令看到 csrservicesd 以及 csrMeshGw 任务已经运行,我们才可以进行下面的操作。
|
|
如果 csrMeshGw 任务没有起来,我们需要手动启动。
|
|
下面我们开始启动一个蓝牙 mesh 网络。
高通给我们提供了三个任务程序。
|
|
其中 csrMeshRefApp 是实现了自动启动一个蓝牙 mesh 网络,产生 uuid ,关联网关到 mesh 网络等工作,但是有许多问题,没有完善,所以我们使用另外一个工具 csrMeshGwTestApp 。
开始蓝牙 mesh 网络。
|
|
产生 uuid 。
|
|
关联网关到网络。
|
|
手机 app 需要打开蓝牙,打开检测设备列表,当检测到有网关设备时,点击关联设备,等关联成功后,从上面的 log 可以看出网络关联已经完成。退出该程序。
加入蓝牙设备
首先需要让设备置于关联网络状态,通过手机 app 点击关联设备,关联成功后,设备会在设备列表中。此时可以通过蓝牙控制设备了。
通道选择
在手机 app 中,通过 setting 来手动选择通道,比如现在选择网关通道方式,会提示 connect to the cloud ,然后点击 Yes 即可。选择网关的时候,选中列表中的 CSRmeshGW 后,点击 Associate device,等待完成。
troubleshooting
怎么知道网关连网信息
通过 log 方式。
|
|
手机 app 切换通道不成功
如果 app 提示蓝牙方面的问题时,重新打开蓝牙。如果 app 提示找不到网关时,检查下手机是否和网关处于同一网络内。