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
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 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
apt install obexpushd
nano /etc/systemd/system/dbus-org.bluez.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
mkdir /bluetooth
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
systemctl daemon-reload
systemctl enable obexpush
systemctl start obexpush
● 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
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)
bluetoothctl
[NEW] Controller B8:27:EB:50:B7:A1 (YunoHost/weblib.re) [default]
discoverable on
Changing discoverable on succeeded [CHG] Controller B8:27:EB:50:B7:A1 Discoverable: yes
[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
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.