You are here -> Home » Forums » Idées, plans, et autres » [Python] Commander un PC via bluetooth

[Python] Commander un PC via bluetooth

Author Message
AlEeexandre
# le 28/12/2009 à 11h53
Heureux d'être là
Group : Member

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'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 :evil: 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 ! :)

Editing

  • le 28/12/2009 à 12h01 by AlEeexandre : Modification du lien de l'archive des sources
steckdenis
# le 28/12/2009 à 14h51
Ça marche !
Avatar
Group : Administrateur

Bonjour,

Ça a l'air super intéressant :D ! Tellement intéressant qu'il ne faut pas te limiter au site de Logram.

Linuxfr est un site qui regroupe les utilisateurs francophones de Linux. Il permet de créer des "journaux", c'est à dire des textes, dans lesquels l'auteur peut mettre n'importe quoi, et qui sont ensuite affichés en page d'accueil. Ainsi, on peut faire passer des idées très facilement.

Je te conseille donc de t'inscrire (et cette inscription te servira à plein de choses plus tard :) ), puis de «Créer un journal», dans lequel tu place le contenu de ton post. Il y aura normalement énormément de gens intéressés :D .

Si tu n'as pas le lien «Créer un journal» en haut à gauche du site, c'est embêtant. En effet, Linuxfr utilise un système de points. Il en faut une certaine quantité pour faire certaines choses. Normalement, les journeaux devraient être accessibles à tout le monde, mais il serait possible que tu aies à attendre un ou deux jours avant de pouvoir poster. Passe sur le site le plus souvent possible, ça te fait gagner des points :) . Ce système pue, mais ça évite les trolleurs, flooders et bots.

KDE le fait depuis 10 ans.

AlEeexandre
# le 2/01/2010 à 23h20
Heureux d'être là
Group : Member

merci steckdenis pour ta réponse, plus rapide que la mienne, vacances oblige. Linuxfr me semble être une idée intéressante, quand j'aurai quelque chose de plus concret à proposer. En ce moment, j'exploite une autre fonctionnalité des téléphones, le "mémo" que l'on peut envoyer par bluetooth : ça permettrait d'envoyer des messages à un ordinateur, et en exploitant bien le système, de twitter, de mettre à jour son statut facebook, via bluetooth, voire de créer un genre d'invite de commandes utilisable depuis un téléphone. La seule limite semble être le fichier dans lequel est enregistré le mémo, dont la syntaxe doit dépendre de l'OS du téléphone. La compatibilité serait donc moindre.

Plus d'infos dans le prochain numéro :D