Souris Mobile : Utilisation d'un téléphone portable comme périphérique d'un ordinateur
1. SourisMobile : Utilisation
d’un téléphone mobile
comme périphérique d’un PC
Présentation du rapport opérationnel
Projet de recherche SLR 2008 – 2009
Sylvain GALAND
Encadrant : Jean-Marie GILLIOT
2. Plan
Introduction
Contexte
Présentation du projet
Positionnement du projet
Technologies choisies
Architecture de la solution
Ressources disponibles
Développement de la solution
Démonstration
Conclusion
page 1 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
3. Contexte
La téléphonie mobile de nos jours…
… et ce que l’on peut faire avec.
page 2 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
4. Contexte : Téléphones Mobiles
Systèmes fermés (?) et incompatibles entre eux
• Hardwares différents :
– Constructeurs (Samsung, Nokia, Apple)
– Gammes, fonctionnalités, interfaces.
• Softwares différents :
– OS (Iphone OS, Symbian OS, Androïd…)
Présents partout
– Des milliards de téléphones mobiles dans le monde
– Un marché mondial, en hausse
Eric Schmidt, PDG de Google a déclaré : « nous
pouvons faire plus d'argent sur le marché du mobile que
sur celui de l'ordinateur ».
page 3 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
5. Contexte : Téléphones Mobiles
De nouvelles possibilités :
• Nouvelles interfaces : écran tactile multitouche,
accéléromètre, caméras, GPS…
• Connectivité : Bluetooth, wifi, 3G (3G+, 4G…)
• Développement d’applications tierce en hausse.
Sun, Java et sa JVM
• Portabilité.
• Un environnement d’exécution commun.
• De nombreuses spécifications JSR
page 4 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
6. Présentation du projet
Un constat, une idée…
… un projet.
page 5 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
7. Présentation du projet : Concept
Réutiliser autrement notre téléphone
• Fonctionnalités
• Interfaces
Un périphérique multifonction ?
• Webcam
• Micro
• Télécommande
• Souris/Clavier
• Écran déporté
Compatibilité la plus large possible…
page 6 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
8. Présentation du projet : LICIP
Projet LICIP du GET
• « Libre, Ingénierie Collaborative et Innovation
Pédagogique »
Libre
• Développement direct avec la communauté
• Résultat du travail réutilisable sans contrainte
Innovation Pédagogique
• Dans les applications :
– Envoie de question à un professeur
– Utilisation de plusieurs périphériques sur une machine
– ….
page 7 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
9. Positionnement du projet
Existence de projets sur le même sujet…
… comment se démarquer ?
page 8 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
10. Positionnement du projet : L’existant
Nom OS mobile OS PC Communication Licence Autres
Bluetooth J2ME Windows. Bluetooth Payant, 12,95 $ Très développé,
Remote Control en version d’essai
(client-serveur)
4.0
JM2PC J2ME Windows. Bluetooth Payant, 19,99$ Parait plus simple.
(Testé sans
(client-serveur)
succès)
Bluetooth C# ? Windows XP SP2. Bluetooth Gratuit. Seulement
Remote Control disponible sous
Windows (client-serveur)
for Windows Windows Mobile
Mobile 5 ou 6.
Mobile récent.
Moccatroller J2ME Windows (Linux Bluetooth, http GPL V2 Testé, peu stable
expérimental).
V 1.8 (client-serveur)
Armora Symbian S60 Linux. Bluetooth GPL v2
(client-serveur)
JRemoteControl J2ME. Linux, Windows XP. Bluetooth GPL Pour mplayer,
Interface
CLDC 1.1, (client-serveur)
paramétrable
MIDP 2.0,
(XML).
JSR 82.
anyRemote J2ME, JSR 82 Linux Wifi, Bluetooth, GPL Peu de
Infra rouge. compatibilité…
(client-serveur)
… … … … … …
page 9 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
11. Positionnement du projet : Notre vision
Reconnaitre le téléphone comme un véritable
périphérique
• Ne pas faire une simple télécommande
• Evitez les contraintes d’installation d’application sur
le poste de travail
Faciliter l’évolution de la solution
• Développement d’une base de travail
• Ajout de fonctionnalité simplifié par la suite
• Licence GPL
Portabilité et compatibilité la plus large possible
page 10 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
12. Technologies choisies
Le Java pour la portabilité…
… et le Bluetooth pour l’aider.
page 11 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
13. Technologies choisies :
Présent sur la plus part des téléphones
• Conçu pour (consommation…)
Caractéristiques intéressantes
• Echange de donnée
• Canaux voix
• Architecture client-serveur
Monde du libre
• Utilisation d’un téléphone comme télécommande
• Projets en Java
Version 3.0 en développement
• Possibilité de passer en Wifi pour plus de débit
page 12 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
14. Technologies choisies :
Sécurité dans le protocole
• Perfectible…
Protocole orienté Services
• Architecture client serveur
• Terminaux proposent des services
• Connexion et utilisation de ses services
Notion de profils
• Services prédéfinis
• Pas faisable en Java sur mobile (JSR)
Impossibilité de « hacker » un profil (dont HID)
• Le mobile sera toujours reconnu comme tel
page 13 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
15. Technologies choisies :
JVM sur mobiles
• J2ME
• Présent sur quasiment tout les mobiles
• Surtout les récents (Androïd, mais pas de bluetooth)
Une spécification Bluetooth ! JSR 82
• Pas présente sur tout les mobiles
• Pas implémentée sous Java SE…
Monde du libre
• Des logiciels utilisant le Bluetooth existent
page 14 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
16. Technologies choisies :
Implémentation de la JSR82
• Pas pareil sur tout les mobiles
• Fonctions renvoyant des choses parfois fausses
• Faille dans l’implémentation sur certain Sony
Ericsson
Classes, Librairies et APIs sous Java ME
• CLDC (1.0, 1.1) : io, lcdui, midlet…
• MIDP (Profile :1.0, 2.0, 2.1) : APIs plus évoluées
Des outils
• Eclipse Mobile Tools for Java (ex-EclipseME)
• Sun SDK
page 15 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
17. Architecture de la solution
Architecture de la solution…
… avec pour objectif :
- Un prototype fonctionnel
page 16 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
18. Architecture : Globale
SourisMobile MIDlet SourisMobile Server
Connexion Acceptation
Choix du Lancement
module du module
Utilisation
page 17 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
19. Architecture : Serveur
Mise en place du service
• Enregistrement du service (UUID)
– « 86b4d249fb8844d6a756ec265dd1f6a3 » SourisMobile
• Activation du mode découverte
• Attente de connexion
Connexion
• Acceptation
• Ouverture des StreamConnection
Phase d’utilisation
• Réception d’information
• Mise en place du bon module
page 18 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
20. Architecture : Mobile MIDlet
Connexion au service
• Récupération d’informations locales
• Recherche du service
• Connexion au service (si trouvé)
• Récupération des StreamConnection
Chargement du module
• Envoi du code du module
• Lancement du module
Utilisation
• Utilisation du module
page 19 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
21. Ressources disponibles
Environnement matériel et logiciel
page 20 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
22. Ressources matérielles
Mobiles
• Qtek 2020i (WM 2003 SE) (problème de Bluetooth)
• Samsung SGH-F480 Player Style
– CDLC 1.0 (et non 1.1 comme le dit le site de Samsung)
– MIDP 2.1
– JSR 82
Ordinateurs :
• Samsung NC10 (netbook)
– Windows XP SP3, Bluetooth Widcomm…
• PC assemblé : Vista SP1, Bluetooth générique
• IBM T42p : Windows XP SP3, Ubuntu 8.10
– Bluetooth IBM (drivers Microsoft)
page 21 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
23. Ressources logicielles
Librairie
• BlueCove 2.1.0 (Implémentation JSR 82)
Développement :
• Eclipse 3.4
– Mobile Tool for Java (Sun)
• GoogleCode
– http://code.google.com/p/sourismobile/
• Sun Java ME SDK 3.0 Early Release
– Sun SDK 2.5, Nokia, Samsung, Motorola…
• Logiciels libres
page 22 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
24. Développement de la solution
Les difficultés rencontrées…
… ce qui est fait et ce qu’il reste à faire
page 23 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
25. Développement
Obstacles
• Implémentation de la JSR 82 sur ordinateur
• Compatibilité BlueCove avec les drivers Bluetooth
• Compilation et compatibilité Java ME
– Java 1.4, .class en Java 1.2
• Erreur du site constructeur
– F480 pas compatible CLDC 1.1
• Besoin de flasher le firmware du téléphone (?)
Développement :
• Moins de temps pour le développement fonctionnel
• Résultat réponds à un objectif initial…
page 24 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
26. Démonstration
Une suite d’application pour tous…
… et donc pour vous aussi !
page 25 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
27. Démonstration
Tout au long de cette présentation
– Si tout s’est bien déroulé…
Installation de l’application mobile
• http://tinyurl.com/smobile (depuis un mobile)
• Alternative :
– http://code.google.com/p/sourismobile/source/browse/trunk
/SourisMobileMIDlet/deployed/DefaultColorPhone/SourisM
obileMIDlet.jad
Modules :
• Presenter : flèches (défilements des transparents)
• Mousse : déplacement du curseur
page 26 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
28. Conclusion
Toutes les bonnes choses ont une fin…
…(parfois attendue avec impatience)
page 27 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
29. Conclusion
Domaine mal exploité
• Incompatibilités, système fermé, développement
difficile
Des choses à faire
• Redéfinir, améliorer, compléter.
Des efforts dans le bon sens
• Microsoft, Apple, Nokia, Google…
Des technologies à venir prometteuses
• Androïd : OS + SDK libre
• JavaFX Mobile (12 février 2009) : syntaxe
déclarative
page 28 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile
30. Merci
Des questions ?
page 29 Sylvain GALAND – SLR Brest Projet de Recherche LICIP : SourisMobile