Raspberry PI B+ raspbian: raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 ** Garmin GLO **: récepteur GPS Bluetooth Clé Bluetooth: Elecom-Logitec ** LBT-UAN04C1 ** (chipset CSR réputé pour Linux)
Introduisons les modules
apt-get install bluez bluez-utils
N'oubliez pas d'apt-get install python-bluez pour le codage avec python ver.2.
(1) hcitool scan Scannez le Garmin GLO. Vous devriez voir une adresse comme 12: 34: 56: 78: 90: AB. ** (2) Connexion au port **
sudo rfcomm bind /dev/rfcomm1 12:34:56:78:90:AB 1
Cela créera un port COM virtuel Garmin GLO sous le nom / dev / rfcomm1. Cependant, le voyant d'état Bluetooth de GLO continue de clignoter lentement. (Non jumelé) ** (3) Extraire les données du port ** Le moyen facile est
cat < /dev/rfcomm1
est. Si vous faites cela, le voyant d'état Bluetooth du GLO s'allumera (c'est-à-dire couplé) avec un délai et vous verrez la sortie NMEA sur la console. Lorsque vous avez terminé, utilisez ctrl -c pour quitter.
Ou
dd if=/dev/rfcomm1 of= ...
Est également OK.
Python (ver.2) En python ver.2, PyBluez est utilisé.
sudo apt-get install python-bluez
Introduisons-le avec.
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
Dans ce cas, les données renvoyées par sock.recv () seront de type str.
Python3 python3 utilise le module socket standard.
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)
Dans ce cas, les données renvoyées par sock.recv () seront de type octets. Alors, convertissons-le en str avec decode ().
Recommended Posts