Bonjour à tous ! Pendant ces vacances, je me suis remis un peu à Python, et je me suis dit que peut être que ce que j'avais fait pourrait intéresser du monde. J'ai décidé de me servir du Bluetooth pour créer un script de commande d'un PC (ici sous Ubuntu 9.10)à distance. Vous me direz : ça existe déjà. C'est vrai. Mais ces solutions utilisent souvent Java côté client ( téléphone portable ). Mais tous les téléphones n'utilisent pas Java, et même si celui-ci est présent, il est souvent bloqué, on ne peut pas rajouter d'aplications, comme sur mon Samsung.
J'ai donc cherché une solution qui soit quasiment universelle et ne demande aucun logiciel côté client.
J'ai trouvé une solution, qui n'est pas idéale, mais qui a le mérite de marcher facilement. Elle dépend de Python 2.x , des modules Bluetooth pour le Noyau, et du serveur Obexpushd, qui permet de recevoir des fichiers sur son ordinateur. Le code est là . L'archive contient le fichier source Python + le fichier de configuration.
En gros, le principe est d'envoyer des fichiers depuis un téléphone portable sur le PC, qui les accepte et les enregistre dans un dossier temporaire. Toutes les 2 secondes, le script liste les fichiers, analyse leur nom, et s'il trouve une correspondance dans le fichier de configuration, il exécute la commande correspondante.
Il y a cependant une faille de sécurité : obexpushd accepte TOUS les fichiers entrants, donc n'importe qui peut commander votre PC (ici l'utilisation est limitée à la commande du lecteur de musique Rhythmbox de GNOME), pour peu qu'il ait sur son téléphone les fichiers adéquats. La solution serait de réimplémenter un serveur Obex (possible avec la classe bluetooth de Python, mais pas évident
), qui fasse un filtrage de l'adresse MAC du téléphone. Ça viendra quand j'aurai le temps
Le script permet donc d'exécuter les commandes de base de certains logiciels. Les plus pratiques sont évidemment les lecteurs de musique. Ça marche avec Rythmbox ( je l'utilise ) et on peut le configurer pour AmaroK qui a également un système client/serveur. Ensuite, on peut choisir de configurer l'extinction du PC à distance. Je pense qu'un simple sudo chmod +x /sbin/halt devrait suffire, avec la configuration adéquate, mais c'est un peu barbare
De même, on peut facilement enclencher l'écran de veille (avec Xscreensaver par exemple).
Merci d'avance à ceux qui auront la patience de jeter un coup d'oeil à la source (simpliste), je serai content d'entendre votre avis !
! Tellement intéressant qu'il ne faut pas te limiter au site de Logram.