您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用BlueZ堆栈作为外围设备时有效负载错误

使用BlueZ堆栈作为外围设备时有效负载错误

两个问题:

,该 至少为8个字节。因此,要宣传“ helloworld”,您实际上需要发送:

sudo hcitool -i hci0 cmd 0x08 0x0008 10 02 01 1a 0c ff 18 01 48 45 4c 4c 4f 57 4f 52 4c 44

前8个字节为标头,后10个字节为编码为8位ASCII的字符串“ helloworld”。

前8个字节可以像这样分解:

10 # Total length of the advertising packet
02 # Number of bytes that follow in first AD structure
01 # Flags AD type
1A # Flags value 0x1A = 000011010  
   bit 0 (OFF) LE Limited Discoverable Mode
   bit 1 (ON) LE General Discoverable Mode
   bit 2 (OFF) BR/EDR Not Supported
   bit 3 (ON) Simultaneous LE and BR/EDR to Same Device Capable (controller)
   bit 4 (ON) Simultaneous LE and BR/EDR to Same Device Capable (Host)
0C # Number of bytes that follow in second (and last) AD structure
FF # Manufacturer specific data AD type
18 01 # Company identifier code (0x0118 == Radius Networks)

请注意,此标头包含两个不同的长度字段,如果您更改“ helloworld”有效负载的长度,则必须调整这些字段。另外,出于实验目的,欢迎您将任意两个字节用作所需的公司标识符。

要查看原始字节,必须将此命令与hcidump命令结合使用

其他 2022/1/1 18:14:41 有557人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶