我如何从 dbus bluez api 中提取任何有用的信息 returns 一个字节数组
how I can extract any useful information from the dbus bluez api that returns a byte array
对于 BLE,我在 Raspberry pi 3 设备上使用 BLUEZ5 堆栈,
对于 运行 gatt 服务器,我在我的板(服务器)中使用了 example-gatt-server.py,并在中央设备(客户端)中使用了移动设备
当我从我的手机的特征中写入值时,它在我的设备(回调)中接收到的是字节数组格式,如 "dbus.Array([dbus.Byte(1), dbus.Byte(35)], signature=dbus.Signature('y'))"
我无法解码,
我如何从 dbus bluez api 中提取任何有用的信息 returns 一个字节数组
我使用以下 link 作为 example-gatt-server.py :
https://github.com/RadiusNetworks/bluez/blob/master/test/example-gatt-server
以下python代码是打印参数的回调函数。在我的例子中,数组的每个字节代表一个 ASCII 字符)。
def notification_callback(*args, **kwargs):
"""
Function that will receive DBus notifications signals (properties_changed signals)
when the temperature is updated
"""
#Get the byte array
byte_array = args[1]['Value']
#Convert the byte array into a string
received_value = ''.join(chr(byte) for byte in byte_array)
print ("Received value " + received_value)
对于 BLE,我在 Raspberry pi 3 设备上使用 BLUEZ5 堆栈, 对于 运行 gatt 服务器,我在我的板(服务器)中使用了 example-gatt-server.py,并在中央设备(客户端)中使用了移动设备 当我从我的手机的特征中写入值时,它在我的设备(回调)中接收到的是字节数组格式,如 "dbus.Array([dbus.Byte(1), dbus.Byte(35)], signature=dbus.Signature('y'))" 我无法解码,
我如何从 dbus bluez api 中提取任何有用的信息 returns 一个字节数组
我使用以下 link 作为 example-gatt-server.py : https://github.com/RadiusNetworks/bluez/blob/master/test/example-gatt-server
以下python代码是打印参数的回调函数。在我的例子中,数组的每个字节代表一个 ASCII 字符)。
def notification_callback(*args, **kwargs):
"""
Function that will receive DBus notifications signals (properties_changed signals)
when the temperature is updated
"""
#Get the byte array
byte_array = args[1]['Value']
#Convert the byte array into a string
received_value = ''.join(chr(byte) for byte in byte_array)
print ("Received value " + received_value)