蓝牙ATT_LIST设置服务指令

简介: 蓝牙ATT_LIST设置服务指令

ATT List表格式

image.png注:Handle是从0x0100开始向上累加的数据,0x0000表示列表的结束。


1.建立一个16bit service,service UUID为 0xfee7


0c 00 02 00 28 02 e7 fe


说明:


0c 00为handle,这个需要根据之前的handle+1得到


02 00 28 是Primary Service UUID,表示后面的数据是service UUID


02 为service UUID length,由于建立16bit UUID,所以长度是02


e7 fe 为service UUID,小端在前


2.


建立一个128bit service,service UUID 为0x000102030405060708090a0b0c0d0e0f


0c 00 02 00 28 10 0f 0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00


说明:


0c 00为handle,这个需要根据之前的handle+1得到


02 00 28 是Primary Service UUID,表示后面的数据是service UUID


10 为service UUID length,由于建立128bit UUID,所以长度是10


0f 0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00为service UUID,小端在前


3.


建立一个16bit master 写通道,UUID为0xfec7,Characteristic为write & write without Response


0d 00 02 03 28 01 0c


0e 00 02 c7 fe 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


说明:


建立一个通道需要2行数据,第一行是对通道特征的描述,第二行是声明了通道的UUID。


0d 00 为handle,这个需要根据之前的handle+1得到


02 03 28 是Characteristic Declaration UUID,表示后面的数据是Characteristic


01 为Characteristic数据长度,固定为01


0c 为Characteristic数据,每个bit为1有效,0c表示write & write without Response,每个bit的含义见附表。


0e 00为handle,这个需要根据之前的handle(0d 00)+1得到


02 为通道UUID长度,由于建立16bit UUID,所以长度是02


C7 fe 为通道UUID,小端在前


14 为通道UUID的数据长度


00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00为master发送read request时,会发送这里的数据给master,master向0xfec7通道写数据时,会向这里写入。


4.


建立一个128bit master 写通道,UUID为0x00112233445566778899aabbccddeeff,Characteristic为write & write without Response


0d 00 02 03 28 01 0c


0e 00 10 ff ee dd cc bb aa 99 88 77 66 55 44 33 22 11 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


说明:


建立一个通道需要2行数据,第一行是对通道特征的描述,第二行是声明了通道的UUID。


0d 00 为handle,这个需要根据之前的handle+1得到


02 03 28 是Characteristic Declaration UUID,表示后面的数据是Characteristic


01 为Characteristic数据长度,固定为01


0c 为Characteristic数据,每个bit为1有效,0c表示write & write without Response,每个bit的含义见附表。


0e 00为handle,这个需要根据之前的handle(0d 00)+1得到


10 为通道UUID长度,由于建立128bit UUID,所以长度是10


ff ee dd cc bb aa 99 88 77 66 55 44 33 22 11 00  为通道UUID,小端在前


14 为通道UUID的数据长度


00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00为master发送read request时,会发送这里的数据给master,master向0xfec7通道写数据时,会向这里写入。


5.监听通道

建立一个16bit master 监听通道,UUID为0xfec7,Characteristic为Notify


0d 00 02 03 28 01 20


0e 00 02 c7 fe 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


0f 00 02 02 29 02 00 00


说明:


建立一个通道需要3行数据,第一行是对通道特征的描述,第二行是声明了通道的UUID,第三行Client Characteristic Configuration描述,只有notify和indicate需要


0d 00 为handle,这个需要根据之前的handle+1得到


02 03 28 是Characteristic Declaration UUID,表示后面的数据是Characteristic


01 为Characteristic数据长度,固定为01


20为Characteristic数据,每个bit为1有效,20表示indicate,每个bit的含义见附表。


0e 00为handle,这个需要根据之前的handle(0d 00)+1得到


02 为通道UUID长度,由于建立16bit UUID,所以长度是02


C7 fe 为通道UUID,小端在前


14 为通道UUID的数据长度


00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00为master发送read request时,会发送这里的数据给master,master向0xfec7通道写数据时,会向这里写入。


0f 00为handle,这个需要根据之前的handle(0e 00)+1得到


02 02 29是Client Characteristic Configuration UUID,表示后面的数据固定00 00


02 00 00是Client Characteristic Configuration的固定数据,手机连接使能后会写入


附表:


Characteristic含义描述,其中Broadcast,Authentication Signed Write,Extended Properties芯片不支持使用

image.png


image.pngimage.pngimage.png

目录
相关文章
|
Linux
项目总结:i.mx6ull基于S485控制外设
项目总结:i.mx6ull基于S485控制外设
484 1
项目总结:i.mx6ull基于S485控制外设
|
7月前
|
算法 芯片 异构计算
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
|
5天前
|
Android开发
Android Mediatek USB 核心驱动中增加设备 PID/VID 检查
Android Mediatek USB 核心驱动中增加设备 PID/VID 检查
3 0
|
3月前
|
传感器 监控 Windows
GE通用电气 IC660BBD022 16电路启用源 I/O模块
GE通用电气 IC660BBD022 16电路启用源 I/O模块
|
9月前
|
数据格式
两个HC-05蓝牙之间的配对
两个HC-05蓝牙之间的配对
157 0
|
7月前
4G、Wifi、蓝牙所谓的AT指令模式和数据透传模式到底是什么意思?
4G、Wifi、蓝牙所谓的AT指令模式和数据透传模式到底是什么意思?
222 0
|
消息中间件 缓存 Shell
RT-Thread记录(十七、AT组件 — ESP8266使用 at_device 软件包联网)
AT 组件:RT-Thread 一个比较典型的组件, 解决了不同网络模块AT命令之间的差异导致的重复开发的问题,大幅度简化了MCU+无线模块方案开发。
668 0
RT-Thread记录(十七、AT组件 — ESP8266使用 at_device 软件包联网)
|
物联网 Android开发 iOS开发
【DX-BT24蓝牙模块-AT命令与手机透传教程】
【DX-BT24蓝牙模块-AT命令与手机透传教程】
327 0
|
编解码 安全 算法
【蓝牙系列】蓝牙5.4到底更新了什么(1)--- PAwR
蓝牙5.4规范中引入了一种新的逻辑传输“Periodic Advertising with Responses(PAwR)”,它能够支持无连接的双向应用程序数据通信。在这种技术支持下,ESL设备不需要经常性的切换接收模式,因此可以大大延长电池寿命,同时,基于PAwR的数据传输模式,保证数据传输与监听设备的相关性,从而减少能量的浪费,实现ESL设备接收数据并响应至发送器的能力。
676 0
|
算法 安全 物联网
一种更优雅的蓝牙配对技术 - Cross-transport key derivation (CTKD)
蓝牙CTKD是蓝牙4.2版本引入的一种交叉传输密钥派生的安全机制,全称 Cross-transport key derivation,主要用在蓝牙双模设备上,它可以跨越BLE和BT的边界,通过将BLE配对生成的LTK转化成BT配对的LinkKey,从而直接实现BT的配对,当然也可以通过BT配对生成的LinnkKey转化成BLE的LTK来实现BLE的配对,目前我们主要研究和使用前者。通过CTKD可以通过一次配对将BT和BLE两个链路都配对上,从而提升蓝牙双模设备的配对体验。
670 0
一种更优雅的蓝牙配对技术 -  Cross-transport key derivation (CTKD)