Как можно multi nRF52840 подключить rpi4?
Я хочу подключить два устройства nrf52840 и raspberry pi. При подключении к одиночному устройству работает нормально. Однако при соединении с двумя устройствами возникает ошибка и останавливается.
Идентификаторы rx uuid двух устройств различны.
Вот мой код
def read_left_data(self):
left_thread = threading.Thread(target=self.left_data)
left_thread.start()
def left_data(self):
try:
left_adapter.start()
#left mac address : DF:BB:3A:13:EE:1D
#right mac address : C4:78:6A:80:D7:A7
left_device = left_adapter.connect('DF:BB:3A:13:EE:1D', address_type=pygatt.BLEAddressType.random)
#read value nordic tx uuid
while True:
#left tx uuid : 6e40ABCD-b5a3-f393-e0a9-e50e24dcca9e
#right tx uuid : 6e400003-b5a3-f393-e0a9-e50e24dcca9e
value = left_device.char_read("6e40ABCD-b5a3-f393-e0a9-e50e24dcca9e")
receive_data = hexlify(value) #get value
receive_data = receive_data.decode('utf-8') #remove hex 'b'
#do something with receive_data
если я подключаю другое устройство, эта ошибка возникает и прекращается
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "qttest_right.py", line 91, in rightData
value = rightDevice.char_read("6e40ABCD-b5a3-f393-e0a9-e50e24dcca9e")
File "/usr/local/lib/python3.6/site-packages/pygatt/backends/gatttool/device.py", line 17, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pygatt/backends/gatttool/device.py", line 40, in char_read
return self._backend.char_read(self, uuid, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pygatt/backends/gatttool/gatttool.py", line 50, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pygatt/backends/gatttool/gatttool.py", line 593, in char_read
self.sendline('char-read-uuid %s' % uuid)
File "/usr/local/lib/python3.6/contextlib.py", line 88, in __exit__
next(self.gen)
File "/usr/local/lib/python3.6/site-packages/pygatt/backends/gatttool/gatttool.py", line 191, in event
self.wait(event, timeout)
File "/usr/local/lib/python3.6/site-packages/pygatt/backends/gatttool/gatttool.py", line 157, in wait
raise NotificationTimeout()
pygatt.exceptions.NotificationTimeout: None
Как я могу решить эту ошибку?