Il semble possible d'exécuter USB sur IP, par exemple en utilisant usbip
ce qui fait partie de certaines distributions Linux, par exemple https://www.archlinux.org/packages/?q=usbip
Existe-t-il quelque chose de similaire pour Bluetooth sur IP? (PAS: IP sur Bluetooth).
Cela permettrait la séparation physique, par exemple, d'un smartphone compatible BT d'un casque compatible BT via Internet.
Linux bnep
pourrait peut-être le faire, mais je n'ai pas pu trouver d'instructions sur la façon de le faire.
linux
networking
bluetooth
tunnel
Johannes Ernst
la source
la source
Réponses:
Bien que dans notre monde technologique, tout semble aujourd'hui possible, pour autant que je sache, le véritable Bluetooth-to-Bluetooth-sur-IP n'a jamais été mis en œuvre. Je vais essayer d'expliquer les difficultés qui, bien que non insurmontables, sont à l'origine de cette situation.
Le Bluetooth lui-même est une norme de technologie sans fil pour l'échange de données sur de courtes distances. Il est généralement utilisé pour les connexions d'appareil à appareil et implique la notion d'appariement, à des fins de sécurité. Le protocole Bluetooth est extrêmement polyvalent et peut être utilisé à de nombreuses fins. Sa popularité vient du fait qu'il fonctionne à des fréquences qui ne sont pas autorisées à l'échelle mondiale (mais pas non réglementées).
La véritable connexion Bluetooth à Bluetooth sur IP nécessiterait deux appareils Bluetooth pour se coupler sur IP. Ce n'est pas la même chose que, par exemple, deux personnes utilisant Skype pour parler sur Internet via des casques Bluetooth, car les casques sont couplés avec leurs ordinateurs et non entre eux.
Voici quelques extraits du modèle OSI de l'article Wikipedia :
TCP et UDP sont des protocoles de niveau 4 de transport, tandis que Bluetooth est un protocole de niveau 1 physique inférieur. Ainsi, vous pouvez utiliser TCP ou UDP sur Bluetooth, tout comme vous utilisez TCP et UDP sur Ethernet, mais l'inverse est beaucoup plus difficile.
La pile de protocoles Bluetooth comprend ses propres protocoles de transport: L2CAP et RFCOMM, où les liaisons RFCOMM utilisent la couche L2CAP. Vous pouvez utiliser un tunnel IP sur des paquets UDP encapsulant Bluetooth sur des liaisons RFCOMM.
En utilisant une terminologie OSI pure, il est impossible, voire une contradiction de termes, d'utiliser un protocole de couche 1 sur la couche 4.
En pratique, nous pourrions imaginer un adaptateur virtuel écrit par logiciel qui se déclarerait à Linux côté client en tant que périphérique Bluetooth physique et parlerait sur IP à un autre périphérique Bluetooth virtuel de ce type sur le côté serveur Linux. Mais la complexité de l'émulation des couches OSI et l'effort de programmation requis pour implémenter le protocole Bluetooth très polyvalent et son architecture maître-esclave font de la création d'une telle implémentation générale un exercice très exigeant qui ne se produira probablement pas, comme il existe actuellement aucune demande pour un tel logiciel.
la source
Je n'ai pas essayé tout cela en pratique, mais c'est des choses que je pourrais trouver qui parlent de "Bluetooth sur IP".
Le livre Linux Kernel Networking est très technique mais il décrit comment faire "Bluetooth sur IP":
Cela crée une interface virtuelle
bnep0
.Apparemment, cela vous donne juste L2CAP, qui ne peut envoyer que des paquets sur un "piconet". Mais pour L2CAP, il y a des réflexions sur la façon de les envoyer sur IP dans un projet IETF: Transmission de paquets IP sur les réseaux Bluetooth .
Et puis j'ai aussi trouvé UbiPAN: Un réseau étendu personnel Bluetooth qui mentionne "Bluetooth sur IP" - mais malheureusement, il ne semble pas que UbiPAN ait été publié en tant que logiciel gratuit.
la source
J'ai été sur la même pensée (ou similaire) récemment. Ce que je veux faire, c'est utiliser un concentrateur domotique, qui ne peut malheureusement pas atteindre toute la maison avec une radio à emplacement unique.
Ma configuration est la suivante: ordinateur exécutant le client bluez + usbip <- LAN -> autre ordinateur avec dongle USB Bluetooth physique + serveur USB.
Il s'avère que cela fonctionne très bien. Du point de vue Bluez, il n'est pas en mesure de faire la différence entre les dongles USB locaux et distants.
(Machines exécutant Linux 4.9.80 + mise à jour-usbip + Bluez 5.48; arm)
la source
Harrymc a raison.
Ce n'est pas possible ou du moins pas faisable.
Vous pouvez coupler votre téléphone avec un ordinateur et votre casque avec un autre ordinateur et avoir ainsi deux connexions Bluetooth. La connexion entre les ordinateurs peut être pontée comme bon vous semble et à son tour relayer toutes les communications Bluetooth. Cela donnera l'impression que vous avez ponté le Bluetooth sur IP et vous pourriez probablement les amener à se parler et à faire certaines des choses que vous essayez de faire.
Mais en réalité, il n'y a pas de connexion Bluetooth entre les deux appareils.
Le périphérique A dispose d'une connexion Bluetooth à un ordinateur.
Le périphérique B dispose d'une connexion Bluetooth à un autre ordinateur.
Les deux appareils ne pourront pas se coupler et se connecter directement l'un à l'autre. On pourrait théoriquement construire quelque chose qui permettrait d'établir une liaison Bluetooth directe, mais traverser les couches et la gestion des clés de liaison serait un cauchemar à régler et ce n'est qu'un début, je n'ai aucune idée de la façon de résoudre la gestion et la fréquence des paquets saut, le taux de saut de fréquence Bluetooth est de 1600 sauts / s pour un seul paquet de slot.
Si quelqu'un faisait cela, je serais très impressionné et j'aimerais beaucoup jeter un œil sous le capot.
la source
Ok, j'ai enquêté un peu plus. Ce n'est pas possible.
Voici pourquoi: Pour que cela fonctionne, vous aurez besoin de la puce Bluetooth de l'ordinateur pour relayer les informations au lieu de vous répondre.
Cette fonctionnalité n'existe pas encore.
Je ne peux partager aucune documentation pour le moment, car elle est exclusive et confidentielle.
Si vous êtes membre de BT SIG, vous pouvez consulter la feuille de route Bluetooth dans la section Panorama sur bluetooth.org
la source