蓝牙 (三) 蓝牙协议栈

  • 深入浅出低功耗蓝牙(BLE)协议栈

  • 蓝牙BLE实用教程

  • 解答蓝牙协议栈软件框架,值得了解


应用层可以分为两部分,
以从机为例,我们可以通过GATT层定义自己的Profile,供主端设备读取放在从机服务器上的数据;

另外我们需要做自己的应用层程序,这个和普通MCU并无差别。

需要注意的是,市面上流行的芯片的软件框架都是基于RTOS展开,应用层单独是一个TASK执行,协议栈是另外的TASK在执行,

协议栈是通过回调函数和应用层进行交互,协议栈通过消息传递机制让应用层TASK知道有蓝牙相关的操作,

应用层通过相应的回调函数发现是GAP层的状态改变还是GATT层有数据进行传递,然后执行我们设计的功能。

http://bbs.21ic.com/icview-966816-1-1.html

arm-linux-bluez

  • 各厂商蓝牙协议栈
  • 开源蓝牙5.0协议栈NimBLE介绍
https://github.com/bluekitchen/btstack
https://github.com/RT-Thread-packages/nimble
https://github.com/zephyrproject-rtos/zephyr.git

Zephyr
	Zephyr从头编写了低功耗蓝牙 (BLE) 实施方案,并移植了开源 Contiki RTOS 中的 IP 堆栈,支持蓝牙、低功耗蓝牙、IEEE 802.15.46Lowpan、CoAP、IPv4、IPv6、NFC,以及Arduino 101、Arduino Due、第二代英特尔 Galileo 开发板、NXP FRDM-K64F Freedom 开发板等

你可能感兴趣的:(蓝牙)