Инструмент командной строки для взаимодействия с устройствами Bluetooth Low Energy, аналогичный gatttool.

Я только что узнал, что некоторый код Python, над которым я работаю в Linux, также должен работать в OSX.

Из соображений надежности в Linux я использовал неуклюжий, но эффективный подход к чтению и записи характеристик на устройствах Bluetooth с низким энергопотреблением. Я просто порождал подпроцесс, который вызывает gatttoolкоманду с соответствующими аргументами и фиксирует вывод. (Ни одна из библиотек, которые я пробовал, не работала надежно).

Итак, теперь, когда мне нужно заставить его работать на OSX, было бы замечательно просто использовать тот же подход, но с инструментом, который работает на OSX. К инструменту предъявляются следующие требования:

  • Чтение произвольной характеристики bluetooth на произвольном устройстве
  • Записать произвольную характеристику bluetooth на произвольное устройство

Есть ли такой инструмент для OSX? Если нет, то есть ли способ, которым я могу gatttoolработать под OSX?

Спасибо

Я собираюсь решить ту же проблему, не могли бы вы поделиться, как вы справились с опубликованным решением?

Ответы (1)

GATT не так легко отображается в macOS, как CoreBluetooth (к которому вы можете легко получить доступ из командной строки с помощью моста swift или python и target c).

Код pybluez очень хорошо прокомментирован и содержит хорошие самородки, такие как:

См. https://developer.apple.com/documentation/iobluetooth для документации Apple IOBluetooth.

См. http://pyobjc.sourceforge.net для получения подробной информации о том, как получить доступ к классам Objective-C через PyObjC.

Если эти примеры Python не работают, то, если вы разработчик, я бы начал с загрузки дополнительных инструментов для Xcode (последняя бета-версия ). Если вы не разработчик, то бесплатный Xcode будет тем местом, где я начну видеть, как быстро вы можете перейти к GATT, или посмотреть, подходит ли CoreBluetooth API для того, что вы хотите сделать.