如何通过Python DBus在树莓派发送含Flags的BLE广播包
BLE广播添加Flags字段的正确方法
你之前的三种写法都不对,因为BLE广播里的
Flags是单字节的位掩码,不是字符串列表,得用数值转成字节数组来设置。先明确常用标志对应的十六进制值:
- 通用可发现模式:
0x02 - 不支持BR/EDR:
0x04
把需要的标志按位或计算,比如同时启用上面两个就是
0x02 | 0x04 = 0x06,然后用下面两种正确方式设置:
方式一(DBus数组写法):self.__properties['AdvertisingFlags'] = DBusArray([DBusByte(0x06)], signature='ay')方式二(GLibVariant写法):
self.__properties['AdvertisingFlags'] = GLibVariant('ay', b'\x06')- 通用可发现模式:
设置完成后用nRF Connect扫描,就能看到和其他设备一样的Flags字段了。
内容的提问来源于stack exchange,提问作者Boaz Warshawsky
相关产品推荐
相关产品推荐

