我正在尝试开发一个应用程序,它使用BLE与外部设备通信。我决定使用pygatt
(Python)和{
我正在与之通信的设备有一个具有一组特征的自定义主服务。根据它们的规格,它们有2个读特性,8个通知字符和1个写入字符。最初,我想读两个read char中的一个,但我不能这样做。他们的UUID不被视为特征。这是怎么回事?我百分之百肯定他们输入的是正确的。在
import pygatt
import bleconnect
import blelib
import logging
logging.basicConfig()
logging.getLogger('pygatt').setLevel(logging.DEBUG)
adapter = pygatt.BGAPIBackend(serial_port='/dev/tty.usbmodem1')
adapter.start()
# Find the device
result = adapter.scan(timeout=5)
for item in result:
scan_name = item['name']
scan_rssi = item['rssi']
scan_address = item['address']
if scan_name == bleconnect.TARGET_NAME:
break
# Connect
device = adapter.connect(address=scan_address)
device.char_read(blelib.CHARACTERISTIC_DEVICE_FEATURES)
我可以在调试消息中看到,找到了所有的NOTIFY和WRITE特性,但没有找到这两个READ特性。在
我错过了什么?
这似乎是
pygatt
API中的某种缺陷。我只使用bgapi
找到了实际值。在相关问题 更多 >
编程相关推荐