J'essaie de me connecter à une Totalstation qui n'offre pas de pilotes Bluetooth. Comme je le fais pour des raisons purement diagnostiques, j'aimerais voir la sortie brute de la connexion série établie.
Que dois-je faire pour diriger toutes les sorties d'une connexion Bluetooth vers un terminal?
Réponses:
En complément de la réponse de Brian. L'écran n'a pas fonctionné pour moi, affichant immédiatement
[screen is terminating]
J'ai donc trouvé ce script python miniterm . L'utilisation est similaire:
la source
1) Utilisez
hcitool scan
pour trouver l'adresse Mac de l'appareil.L'appareil doit être réglé en mode esclave avec une broche connue. Si vous n'utilisez pas de broche connue, ubuntu en crée une et vous n'aurez généralement pas le temps de la saisir dans les menus maladroits de votre outil de mesure.
2) Je ne suis pas entièrement sûr que cela soit nécessaire, mais dans le menu bluetooth gui, associez l'appareil.
3) dans /etc/bluetooth/rfcomm.conf
Le "bind no" est important, sinon il essaiera de se lier automatiquement, ce qui présente toutes sortes de problèmes pour accéder réellement à l'appareil (car il est assez difficile de savoir quand il est associé)
4)
sudo rfcomm connect 0
Si vous avez des erreurs, redémarrez le service Bluetooth.
5)
screen /dev/rfcomm0
Pour les commandes série réelles transmises de cette manière, contactez votre fournisseur et suppliez.
la source
Voici ma façon de procéder pour me connecter à un appareil Bluetooth HC-05 branché sur mon Arduino. Il n'a pas besoin d'écrire un fichier comme dans la réponse de Brian, mais l'idée est similaire. Je l'ai testé avec une configuration de débit en bauds 9600 sur l'appareil HC-05.
Première étape: associer l'appareil et fournir le code PIN
J'ai essayé de configurer l'association à partir de l'interface graphique, mais cela ne fonctionnait pas. Voici la façon de procéder en ligne de commande qui a fonctionné pour moi. Tout d'abord, jumelons l'appareil à partir de la ligne de commande. Courir :
Assurez-vous que le périphérique Bluetooth est démarré:
Nous commençons maintenant l'agent qui "se souviendra de la broche" pour
rfcomm
:Maintenant, nous activons le mode de numérisation pour trouver notre appareil et pouvoir le coupler:
Après quelques secondes, le MAC de votre appareil devrait apparaître. Nous le désignerons comme après. Ensuite, il vous suffit de coupler l'appareil comme ceci:
Il vous sera demandé de taper un code PIN, par défaut, il est
1234
sur mon appareil HC-05. Vous pouvez noter qu'il est possible que votre appareil se connecte puis se déconnecte avec un message comme celui-ci:mais ce n'est pas un problème. Vous n'avez pas besoin de vous connecter, vous pouvez donc quitter
bluetoothctl
en tapantCtrl + D
.Fournir un fichier utilisable
/dev/rfcomm0
Tout d'abord, assurez-vous que vous n'avez exécuté aucune commande rfcomm auparavant. En effet, même si vous fermez avec
Ctrl+C
le programme, il fonctionne toujours en arrière-plan.Maintenant, vous pouvez exécuter
Notez que si vous essayez d'écrire sur l'entrée de rfcom, rien ne s'est produit. Vous devez utiliser un autre programme.
Troisième et dernière étape: écrire dans le
/dev/rfcomm0
Il existe plusieurs façons d'écrire sur le fichier, mais notez que toutes les façons de procéder impliquent root. Je décris ici plusieurs programmes qui peuvent le faire (pour que vous puissiez choisir en fonction de vos besoins ou de ce qui est installé sur votre système par exemple). Si vous oubliez d'exécuter le programme en tant que root, vous pouvez avoir une erreur:
Première option: se connecter en utilisant
screen
L'écran est un outil très puissant. Vous pouvez l'installer (c'est toujours plus utile) en utilisant:
puis exécutez
Si vous oubliez de l'exécuter en tant que root, vous obtiendrez une erreur comme Aleksander:
Pour le quitter, tapez "(CTRL + A) +: quitter"
Deuxième option: se connecter en utilisant
minicom
Installez-le
puis exécutez
Si vous oubliez de l'exécuter en tant que root, vous aurez une erreur comme
Pour le quitter, tapez "Ctrl + A X".
Troisième option: miniterm de script python
Téléchargez ce script et exécutez:
Écrivez directement dans le fichier
Exécutez d'abord la commande suivante (9600 est le débit en bauds):
Vous pouvez maintenant écrire dans ce fichier comme dans un fichier classique:
et en théorie lire à partir de celui-ci en utilisant
Mais je ne sais pas lire ne fonctionne pas, si l'un d'entre vous a une idée ...
la source
/def/rfcomm0
devrait être/dev/rfcomm0