Parece posible ejecutar USB sobre IP, p. Ej., Utilizando el usbip
que forma parte de algunas distribuciones de Linux, p. Ej. Https://www.archlinux.org/packages/?q=usbip
¿Hay algo similar para Bluetooth sobre IP? (NO: IP a través de Bluetooth).
Esto permitiría la separación física de, por ejemplo, un teléfono inteligente habilitado para BT de un auricular habilitado para BT a través de Internet.
Es bnep
posible que Linux pueda hacer eso, pero no he podido encontrar instrucciones sobre cómo hacerlo.
linux
networking
bluetooth
tunnel
Johannes Ernst
fuente
fuente
Respuestas:
Aunque en nuestro mundo tecnológico todo parece posible hoy, hasta donde yo sé, nunca se ha implementado el verdadero Bluetooth a Bluetooth sobre IP. Trataré de explicar las dificultades que, aunque no son insuperables, son la causa de esta situación.
El propio Bluetooth es un estándar de tecnología inalámbrica para el intercambio de datos a distancias cortas. Por lo general, se usa para conexiones de dispositivo a dispositivo e implica la noción de emparejamiento, por razones de seguridad. El protocolo Bluetooth es extremadamente versátil y puede usarse para muchos propósitos. Su popularidad surge del hecho de que opera en frecuencias que no tienen licencia global (pero no están reguladas).
El verdadero Bluetooth a Bluetooth sobre IP requeriría dos dispositivos Bluetooth para emparejarse a través de IP. Esto no es lo mismo que, por ejemplo, dos personas que usan Skype para hablar por Internet a través de auriculares Bluetooth, porque los auriculares están emparejados con sus computadoras y no entre sí.
Aquí hay algunos extractos del modelo OSI del artículo de Wikipedia :
TCP y UDP son protocolos de nivel de transporte 4, mientras que Bluetooth es un protocolo de nivel 1 físico más bajo. Por lo tanto, podría usar TCP o UDP sobre Bluetooth, del mismo modo que usa TCP y UDP sobre Ethernet, pero lo contrario es mucho más difícil.
La pila de protocolos Bluetooth incluye sus propios protocolos de transporte: L2CAP y RFCOMM, donde los enlaces RFCOMM usan la capa L2CAP. Puede trabajar algunos túneles IP a través de Bluetooth encapsulando paquetes UDP a través de enlaces RFCOMM.
Usar la terminología pura de OSI, es imposible, incluso es una contradicción de términos, usar un protocolo de capa 1 sobre la capa 4.
Hablando en términos prácticos, podríamos imaginar un adaptador virtual escrito en software que se declararía a Linux en el lado del cliente como un dispositivo Bluetooth físico y hablaría por IP con otro dispositivo Bluetooth virtual en el lado del servidor Linux. Pero la complejidad involucrada en la emulación de capas OSI y el esfuerzo de programación que se requiere para implementar el protocolo Bluetooth muy versátil y su arquitectura maestro-esclavo hacen que la creación de una implementación tan general sea un ejercicio muy exigente que es poco probable que ocurra, ya que actualmente No hay demanda de dicho software.
fuente
No he probado nada de esto en la práctica, pero es algo que podría encontrar que habla sobre "Bluetooth sobre IP".
El libro Linux Kernel Networking es muy técnico pero describe cómo hacer "Bluetooth sobre IP":
Esto crea una interfaz virtual
bnep0
.Aparentemente, esto solo le proporciona L2CAP, que solo puede enviar paquetes a través de una "piconet". Pero para L2CAP hay pensamientos sobre cómo enviarlos a través de IP en un borrador de IETF: Transmisión de paquetes IP a través de redes Bluetooth .
Y luego también encontré UbiPAN: una red de área personal extendida de Bluetooth que menciona "Bluetooth sobre IP", pero desafortunadamente no parece que UbiPAN haya sido lanzado como software libre.
fuente
He apostado por el mismo (o similar) pensamiento recientemente. Lo que quiero hacer es utilizar un centro de automatización del hogar, que desafortunadamente no puede llegar a toda la casa con radio de ubicación única.
Mi configuración es la siguiente: computadora que ejecuta bluez + usbip client <- LAN -> otra computadora con dongle USB bluetooth físico + servidor usbip.
Resulta que esto funciona bien. Desde el punto de vista de Bluez, no es capaz de distinguir entre los dongles USB locales y remotos.
(Máquinas que ejecutan Linux 4.9.80 + up-todate-usbip + Bluez 5.48; arm)
fuente
Harrymc está en lo correcto.
Esto no es posible o al menos no es factible.
Puede emparejar su teléfono con una computadora y sus auriculares con otra computadora y así tener dos conexiones bluetooth. La conexión entre las computadoras se puede conectar de la manera que se desee y, a su vez, transmitir toda la comunicación por Bluetooth. Esto hará que parezca que ha puenteado Bluetooth sobre IP y probablemente podría hacer que se comuniquen entre sí y hagan algunas de las cosas que está tratando de hacer.
Pero en realidad no hay conexión Bluetooth entre los dos dispositivos.
El dispositivo A tiene una conexión bluetooth a una computadora.
El dispositivo B tiene una conexión bluetooth a otra computadora.
Los dos dispositivos no podrán emparejarse y conectarse directamente entre sí. Teóricamente, se podría construir algo que permitiría configurar un enlace bluetooth directo, pero atravesar las capas y la administración de la clave de enlace sería una pesadilla para resolver y eso es solo el comienzo, no tengo idea de cómo resolver la administración y frecuencia de paquetes salto, la frecuencia de salto de frecuencia de bluetooth es de 1600 saltos / s para un paquete de ranura única.
Si alguien realmente hiciera esto, estaría muy impresionado y me gustaría echar un vistazo debajo del capó.
fuente
Ok, he investigado esto un poco más. No es posible.
Aquí está la razón: para que esto funcione, necesitará el chip bluetooth en la computadora para transmitir la información en lugar de responderse.
Esta funcionalidad aún no existe.
No puedo compartir ninguna documentación en este momento, ya que es de propiedad y confidencial.
Si es miembro de BT SIG, puede ver la hoja de ruta de bluetooth en la sección panorámica en bluetooth.org
fuente