|
Développement d'un APN géo localisé
|
|
|
Cet article fait suite à la conférence que j'ai animé pendant les TechDays
2008. Le sujet de cette conférence était "développement d'une application
multimédia pour Windows Mobile". Sujet très vaste, impossible à aborder dans
sa globalité en une heure.
J'ai donc décidé de me focaliser sur quelques aspects du développement
multimédia en parlant de la prise de photo avec l'appareil photo numérique
intégré (APN) et de l'utilisation d'un GPS.
Comme fil conducteur, j'ai développé deux applications. La première, GeoAPN,
sous Windows Mobile, permet de prendre des photos géo localisées. La
seconde, GeoPhotos, sous Windows PC, permet de visualiser les photos géo
localisées prises avec GeoAPN en utilisant les services de Microsoft Virtual Earth.
Ces deux applications ont été développées avec Visual Studio 2008. GeoAPN
utilise le SDK Windows Mobile 5 et cible le .NET Compact Framework 3.5.
GeoPhotos cible le .NET Framework 3.5 PC
La présentation Power Point de la conférence est disponible
ici
Les sources de GeoAPN et GeoPhotos
ici
Le programme d'installation de GeoAPN
ici
Le programme d'installation de GeoPhotos
ici
Pour fonctionner, GeoAPN a besoin du Compact Framework 3.5. Plus
d'informations
ici
 |
GeoAPN permet donc de prendre des photos avec un
Pocket PC sous Windows Mobile 5 et supérieur. Pendant la prise de
vue, le programme est couplé avec un GPS, ce qui permet au final de
géo localiser de manière automatique les photos.
Cette application met en œuvre les éléments suivants :
Développement avec VS 2008 pour le .NET Compact Framework 3.5
Utilisation du SDK Windows Mobile 5 Pocket PC
Utilisation de l'APN intégré
Utilisation du contrôle SerialPort pour la communication avec le GPS
Recherche automatique du GPS (quel port série)
Analyse des trames NMEA du GPS pour déterminer la position
Gestion de la mise en veille automatique
Utilisation de la sérialisation XML pour stocker les informations de
géo localisation
Capture de boutons matériel avec le contrôle HardwareButton
Affichage à l'écran des photos prises
Création du programme d'installation
|
Pour installer GeoAPN, il vous suffit de
télécharger le zip contenant le cab d'installation. De copier le cab
d'installation à la racine de votre Pocket PC et de le lancer. Le programme
s'installera.
Important : Les photos que vous allez prendre
seront stockées dans le dossier "My Documents\GeoAPN". Si le dossier
n'existe pas, il sera automatiquement créé par l'application. Dans ce
dossier, se trouve aussi le fichier "FakeGPS.txt" qui permet de simuler la
présence d'un GPS lorsqu'on fait une démo en intérieur (c'est ce que j'ai
utilisé pendant la conférence aux TechDays).
L'interface de GeoAPN est très simple. C'est très important dans une
application Windows Mobile, simplicité = réussite.
L'interface est composée de 6 éléments :
 |
-1- Liste des photos prises
(présentes dans le dossier "My Documents\GeoAPN")
Chaque photo possède un menu contextuel.
Vous pouvez afficher, modifier (les infos de géo localisation) ou
encore supprimer chaque ligne.
-2- Icône de gestion de d'état du GPS
Lorsque le GPS n'est pas connecté, l'image représente un satellite
barré.
Lorsque le GPS est connecté mais qu'il n'est pas encore en mesure de
donner une position, l'icône est celle d'un satellite rouge.
Lorsque le GPS est connecté et qu'il donne une position, l'icône est
celle d'un satellite vert (comme sur l'image).
Si vous cliquez sur cette icône et que le GPS est connecté, la liste
des trames NMEA en cours de réception s'affiche.
-3- Bouton de commande de prise de photo
Vous pouvez prendre une photo en cliquant sur ce bouton ou en
utilisant le bouton matériel de prise de photo du Pocket PC.
-4- Accès aux paramètres
Vous pouvez choisir d'utiliser le fichier de simulation du GPS et
sélectionner le bouton matériel à utiliser pour prendre une photo
(ça change d'un Pocket PC à l'autre).
-5- Bouton d'arrêt (complet) de l'application
-6- Bandeau de titre et de "A propos de..." lorsqu'on clique
dessus. |
Une fois que le GPS est connecté et qu'il est au vert, vous pouvez prendre
toutes les photos que vous voulez.
La prise de photo se fait en utilisant la nouvelle boîte de dialogue
standard accessible en utilisant le contrôle
CameraCaptureDialog. Pour plus de détails sur l'utilisation
de ce contrôle, je vous invite à lire
cet article.
La communication avec le GPS s'effectue grâce au contrôle
SerialPort. Pour plus de
détails sur son utilisation, je vous invite à lire
cet article. La
classe de gestion du GPS dans GeoAPN est plus puissante que cette décrite
dans l'article référencé. Je vous invite donc à consulter aussi les sources
de GeoAPN pour plus de détails.
Les données de géo référencement sont stockées dans un fichier XML à coté de
la photo elle même. Le programme utilise la sérialisation pour générer ce
fichier. Si vous voulez plus d'informations sur cette technique (très
puissante) je vous invite à lire
cet
article et à consulter les sources de GeoAPN.
Je vous invite aussi à lire
le document Power Point
qui est associé à cet article. Il vous donnera aussi beaucoup d'informations
importantes.
 |
GeoPhotos liste les photos prises avec GeoAPN et
les affiche sur une carte fournie par le service de cartographie en
ligne de Microsoft, Virtual Earth.
Il faut le .NET Framework 3.5 pour l'utiliser.
Cette application met en œuvre les éléments suivants :
Développement avec VS 2008 pour le .NET Framework 3.5
Utilisation de la dé sérialisation XML pour récupérer les
informations de géo localisation
Affichage à l'écran des photos prises
Utilisation du WebBrowser
Interaction .NET / JavaScript pour utiliser les services de Virtual
Earth
Création du programme d'installation
Les photos sont stockées dans le dossier "Mes Documents\GeoPhotos"
de chaque utilisateur.
Le programme d'installation installe en plus du programme une série
de photos prises avec GeoAPN vous permettant de tester tout de suite
l'application. A vous ensuite d'ajouter vos propres photos en
utilisant GeoAPN pour votre propre compte.
Le document Power Point associé à cet
article explique comment l'interaction .NET / JavaScript est rendue
possible grâce au contrôle
WebBrowser et comment faire pour utiliser les
services de Virtual Earth. Il vous donnera aussi les liens pour
obtenir plus d'informations sur Virtual Earth et où trouver son SDK.
|
Grâce à ses quelques explications, et à toutes les sources mises à votre
disposition, vous allez très rapidement et très facilement être capable de
tirer partie du meilleur de Windows Mobile. Ce système permet de créer des
applications extrêmement riches et puissantes avec des outils puissants et
d'un apprentissage relativement aisé (Visual Studio). Alors ne vous en
privez pas, en ce qui me concerne je mets en œuvre toutes ces technologies
chaque jour et depuis des années c'est que du bonheur !
Stéphane
Sibué