es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Implementando la arquitectura cliente/servidor de Bluetooth en C++ con DBus.

Necesito conectar mi teléfono Android a la PC Linux a través de Bluetooth. El teléfono debe poder crear una conexión a través de la MAC de la PC y el UUID del servicio (o solo el UUID) de forma completamente automática. Y el teléfono debe ser el iniciador de la conexión.

He utilizado este ejemplo: An Introduction to Bluetooth Programming y me he encontrado con problemas, que probablemente se deben a que mi muestra está obsoleta. Me han aconsejado que use la nueva biblioteca DBus, pero realmente no entiendo cómo conectar el programa en mi teléfono (que debería estar escrito en Java/Kotlin/Flutter) a la arquitectura DBus.

He encontrado este ejemplo: DBus tutorial using the low-level API y esta línea me confunde mucho: Con DBUS, antes de que las aplicaciones puedan comunicarse entre sí, deben estar conectadas al mismo BUS. ¿Significa esto que si uso DBus en mi servidor (Linux, C++), también debo usar DBus en mi teléfono?

Si es así, ¿qué más puedo usar para cumplir con mi tarea?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para conectar tu teléfono Android a una PC con Linux a través de Bluetooth y hacer que el teléfono sea el iniciador de la conexión, debes crear un programa en tu teléfono utilizando Java/Kotlin/Flutter que se comunique con la pila de Bluetooth en el teléfono para iniciar la conexión. Este programa debe utilizar la clase BluetoothAdapter para buscar y conectarse a la PC con Linux proporcionando la dirección MAC y el UUID del servicio.

    El uso de la biblioteca DBus en la PC con Linux puede simplificar el proceso de manejo de conexiones Bluetooth y datos entrantes, pero no es necesario para crear una conexión Bluetooth. La frase “Con DBUS, antes de que las aplicaciones puedan comunicarse entre sí, deben estar conectadas al mismo BUS” significa que para que las aplicaciones en la PC con Linux se comuniquen entre sí utilizando DBus, deben estar conectadas al mismo bus de mensajes DBus. Esto no necesariamente se aplica a las conexiones Bluetooth.

    Si decides utilizar la biblioteca DBus para manejar las conexiones Bluetooth en la PC con Linux, no necesitas utilizar DBus en tu teléfono. En su lugar, puedes utilizar una biblioteca Bluetooth para tu lenguaje de programación elegido en el teléfono para conectarte a la PC con Linux.

    Además de DBus, también puedes utilizar otras bibliotecas de Bluetooth para tu lenguaje de programación elegido en la PC con Linux o en el teléfono, como BlueZ o la API de Bluetooth de Android, para crear una conexión Bluetooth entre los dispositivos.

Comments are closed.