Ich versuche, eine Verbindung zu einer Totalstation herzustellen, die keine Bluetooth-Treiber bietet. Da ich dies aus rein diagnostischen Gründen mache, möchte ich die Rohausgabe der hergestellten seriellen Verbindung sehen.
Was muss ich tun, um alle Ausgaben einer Bluetooth-Verbindung an ein Terminal weiterzuleiten?
Antworten:
Als Ergänzung zu Brians Antwort. Der Bildschirm funktionierte bei mir nicht und wurde sofort angezeigt
[screen is terminating]
Also habe ich dieses Miniterm-Python- Skript gefunden. Die Verwendung ist ähnlich:
quelle
1) Verwenden Sie
hcitool scan
diese Option , um die Mac-Adresse des Geräts zu ermitteln.Das Gerät sollte mit einem bekannten Pin in den Slave-Modus versetzt werden. Wenn Sie keinen bekannten Stift verwenden, erfindet Ubuntu einen und Sie haben im Allgemeinen keine Zeit, ihn in die klobigen Menüs Ihres Messwerkzeugs einzugeben.
2) Ich bin nicht ganz sicher, ob dies notwendig ist, aber koppeln Sie das Gerät im Bluetooth-GUI-Menü.
3) in /etc/bluetooth/rfcomm.conf
Das "Nein binden" ist wichtig, andernfalls wird versucht, automatisch zu binden, was alle möglichen Probleme für den tatsächlichen Zugriff auf das Gerät mit sich bringt (da es ziemlich wählerisch ist, wann es zugeordnet ist).
4)
sudo rfcomm connect 0
Wenn Sie Fehler haben, starten Sie den Bluetooth-Dienst neu.
5)
screen /dev/rfcomm0
Wenden Sie sich an Ihren Händler, um Informationen zu den auf diese Weise übertragenen seriellen Befehlen zu erhalten.
quelle
Hier ist meine Möglichkeit, eine Verbindung zu einem HC-05-Bluetooth-Gerät herzustellen, das an mein Arduino angeschlossen ist. Es muss keine Datei wie in Brians Antwort geschrieben werden, aber die Idee ist ähnlich. Ich habe es mit einem Baud 9600 Rate Setup auf dem HC-05 Gerät getestet.
Erster Schritt: Koppeln Sie das Gerät und geben Sie die PIN ein
Ich habe versucht, das Pairing über die GUI einzurichten, aber es hat nicht funktioniert. Hier ist die Befehlszeilenmethode, die für mich funktioniert hat. Lassen Sie uns zuerst das Gerät über die Befehlszeile koppeln. Lauf :
Stellen Sie sicher, dass das Bluetooth-Gerät gestartet ist:
Wir starten jetzt den Agenten, der sich "an den Pin erinnert" für
rfcomm
:Jetzt aktivieren wir den Scan-Modus, um unser Gerät zu finden und es zu koppeln:
Nach einigen Sekunden sollte der MAC Ihres Geräts angezeigt werden. Wir werden es als nachher bezeichnen. Dann müssen Sie das Gerät nur noch wie folgt koppeln:
Sie werden aufgefordert, eine PIN einzugeben. Diese befindet sich standardmäßig
1234
auf meinem HC-05-Gerät. Sie können feststellen, dass es möglich ist, dass Ihr Gerät eine Verbindung herstellt und die Verbindung mit einer Meldung wie der folgenden trennt:aber es ist kein Problem. Sie müssen keine Verbindung herstellen, können also jetzt
bluetoothctl
durch Eingabe beendenCtrl + D
.Stellen Sie eine verwendbare Datei bereit
/dev/rfcomm0
Stellen Sie zunächst sicher, dass Sie zuvor keinen Befehl rfcomm ausgeführt haben. Selbst wenn Sie mit
Ctrl+C
dem Programm schließen, wird es im Hintergrund ausgeführt.Jetzt kannst du rennen
Beachten Sie, dass beim Versuch, auf die Eingabe von rfcom zu schreiben, nichts passiert ist. Sie müssen ein anderes Programm verwenden.
Dritter und letzter Schritt: Schreiben Sie in die
/dev/rfcomm0
Es gibt verschiedene Möglichkeiten, in die Datei zu schreiben. Beachten Sie jedoch, dass alle Vorgehensweisen root beinhalten. Ich beschreibe hier mehrere Programme, die dies können (so dass Sie je nach Bedarf oder Installation auf Ihrem System auswählen können). Wenn Sie vergessen, das Programm als root auszuführen, liegt möglicherweise ein Fehler vor:
Erste Option: Verbinden mit
screen
Bildschirm ist ein sehr leistungsfähiges Werkzeug. Sie können es installieren (es ist immer noch nützlich), indem Sie Folgendes verwenden:
und dann laufen
Wenn Sie vergessen, es als root auszuführen, erhalten Sie eine Fehlermeldung wie bei Aleksander:
Geben Sie zum Beenden "(STRG + A) +: Beenden" ein.
Zweite Option: Verbinden mit
minicom
Es installieren
und dann laufen
Wenn Sie vergessen, es als root auszuführen, wird ein Fehler wie angezeigt
Geben Sie zum Beenden "Strg + A X" ein.
Dritte Option: Python Script Miniterm
Laden Sie dieses Skript herunter und führen Sie Folgendes aus:
Schreiben Sie direkt in die Datei
Führen Sie zunächst den folgenden Befehl aus (9600 ist die Baudrate):
Jetzt können Sie in diese Datei wie in eine klassische Datei schreiben:
und theoretisch daraus lesen mit
Aber ich weiß nicht, dass Lesen nicht funktioniert, wenn einer von euch eine Idee hat ...
quelle
/def/rfcomm0
sollte sein/dev/rfcomm0