Herramienta de línea de comandos para interactuar con dispositivos Bluetooth Low Energy, similar a gatttool

Acabo de descubrir que parte del código de Python que tengo trabajando en Linux también necesita funcionar en OSX.

Por razones de confiabilidad, en Linux he estado usando un enfoque torpe pero efectivo para leer y escribir características en dispositivos Bluetooth Low Energy. Simplemente he estado generando un subproceso que llama al gatttoolcomando con los argumentos apropiados y capturando la salida. (Ninguna de las bibliotecas que probé funcionaría de manera confiable).

Entonces, ahora que tengo que hacerlo funcionar en OSX, sería maravilloso usar el mismo enfoque, pero con una herramienta que funcione en OSX. Los requisitos para la herramienta son:

  • Leer de una característica arbitraria de bluetooth en un dispositivo arbitrario
  • Escriba en una característica arbitraria de bluetooth en un dispositivo arbitrario

¿Existe tal herramienta para OSX? Si no, ¿hay alguna manera de que pueda gatttooltrabajar con OSX?

Gracias

Estoy a punto de abordar el mismo problema, ¿te importaría compartir cómo te fue con la solución publicada?

Respuestas (1)

GATT no está expuesto en macOS tan fácilmente como CoreBluetooth (al que puede acceder fácilmente desde la línea de comandos con puentes Swift o Python y Objective C).

El código pybluez está muy bien comentado y tiene buenas pepitas como:

Consulte https://developer.apple.com/documentation/iobluetooth para obtener la documentación de IOBluetooth de Apple.

Consulte http://pyobjc.sourceforge.net para obtener detalles sobre cómo acceder a las clases de Objective-C a través de PyObjC.

Si esos ejemplos de python no funcionan, entonces, si es un desarrollador, comenzaría con las descargas de herramientas adicionales para Xcode (última versión beta ). Si no es un desarrollador, entonces el Xcode gratuito sería donde empiezo a ver qué tan rápido puede llegar a GATT o ver si la API CoreBluetooth es adecuada para lo que quiere hacer.