蓝牙Bluetooth 5.0 室内定位 Indoor Position学习(三)

干干干,写写写,IPP要写完了,写完作数,后面接着干IPS。

5 Mobile

本章节描述了移动设备端的执行要求。
移动端首先得支持IPS,OTS不强制要求。因为Beacon也不一定存在全天线数据。

Service Support in Mobile
Indoor Position Service M
Object Transfer Service C1
Profile Requirement Support in Mobile
Service Discovery M
-Indoor Position Service Discovery M
-Object Transfer Service Discovery C1
Characteristic Discovery M
-Indoor Position Service Characteristic Discovery M
-Object Transfer Service Characteristic Discovery C1
Other Characteristic O

C1: 当然,如果Mobile端支持了全天线数据,那就必须支持OTS,不然没法交互。

5.1 GATT子操作要求

本章节只是规定了满足需求下的最低要求,如果你还要其他的,也是可以的,只要client和server同时支持就好。
下面的表格总结了一些额外的GATT子操作要求,除了那些通用的。

GATT Sub-Procedure Mobile(Client) Requirement
Discovery All Primary Services c1
Discovery Primary Services by Service UUID c1
Discovery All Characteristic of a Service c2
Discovery Characteristic by UUID c2
Read Characteristic Value o
Write Chracteristic Value o
Find Include Services c3

C.1: 二选一支持
C.2: 二选一支持
C.3: 如果Mobile支持OTS的话,就必须支持。
PS:为什么Read/Write都是可选的?不知道就看IPS 1.0

5.2 服务发现

5.2.1 Indoor Position Service Discovery

说的都是屁话,Mobile应该去搜索到这个Service,用什么方法,就用上面表格里面提供的方法咯。

5.2.2 Object Transfer Service Discovery

跟上一节一样的屁话。唯一不同的是,这个service不一定需要去发现。

5.3 特性发现

5.3.1 Indoor Position Service Characteristic Discovery

之前在表格里面的Read/Write都是可选的,那么chracteristic的发现当然也是可选的,不然发现了也没什么用。表格写一写。

Characteristic Discovery Requirement for Mobile
Indoor Position Configuration O
Latitude O
Longitude O
Local North Coordinate O
Local East Coordinate O
Floor Number O
Altitude O
Uncertainty O
Location Name O
High Accuracy Advertising Data O
Full Antenna Response Data O
Simplified Antenna Platform Data O

5.3.2 Object Transfer Service Characteristic Discovery

这里稍微有点不一样,其实也没啥不一样。本来这个OTS就是不一定支持的。但是,如果你要支持的话,那么这个Service里面的一些特性就必须获取到,才能支持。特性获取方法就不说了,就是表格里面写的那个。表格走起。

OTS Characterisitc Support Requirements Support in Mobile
Object Size M
Object Action Control Point(OACP) M

OTS应该还有很多特性的,但是上表只写了两个,因为IPP也只用这两个就够了。

5.4 特性介绍

这点的特性介绍很简单了,完整的介绍在IPS文档里面。

5.4.1 Indoor Position Configuration Characteristic

这个特性的每一个bit位,就代表了ADV中有哪些信息。比如定位系统用的哪一种呀、高度有没得呀、Tx Power信息有没得呀这种。所以在做IPP的时候,关键要解析这个数据。

5.4.2 Miscellaneous Characteristic

就是那些Latitude、Longitude、Local…、Floor Number、Altitude等。

5.4.3 High Accuracy Advertising Data Chracteristic

还是看IPS 1.1吧

5.4.4 Full Antenna Response Data Object

继续看IPS 1.1

5.4.5 Simplified Antenna Platform Data Characteristic

继续看IPS1.1,没毛病

5.5 Object Transfer Service Characteristic

5.5.1 Object Size Characteristic

在做任何OACP对象读取之前,都必须先确定到对象内容的总长度。读取的方法就是获取Object Size Characterisit里面的Current Size的值。
每次Full Antenna Response Data被读取的时候都需要再次执行这个操作。因为在一次次读取的时候,对象都会出现改变。

5.5.2 Object Action Control Point(OACP) characteristic

在对OACP进行写操作之前,需要先配置这个特性。
一旦文件传输的链路被打开之后,就不能再使用Read/Write对其进行操作。

5.5.3

不想看OTS,后面再补吧

6 连接建立

这一章就是表述链路的建立和终端。
弄清楚三个连接模式:
1. 未绑定的连接模式
在这种模式下,两端会建立ACL链路,但只能读,不能写。天线数据可以在这个模式下进行获取。
2. 已绑定的连接模式
在这种模式下,两端会建立ACL链路,既可以读,也可以写。天线数据可以在这个模式下进行写入。
3. 无连接模式
在这种模式下,Mobile就只能不停的去同步获得Beacon的信息,属于IPP大部门处于的一种状态。

6.1 Beacon Periodic Advertising Mode

6.2 Mobile Periodic Advertising Synchronization Establishment Precedure

这两种模式,一个就是Beacon周期性的发送ADV包,Mobile被动获取。也可以Mobile周期性发起读取操作来获取。
PS: Android里面这些服务搜索呀,特性搜索,早就做好了,完全不担心。

IPS才不多就这样了。将就看吧。

你可能感兴趣的:(bluetooth,android)