====== 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.