Raspberry PI B+ raspbian: raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 ** Garmin GLO **: Bluetooth GPS Empfänger Bluetooth-Dongle: Elecom-Logitec ** LBT-UAN04C1 ** (CSR-Chipsatz mit Ruf für Linux)
Lassen Sie uns Module vorstellen
apt-get install bluez bluez-utils
Vergessen Sie nicht, python-bluez für die Codierung mit Python Version 2 zu installieren.
(1) hcitool scan Scannen Sie den Garmin GLO. Sie sollten eine Adresse wie 12: 34: 56: 78: 90: AB sehen. ** (2) Anschlussverbindung **
sudo rfcomm bind /dev/rfcomm1 12:34:56:78:90:AB 1
Dadurch wird ein virtueller Garmin GLO-COM-Port als / dev / rfcomm1 erstellt. Die Bluetooth-Status-LED von GLO blinkt jedoch weiterhin langsam. (Nicht gepaart)
Einfacher Weg ist
cat < /dev/rfcomm1
ist. Wenn Sie dies tun, leuchtet die Bluetooth-Status-LED des GLO verzögert (dh gekoppelt) und Sie sehen den NMEA-Ausgang auf der Konsole. Beenden Sie am Ende mit Strg -c.
Oder
dd if=/dev/rfcomm1 of= ...
Ist auch OK.
Python (ver.2) In Python Version 2 wird PyBluez verwendet.
sudo apt-get install python-bluez
Lassen Sie es uns mit vorstellen.
import bluetooth
bd_addr = "12:34:56:78:90:AB"
port = 1
sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sock.connect((bd_addr, port))
data=sock.recv(1024)
sock.close()
print data
In diesem Fall sind die von sock.recv () zurückgegebenen Daten vom Typ str.
Python3
import socket
bd_addr = "12:34:56:78:90:AB"
port = 1
sock = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
sock.connect((bd_addr, port))
data = sock.recv(1024)
sock.close()
dataReadable = data.decode('utf-8')
print(dataReadable)
In diesem Fall sind die von sock.recv () zurückgegebenen Daten vom Typ Bytes. Konvertieren wir es also mit decode () in str.
Recommended Posts