介绍蓝牙服务发现
金桔ACserver通过蓝牙网关可以类似nrf Connect手机应用操作一样,发现蓝牙终端的服务,并进行连接,写入和读取等操作。
nordic官方应用nrf connect 的连接界面,从界面上我们可以看到蓝牙终端的服务,特征值和各种需要操作的属性,金桔蓝牙网关可以通过中心平台达到相应的效果,方便开发人员直接访问蓝牙设备。
通过网关过滤蓝牙设备
我们需要先通过网关扫描到周边的设备,金桔蓝牙网关默认是不扫描任何设备的(全部被过滤掉),先通过修改网关的名称过滤来获取设备列表,例如我们蓝牙终端设备的蓝牙名称是:Nordic_Uart,只要输入匹配的前缀即可:
点击配置网关后,我们就可以看到扫描到的蓝牙终端设备(注意该蓝牙终端设备需要跟其他手机或者蓝牙主机设备断开连接),点击“基站配置”-》“蓝牙服务”:
这样我们就过滤出来需要连接的设备。
通过蓝牙网关发现蓝牙终端服务
通过“蓝牙服务”界面我们点选设备列表中的设备MAC地址,即可选中需要连接的蓝牙终端,并点击“发现服务”按钮(这里不需要进行蓝牙连接):
在下面的“服务”窗口即可看到该蓝牙终端设备的服务和特征值列表,并对应相应的操作权限,读取到服务列表后,我们需要保存该服务列表,并起一个名称,点击“服务”窗口的按钮“保存为类型”
这里我们保存为类型“MYTEST_TYPE”,那么在上面的“连接配置”窗口中的类型字段,将会出现这个类型,以供我们后续操作。
连接蓝牙终端设备并进行读写操作
蓝牙连接
至此,我们已经获取到蓝牙终端设备的服务列表并保存为类型,我们选中该设备并选择用保存过的“MYTEST_TYPE”类型进行连接,点击“连接”按钮。
蓝牙发送
当我们“事件列表”窗口中显示出“蓝牙链接”事件时,代表蓝牙连接已经成功,我们可以进行读写操作了(这里应用了Nordic官方的例子,下发的数据将在串口中有打印信息),点击需要写入服务的uuid的操作权限:
注意写入数据是byte串,比如发送3132333435就是要发送5个字节 0x31,0x32,0x33,0x34,0x35,
点击发送后,我们在蓝牙终端上就可以收到该消息
蓝牙接收
如果需要接收来着蓝牙终端的消息时,我们需要打开有“通知”属性的特征值(需要先连接上设备后进行操作)。
在右边的事件列表中可以看到:
至此我们可以接收来着蓝牙终端的消息,我们在蓝牙终端发送数据:
在“事件列表”中看到推送上来的数据:
点击“断开”按钮即可断开此蓝牙连接。