====== Transfert de fichiers en Bluetooth ======
----
Voici comment rendre le Raspberry en point d'accès Bluetooth afin de pouvoir par exemple transférer des photos provenant d'un smartphone ou d'une tablette Android
===== Installation et configuration des services =====
----
Chaque commande doit-être exécutée par le **super-utilisateur**. La ou les commandes sont précédées de la mention en tant qu’invité **root#**
Le transfert de fichier ne peut que se faire à l'aide d'une application installée sur le Raspberry qui fera office de serveur de fichier. Pour cela nous allons utiliser le logiciel [[https://packages.debian.org/fr/jessie/obexpushd|obexpushd]]. D'ordre général le partage de fichiers en bluetooth s'effectue par le protocole **OBEX**, d'où l'utilisation de ce programme que nous allons faire tourner via systemd afin de réceptionner les photos, vidéos de vos périphériques
* Installer obexpushd
apt install obexpushd
* Pour une question de compatibilité dont je n'ai pas encore approfondi, éditez le service **bluetooth**
nano /etc/systemd/system/dbus-org.bluez.service
* Rajoutez **-C** â la fin de la ligne **ExecStart=..** dans la section **[Service]**
[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/lib/bluetooth/bluetoothd -C
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
ProtectHome=true
ProtectSystem=full
[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service
* Création du dossier qui sera celui qui réceptionne les fichiers envoyés
mkdir /bluetooth
* Création d'un service **systemd** pour faire fonctionner de manière permanente le serveur OBEX précédemment installé
nano /etc/systemd/system/obexpush.service
[Unit]
Description=OBEX Push service
After=bluetooth.service
Requires=bluetooth.service
[Service]
ExecStart=/usr/bin/obexpushd -B23 -o /bluetooth -n # Ecoute sur le port 23, vérifiez que celui-ci ne soit pas déjà utilisé.
Restart = always # Permet de réactiver le service en cas d'erreur
[Install]
WantedBy=multi-user.target
* Validation des paramètres
systemctl daemon-reload
systemctl enable obexpush
systemctl start obexpush
* Le status du service doit renvoyer ce log par un joli point vert
● obexpush.service - OBEX Push service
Loaded: loaded (/etc/systemd/system/obexpush.service; enabled; vendor preset: en
Active: active (running) since Fri 2019-07-26 08:56:16 CEST; 5h 41min ago
Main PID: 572 (obexpushd)
CGroup: /system.slice/obexpush.service
└─572 /usr/bin/obexpushd -B23 -o /bluetooth -n
===== Configuration & Appareillage =====
----
Procédons maintenant à l'appareillage du Raspberry à votre périphérique. Chez moi pour ce dernier; il s'agit d'une tablette Android (8.1)
* lancez le cli du bluetooth
bluetoothctl
* On repère d'abord le hostname bluetooth du Raspberry qui est dans mon cas : **YunoHost/weblib.re**
[NEW] Controller B8:27:EB:50:B7:A1 (YunoHost/weblib.re) [default]
* Se mettre en mode découverte afin que le Raspberry soit détecté
discoverable on
Changing discoverable on succeeded
[CHG] Controller B8:27:EB:50:B7:A1 Discoverable: yes
* Et maintenant on a 2 minutes pour procéder à l'appareillage
- Effectuer la recherche
- Sélectionner le Raspberry
{{ :appareillage.png?400 |}}
[NEW] Device 34:8A:7B:D9:5E:55 Galaxy Tab A (2016)
....
[CHG] Device 34:8A:7B:D9:5E:55 ServicesResolved: yes
[CHG] Device 34:8A:7B:D9:5E:55 Paired: yes
===== Conclusion =====
----
A présent vous n'avez plus qu'à partager vos fichiers en bluetooth vers le Raspberry.
Vous pourrez ensuite les récupérer dans le dossier **/bluetooth**.
**Attention toutefois ce dossier a les droits root**. Configurez éventuellement les permissions en cas d'accès depuis un autre compte utilisateur.