Ceci est une ancienne révision du document !
Garder le bluetooth connecté
Une enceinte bluetooth JBL GO 2 connecté à un PC Linux Ubuntu s'éteint lorsque aucun son n'a été émis depuis 15 minutes. Afin de remédier à ce désagrément, voici une solution pour maintenir la connexion avec l'enceinte bluetooth.
L'idée est d'envoyer toute les 14 minutes un son à l'enceinte suffisamment faible en volume pour ne pas être entendu.
Pour cela on utilisera la commande spd-say [https://manpages.ubuntu.com/manpages/trusty/man1/spd-say.1.html ] suivante :
spd-say -i -99 'o'
spd-say permet de générer du son à partir de texte (text-to-speech), l'option -i permet de mettre le volume très bas (à -99). La lettre choisie 'o' n'a pas d'importance mais il est nécessaire d'en avoir une.
On crée ensuite un script shell avec la commande :
sudo nano /usr/bin/periodic_sound_for_bluetooth.sh
Dans lequel on ajoute :
#!/bin/bash spd-say -i -99 'o'
On rend le script exécutable avec la commande :
chmod+x /usr/bin/periodic_sound_for_bluetooth.sh
On configure Crontab pour exécuter un cron job de ce script toutes les 14 minutes en éditant le fichier crontab avec la commande :
crontab -e
En y ajoutant tout en bas :
*/14 * * * * XDG_RUNTIME_DIR=/run/user/$(id -u) /usr/bin/periodic_sound_for_bluetooth.sh
L'élément '14' correspond aux 14 minutes d'attente. On peut réduire à 1 pour tester (et le volume à -90 !) L'élément XDG_RUNTIME_DIR=/run/user/$(id -u) est nécessaire pour que les sons soientt exécutés via Cron [https://stackoverflow.com/questions/42497130/audio-doesnt-play-with-crontab-on-raspberry-pi ]
Des outils de débuggages de Crontab :
https://stackoverflow.com/questions/22743548/cronjob-not-running