Как повторить чтение значения с устройства BLE только при обновлении значения (python на MacOS)? - PullRequest
0 голосов
/ 05 декабря 2018

Как заголовок, теперь я могу получать значения с устройства BLE, как показано в следующих кодах:

class RobotDelegate(object):
...

def peripheral_didDiscoverCharacteristicsForService_error_(self, peripheral, service, error):
for characteristic in self.service.characteristics():
   if characteristic.UUID() == blebee_characteristic:
        self.characteristic = characteristic
        print ("self.characteristic.value = ", self.characteristic.value())
...

delegate = RobotDelegate()
manager = CBCentralManager.alloc()
manager.initWithDelegate_queue_options_(delegate, None, None)

AppHelper.runConsoleEventLoop()

И я могу прочитать значение с моего устройства BLE только один раз ... На самом деле,Устройство BLE может постоянно обновлять значение, когда кто-то трогает, поэтому мне хотелось бы знать, как мне сделать, чтобы достичь этого?Спасибо.

1 Ответ

0 голосов
/ 05 декабря 2018

Я бы рекомендовал использовать шаблон наблюдателя.Пример можно найти здесь .В вашем случае BLE-устройство будет «Subject» и будет уведомлять каждый раз, когда значение меняется.

...