这本书出自CSR蓝牙协议架构师,是蓝牙领域大牛的作品,不过总体看来本书还是比较简单的。
低功耗的基本理念就是连接是瞬态的,当你需要做某件事或者检查情况时,可以快速创建一个连接,完成要做的事,而后断开连接。
低功耗蓝牙可以在大约3ms内建立连接、发送数据并优雅地断开连接。
用一台机器每天响应数百万的请求可能导致过载甚至服务失效。解决的办法是使用许多相同的、有权访问相同信息的服务器。还有个办法是将同一个域名解析成不同的IP地址告诉不同的客户端,使负载均匀地分布在各服务器之上。
本书介绍还是很通俗易懂的。低功耗蓝牙体系结构分为三个基本部分:
- Controller:通常为一个物理设备,能发送和接收无线电信号,并懂得如何将这些信号翻译成携带信息的数据包;
- Host:通常是一个软件栈,管理两台设备间如何通信以及如何利用无线电同时提供几种不同的服务;
- Application:应用程序部分,使用软件栈实现用户实例。
即Link Layer,是BLE中最复杂部分,负责广播、扫描、建立和维护连接,以及确保数据包按照正确的方式组织、正确地计算校验值以及加密序列等。其定义了三个基本概念:信道、报文、过程。
实际上由两个独立的部分组成:
- 逻辑接口:定义了command和event及其相关的行为;
- 物理接口:定义了command和event和数据如何通过不同的连接技术来传输(USB, SDIO, UART)。
使用的固定信道:信令信道(signal channel),安全管理器信道(SMP),属性协议信道(ATT)。
链路层是BLE最为复杂的部分。
BLE的数据会进行白化处理,其原因时频移键控(FSK)接受连续相同比特的能力很差,而白化就是减小这种连续相同比特的长度。