iBeacon的核心,是配备“低功耗蓝牙(BLE)”通信功能的装置。该装置利用BLE向周围发送ID,接收到ID的App会根据ID做出反应。例如,在店内设置用来发送iBeacon的ID的通信模块(以下称作“Beacon模块”)后,iPhone和iPad就会收到ID信息,在ID的触发下,与ID挂钩的App就会接收到来自服务器的信息。
——
iBeacon利用的是BLE的广播帧“通告帧”(Advertising)。通告帧由配备BLE的设备定期发出,只要是支持BLE的终端,都可以接收到信号。通告帧的有效载荷部分,写入了由苹果定义的数据。
iBeacon的数据大致由四部分信息组成:
(1)UUID(universally unique identifier)
(2)Major
(3)Minor
(4)Measured Power
——
UUID
UUID是用来识别设置Beacon模块的企业的128位识别码。识别码并非由苹果定义,而是直接采用“ISO/IEC11578:1996”的标准。UUID包括Version 1~5五种。
Version(名称) |
|
1(MAC Addmiss) | 由MAC地址、UUID生成的日期等组成。 |
2(DCE searity) | MAC地址、生成时间、POSIX的UID或GID生成。 |
3(MD5 hash) | 通过MD5的散列函数生成URL |
4(random) | 利用随机数发生器等生成 |
5(SHA-1 hash) | 通过SHA-1的散列函数生成URL |
Version 1由MAC地址、UUID生成的日期等组成。因为MAC地址唯一,所以可以确保UUID的独特性。
Version 2是以MAC地址和生成时间为基础,利用POSIX的UID和GID等生成的数据。
Version 3的基础是通过MD5函数输出的哈希值,表示URL和邮件地址等唯一命名空间。
Version 4是随机数。
Version 5与Version 3基本相同,使用的是SHA-1的散列函数。
——
Major
Major表示iBeacon的群组,为16位识别码。
——
Minor
Minor表示iBeacon组内识别码,为16位识别码。
——
Measured Power
Measured Power是iBeacon的发送模块与接收器之间距离为1米时信号强度(RSSI:received signal strength indicator)的参照值。接收器根据作为参照的RSSI和接收信号的强度,推测发送模块与接收器之间的距离。
——
POSIX:portable operating system interface(可移植操作系统接口)。为了在不同的OS上设置相同的API、方便开发可移植性强的App软件而制定的App接口标准。国际标准的名称为ISO/IEC 9945。
GID:group identifier,组标识。用来区分用户群组的识别码。