La première étape est de voir si le Bluetooth est bien lancé au démarrage :
$ dmesg | grep -i blue
[ 11.903994] Bluetooth: Core ver 2.22
[ 11.904056] Bluetooth: HCI device and connection manager initialized
[ 11.904073] Bluetooth: HCI socket layer initialized
[ 11.904080] Bluetooth: L2CAP socket layer initialized
[ 11.904098] Bluetooth: SCO socket layer initialized
[ 11.913494] Bluetooth: HCI UART driver ver 2.3
[ 11.913506] Bluetooth: HCI UART protocol H4 registered
[ 11.913509] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 11.913652] Bluetooth: HCI UART protocol Broadcom registered
[ 12.098214] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 12.098223] Bluetooth: BNEP filters: protocol multicast
[ 12.098245] Bluetooth: BNEP socket layer initialized
$ sudo systemctl status bluetooth*
● bluetooth.target - Bluetooth
Loaded: loaded (/lib/systemd/system/bluetooth.target; static; vendor preset: enabled)
Active: active since Tue 2018-10-09 16:17:10 UTC; 2 days ago
Docs: man:systemd.special(7)
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-10-09 16:17:10 UTC; 2 days ago
Docs: man:bluetoothd(8)
Main PID: 812 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─812 /usr/lib/bluetooth/bluetoothd
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
A noter pour que cela fonctionne bien j’ai du ajouter le service hciuart :
$ sudo systemctl enable hciuart
$ sudo systemctl start hciuart
$ systemctl status hciuart.service
● hciuart.service - Configure Bluetooth Modems connected by UART
Loaded: loaded (/lib/systemd/system/hciuart.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-10-09 16:17:10 UTC; 2 days ago
Main PID: 803 (hciattach)
CGroup: /system.slice/hciuart.service
└─803 /usr/bin/hciattach /dev/serial1 bcm43xx 3000000 flow - b8:27:eb:23:8b:15
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Je vais me servir du projet suivant : https://github.com/sourceperl/smartplugctl ( Little utility for control Awox BLE smartPlug SMP-B16-FR : http://www.awox.com/wp-content/uploads/2016/07/User_Guide_SMP-B16.pdf ) .
Voici donc la liste des commandes pour faire un plugin pour Munin afin de mieux suivre la consommation :
$ sudo apt-get install -y python-pip libglib2.0-dev
$ sudo pip install bluepy
$ sudo apt-get install -y python-setuptools
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-setuptools is already the newest version (33.1.1-1).
python-setuptools set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 44 not upgraded.
$ git clone https://github.com/sourceperl/smartplugctl.git
$ cd smartplugctl
$ sudo python setup.py install
Une fois l’installation faite, on fait un SCAN afin d’avoir la référence du AWOX :
$ sudo smartplugscan
Pour faire un scan, on peut aussi faire :
$ sudo hcitool lescan --duplicates
Ou encore
$ sudo bluetoothctl
[NEW] Controller B8:27:EB:23:8B:15 RASP3 [default]
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started
A noter aussi que pour supprimer l’erreur : « Failed to obtain handles for « Service Changed » characteristic »
$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-10-11 20:07:44 UTC; 4s ago
Docs: man:bluetoothd(8)
Main PID: 1079 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─1079 /usr/lib/bluetooth/bluetoothd
Oct 11 20:07:43 RASP3 systemd[1]: Starting Bluetooth service...
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Bluetooth daemon 5.43
Oct 11 20:07:44 RASP3 systemd[1]: Started Bluetooth service.
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Starting SDP server
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Bluetooth management interface 1.14 initialized
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Failed to obtain handles for "Service Changed" characteristic
Oct 11 20:07:44 RASP3 bluetoothd[1079]: Sap driver initialization failed.
Oct 11 20:07:44 RASP3 bluetoothd[1079]: sap-server: Operation not permitted (1)
Il faut faire:
sudo sed -i 's|^ExecStart=/usr/lib/bluetooth/bluetoothd$|ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap|' /lib/systemd/system/bluetooth.service
A noter aussi qu’il faut faire ceci :
$ sudo adduser pi bluetooth
$ newgrp bluetooth
Cela permet aussi de débloquer certains problèmes de droits, ..
La fin de l’article a été supprimé, car AWOX n’est pas de bonne qualité ….
J’aime ça :
J’aime chargement…