1) Vérification de la présence de la clé usb bluetooth :
[~] ➔ hcitool dev
Devices:
hci0 00:15:83:4D:0E:3D
2) Scruter les périphéries bluetooth :
[~] ➔ hcitool scan
Scanning ...
00:12:05:09:98:43 DaguCar
3) Connecter le périphérie iRacer/DaguCar : Le code pin est : 1234
[~] ➔ bluez-simple-agent hci0 00:12:05:09:98:43
RequestPinCode (/org/bluez/2414/hci0/dev_00_12_05_09_98_43)
Enter PIN Code: 1234
Release
New device (/org/bluez/2414/hci0/dev_00_12_05_09_98_43)
Erreur :
~] ➔ bluez-simple-agent hci0 00:12:05:09:98:43
Creating device failed: org.bluez.Error.AlreadyExists: Already Exists
Solution : Dans le gestionnaire de bluetooth, enlever les périphérique bluebooth. Lien : https://bbs.archlinux.org/viewtopic.php?id=141698 4) Script python de test : Ouvrir :
ARDUINO/test.py
Ajouter :
import sys
import select
import tty
import termios
import bluetooth
import time
from evdev import InputDevice, categorize, ecodes
if __name__ == '__main__':
# Mettre ici l'adresse bluetooth du iRacer
bd_addr = "00:12:05:09:98:43"
port = 1
sock = bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
# 0x5X for left forward. 0x51 very slow. 0x5F fastest
sock.send('\x5A')
time.sleep(3);
# 0x6X for right forward. 0x11 very slow. 0x1F fastest
sock.send('\x6A')
time.sleep(3);
# 0x2X for straight backward. 0x21 very slow. 0x2F fastest
sock.send('\x2A')
time.sleep(3);
# 0x1X for straight forward. 0x11 very slow. 0x1F fastest
sock.send('\x1A')
time.sleep(3);
#stop
sock.send('\x00')
Action :
[~] ➔ cd IRACER/
[~/IRACER] ➔ python ./test.py
La voiture se déplace avec un temps de pause de 3 secondes entres chaque mouvement. 5) Interface graphique en Python de contrôle : Taper sur les touches pour effectuer les différents mouvements :