工程测量中,Trimble电子水准仪(DiNi Level)在测量完成后,通过蓝牙模块与外设进行数据交互,本文介绍外设如何作为中心模式与水准仪进行数据交互。
前期准备
前期准备工作包括以下几个方面:
- 蓝牙外设扫描
- 蓝牙外设连接
- 外设服务发现
- 特征值发现
- 订阅
可以参照iOS蓝牙开发 - Central模式,此处不再赘述,参照以下摘要信息:
|
|
特征值订阅/监听
水准仪与蓝牙外设的通讯,主要是通过特征值来实现,故此处进行单独介绍。在特征值发现之后,我们可以根据特征值进行过滤,监听特定的特征值,这样,当特征值发生变更的时候,会通过CBPeripheralDelegate协议回调特征值数据。使用蓝牙外设对象 CBPeripheral 的方法 setNotifyValue:forCharacteristic: 来进行监听
|
|
通过协议回调处理特征值。
|
|
需要注意的是水准仪蓝牙数据的回传时将字符串进行了分隔。我们需要首先进行数据拼接,之后才能进行数据提取操作,以下是拼接后的字符串及原始字符串:
|
|
测量数据处理
在前台界面相关的 界面控制器 中,使用 NSNotificationCenter 进行监听,对监听到的数据进行相应的业务逻辑处理
|
|