Micro Projet Systèmes Embarqués Envoi et Réception de SMS sous PocketPC J.Y. TIGLI & E. MATHIEU



Documents pareils
CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

STI 27 Édition 3 / octobre 2004

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Couche application. La couche application est la plus élevée du modèle de référence.

ANNEXE 5 (1 page) MIC2920x

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

BIRT (Business Intelligence and Reporting Tools)

Guide de l utilisateur ArpentGIS-Trajet 1.2 ArpentGIS-Expert 1.4

LES ACCES ODBC AVEC LE SYSTEME SAS

Transmissions série et parallèle

Organisation du module

Bluetooth pour Windows

Tutoriel de formation SurveyMonkey

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Protocoles DHCP et DNS

A L ERT. Pour démarrer rapidement avec

ALERT NOTICE D UTILISATION DU DRIVER SIA

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Notice d Installation et d utilisation d une liaison Bluetooth avec un PDA ipaq.

WEB page builder and server for SCADA applications usable from a WEB navigator

Administration du WG302 en SSH par Magicsam

NTP (Network Time Protocol)

NOTICE INSTALLATION. ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Guide de l'utilisateur. Linksys AE1000 Adaptateur USB sans fil - N hautes performances

Windows Internet Name Service (WINS)

LA VOIX SUR GPRS. 1. Introduction. P. de Frino (1), S. Robert (2), G. Cecchin (3) Résumé

France SMS+ MT Premium Description

Mise en service HORUS version HTTP

TAGREROUT Seyf Allah TMRIM

Sécurité Informatique. Description. Prérequis. Un petit test avant de commencer s embourber

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Short Message Service Principes et Architecture

CONVERTISSEUR RS 232/485 NOTICE

Manuel d'installation

Manuel d'utilisation d'apimail V3

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

ALERT NOTICE D UTILISATION DU DRIVER PC-TEXTE

Keyyo Guide de mise en service CTI / API / TAPI Keyyo

Sauvegardes par Internet avec Rsync

eps Network Services Alarmes IHM

ESPACE COLLABORATIF SHAREPOINT

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

Guide de démarrage Intellipool Network Monitor

Mobyt Intégration HTTP TABLE DES MATIERES

Assistance à distance sous Windows

Guide d'installation rapide TFM-560X YO.13

Algorithmique des Systèmes Répartis Protocoles de Communications

Manuel de référence des commandes SMS Advisor Advanced

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

MEDIAplus elearning. version 6.6

NOTICE INSTALLATION. ARCHANGE Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Push API Technical Specifications V1.0

Visual Taxe 4.1.0B04 minimum

IPMailSMS Module d envoi d & SMS pour CITECT

ENVOI EN NOMBRE DE MESSAGES AUDIO

Vodafone Mobile Connect

Le serveur de communication IceWarp. Guide SyncML. Version 10. Juillet IceWarp France / DARNIS Informatique

AVerMedia CM3000 Manuel d utilisation

HighPush. document /06/2009 Révision pour version /11/2008 Revision pour la /10/2008 Documentation initiale.

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3

Cours Informatique 1. Monsieur SADOUNI Salheddine

Manuel Utilisateur Version 1.6 Décembre 2001

Bases de programmation. Cours 5. Structurer les données

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Définition des Webservices Ordre de paiement par . Version 1.0

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Manuel d utilisation NETexcom

PROCÉDURE D AIDE AU PARAMÉTRAGE

Déploiement OOo en environnement Windows Terminal Server

2 Raccordement d une imprimante, d un terminal ou d un ordinateur au DULCOMARIN

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1

Le service FTP. M.BOUABID, Page 1 sur 5

esms Desktop Guide de l utilisateur

ANALYSE TRAMEs LIAISON SERIE

Manuel de l'application SMS


Pour les caméras IP de modèles : QSTC201 QSTC211. Surveillance à distance via Internet Guide de démarrage

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Flexible Identity. authentification multi-facteurs. authentification sans token. Version 1.0. Copyright Orange Business Services mai 2014.

Manuel du logiciel PrestaTest.

ALERT NOTICE D UTILISATION DU DRIVER VOCALYS. (Cesa 200 bauds / Contact-ID)

Application Form/ Formulaire de demande

Installation FollowMe Q server

SPOOL 2 VOLUBIS. VOLUBIS Tel rue du Tertre Fax Carquefou cmasse@volubis.fr

VERSION 64 BITS DE SAS ET VOS FICHIERS MICROSOFT OFFICE 32-BITS

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

TP JAVASCRIPT OMI4 TP5 SRC

TASK Santé : Le protocole Pésit /TCP-IP

Module http MMS AllMySMS.com Manuel d intégration

Transcription:

Nicolas BESSON ESSI3 STREAM Emilie COUSIN Mars 2002 Nicolas MARTIN Christophe PARIS Micro Projet Systèmes Embarqués Envoi et Réception de SMS sous PocketPC J.Y. TIGLI & E. MATHIEU Présentation du sujet : Dans le cadre du module Systèmes Embarqués, nous avons étudié la possibilité d envoyer et de recevoir des messages SMS sur un Pocket PC grâce à un modem GSM (ou GPRS). En effet, les SMS (Short Message Service) sont de plus en plus utilisés pour assurer une communication simple et rapide. A l heure actuelle, ils peuvent être expédiés depuis un téléphone GSM, un système, un réseau informatique ou par internet. Notre projet s inscrit donc dans la mouvance actuelle des appareils et technologies mobiles, comme les Pocket PC, appareil en pleine expansion.

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM SOMMAIRE 1 INTRODUCTION...3 2 FONCTIONNALITES DE L APPLICATION...4 3 ETUDE DES METHODES DE DEVELOPPEMENT EXIS TANTES...4 3.1 LE PROTOCOLE SMS... 4 3.2 LES METHODES POSSIBLES DE PROGRAMMATION... 6 4 MAQUETTAGE, TEST ET VALIDATION :...10 4.1 ECRITURE/LECTURE SUR LE PORT SERIE... 10 4.1.1 Objectif...10 4.1.2 Plate-forme de Test...10 4.1.3 Tests pratiqués...10 4.1.4 Résultats...11 4.2 ENCODAGE D UN SMS... 12 4.2.1 Objectif...12 4.2.2 Plate-forme de Test...12 4.2.3 Tests pratiqués...12 4.2.4 Résultats...13 4.3 INTERFACE GRAPHIQUE... 14 4.3.1 Objectif...14 4.3.2 Plate-forme de Test...14 4.3.3 Description de l interface...14 4.3.4 Evolutions...16 4.4 CONCLUSIONS SUR LES TESTS... 17 5 CONCLUSION...19 6 BIBLIOGRAPHIE...20 6.1 SITE WEB :... 20 6.2 DOCUMENTATION... 20 ANNEXES ANNEXE 1 : LE PROTOCOLE SMS...21 ANNEXE 2 : 7 BIT DEFAULT ALPHABET...30 ANNEXE 3 : TRIUM MONDO...34 ANNEXE 4 : GESTION DU PORT SERIE POUR POCKET PC ET WINDOWS CE...35 Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 2 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 1 Introduction A l heure actuelle, les Pocket PC proposent les applications standards suivantes : - une boîte de réception pour lire, écrire et envoyer des messages électroniques comme vous pourriez le faire sur un PC normal. - un calendrier qui permet de gérer un planning et des rendez-vous. - un gestionnaire de contacts. - un bloc-note. - un gestionnaire de tâches. - Pocket Internet explorer. - Pocket Word. - Pocket Excel. - Microsoft Reader qui permet d accéder à une bibliothèques de livres. - un lecteur Windows Media Player pour écouter de la musique. A cet ensemble de fonctions disponibles, nous nous proposons d ajouter ou du moins d étudier la possibilité d ajouter une application permettant l envoi et la réception de SMS. Nous allons dans un premier temps présenter les fonctionnalités de notre application puis nous parlerons des normes existantes que nous avons étudiés ainsi que des méthodes de développement possibles. Dans une autre partie, nous montrerons les tests effectués avec notre maquette et pour finir, nous établirons des conclusions quant à la réalisation réelle d une telle application. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 3 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 2 Fonctionnalités de l application L objectif de notre application est de permettre l envoi et la réception de messages SMS sur un IPAQ Pocket PC grâce à une carte GSM. Les fonctionnalités principales sont donc : - l écriture d un message - l envoi d un message à une adresse demandée par l utilisateur - la réception d un message - la lecture du message reçu Pour un confort d utilisation, nous proposons d ajouter une gestion d un répertoire téléphonique qui associe un numéro de téléphone à un nom défini par l utilisateur. Il existe différentes méthodes pour développer ces fonctionnalités. Nous allons maintenant les présenter et montrer comment nous les avons utilisées. 3 Etude des méthodes de développement existantes Nous avons dans un premier temps effectué des recherches concernant le protocole normalisé SMS. Nous nous sommes ensuite intéressés au différents méthodes de programmation possibles. 3.1 Le protocole SMS Le protocole SMS a été spécifié par l organisation ETSI (European Telecommunications Standards Institute) dans les documents GSM 03.40 et GSM 03.38. Le SMS est un protocole appelé protocole sans connexion car, lors de l acheminement d un message, aucune connexion n est établie entre le terminal qui envoie et celui qui reçoit. Il existe deux méthodes pour envoyer et recevoir des messages SMS, en mode texte ou en mode PDU (Protocol Data Unit). Le mode texte est juste un codage de l ensemble des bits représentés par le mode PDU. Ces codages diffèrent selon les téléphones. Il est donc préférable d utiliser le mode PDU. Les PDU contiennent non seulement les messages mais aussi un ensemble de métainformations à propos de l émetteur, de son centre de message, etc. L envoi d un SMS s effectue en deux phases : - l acheminement du message depuis le terminal émetteur vers une entité particulière appelé SMSC (Short Message Service Center) - l acheminement du message depuis le SMSC jusqu au terminal récepteur. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 4 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM Chacune de ces deux phases correspond à une unité de donnée du protocole (PDU). Il existe en fait 6 types de PDU : Type PDU Direction Fonction SMS-Deliver SMSC => Terminal Envoie un bref message SMS-DELIVER-REPORT Terminal => SMSC Envoie le motif de la non réception du message SMS-SUBMIT Terminal => SMSC Envoie un message bref SMS-SUBMIT-REPORT SMSC => Terminal Envoie le motif de la non réception du message SMS-STATUS-REPORT SMSC => Terminal Envoie l'indication de l'état d'un message SMS-COMMAND Terminal => SMSC Envoie un ordre La tache principale de SMS-DELIVER et de SMS-SUBMIT est celle de transmettre, aux entités SMS, le contenu du message et les informations relatives au terminal GSM et au SMSC. La structure de celles-ci est décrite en annexe. Les PDU SMS-DELIVER-REPORT et SMS-SUBMIT-REPORT notifient aux entités SMS que le message reçu n'est pas correct et qu'il faut effectuer une retransmission. La PDU SMS-STATUS-REPORT contient des informations sur l'état du message: s'il a été transmis ou non par l'entité réceptrice, et quand il a été transmis. La PDU SMS-COMMAND contient les ordres qui doivent être associés à un message déjà acheminé à travers le SMS-SUBMIT. Un message est constitué d au maximum 160 caractères où chaque caractère est codé sur 7 bits en accord avec le 7-bit default alphabet décrit en annexe. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 5 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 3.2 Les méthodes possibles de programmation Après avoir trouvé les renseignements concernant le protocole SMS, nous nous sommes intéressés aux méthodes de programmation possibles. Les différentes techniques disponibles sont les suivantes: Utiliser l API SMS de Pocket PC 2002. En effet, la nouvelle version de Pocket PC, la version 2002, fournit en natif une API permettant la gestion des SMS. Voici les différentes fonctions qu elle propose. Function Description SmsClearMessageNotification Cancels registration for SMS notifications. SmsClose Closes an existing SMS Messaging handle. SmsGetBroadcastMsgRanges Gets the range of broadcast messages the mobile will listen for. SmsGetMessageSize Determines an upper-bound for the size of the buffer. SmsGetMessageStatus Retrieves a status report for a sent message. SmsGetSMSC Reads the default Short Message Service Center (SMSC) address. SmsGetPhoneNumber Gets the phone number of the device associated with the SMS bearer. SmsGetTime Gets an estimate of the current time approximated by the SMSC's clock. SmsOpen Opens the SMS Messaging component for send and/or receive access. SmsReadMessage Reads a previously received SMS message. SmsSendMessage Sends an SMS message. SmsSetBroadcastMsgRanges Sets the broadcast message range the mobile will listen for. SmsSetMessageNotification Starts your application when an SMS message arrives. SmsSetSMSC Sets the default SMSC. Pour utiliser cette API, un SDK est disponible chez Microsoft à l adresse suivante : http://www.microsoft.com/mobile/developer/downloads/ppcsdk2002.asp. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 6 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM Envoyer par le port IRDA du terminal à un téléphone mobile. C est ensuite le téléphone mobile qui se charge d envoyer le SMS. Voici le schéma d une telle architecture : Réseau GSM Téléphone cellulaire Communication IRDA Un logiciel existe utilisant cette méthode pour envoyer des SMS. Il s agit de Visual IT Simple SMS V2.0 dont la présentation est à l adresse suivante : http://www.mobilemag.ch/news/article.asp?articleid=1289) et dont une démo est téléchargeable à l adresse : http://www.visualit.co.uk/simplesms.htm Envoyer par l intermédiaire de Pocket Outlook et du port IRDA du terminal et d un téléphone mobile. En effet, SMS extension est une application intégrée dans Pocket Outlook qui vous permet d'envoyer des SMS avec un téléphone équipé d'un port infrarouge IRDA. On peut aussi envoyer des SMS d'alerte, recevoir des compte-rendus de réception et gérer simplement la base de donnée des contacts. SMS extension est un freeware et la version finale sera disponible très prochainement. Vous pouvez télécharger ce programme sur PocketGear.com à l adresse suivante : http://www.pocketgear.com/software_detail.asp?id=2814&associateid=13 Réaliser une communication directe avec le port série sur lequel se trouve le modem GPS. Une technique simple est de pouvoir dialoguer directement avec le modem GSM à l aide de commande AT. Le jeu le plus courant de commandes textuelles est appelé le jeu AT ou encore Hayes, du nom de l'entreprise ayant commercialisé les premiers modems dits intelligents. Le jeu se compose de commandes simples préfixées par AT. Chaque commande doit se terminer par le caractère de fin de ligne retour chariot (0D en hexadécimal). Les commandes peuvent être envoyées en minuscule ou en majuscule. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 7 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM Dans le cadre de notre projet, les techniques suivantes ont du être abandonnées : Utilisation de l API SMS de Pocket PC 2002. En effet, nous disposions d un Trium Mondo pour développer et celui-ci n a pas la version 2002 de Pocket PC. Utilisation du port IRDA du terminal avec un téléphone mobile. En effet, nous n avons pas à notre disposition de téléphone possédant un port IRDA. Utilisation de Pocket Outlook et du port IRDA du terminal. En effet, il nous a été déconseillé d utiliser cette méthode. Nous nous sommes donc dirigés vers la dernière solution qui consiste à utiliser le port série sur lequel est connecté le modem GSM. En effet, le Trium Mondo possède un modem GSM intégré connecté sur le port COM6. Il faut noter que cette méthode est indépendante du terminal utilisé et peut donc être réutilisée pour un Ipaq. Après avoir décidé d utiliser cette méthode, nous avons défini l architecture de l application pour l envoi d un SMS de la façon suivante : Message Paramètres du port Date de validité Encodeur de SMS Trame SMS Port Série Modem GSM Réseau GSM Numéro du destinataire Envoi d un SMS par modem GSM Les composants «Message», «Date de validité» et «Numéro du destinataire» sont des éléments qui doivent être saisis par l utilisateur à travers l interface graphique. L encodeur de SMS est un composant qui encode une trame SMS envoyée par la suite sur le modem. La trame ainsi constituée est ensuite écrite à l aide de commandes AT sur le port série connecté au modem GSM. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 8 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM En ce qui concerne la réception d un SMS, l architecture est la suivante : Paramètres du port Message Réseau GSM Modem GSM Port Série Trame SMS Décodeur de SMS Réception d un SMS par modem GSM Numéro de l émetteur La trame SMS est reçue sur le modem GSM qui la transmet par le port série à l application. Elle est ensuite décodée pour récupérer les informations du message, le message texte ainsi que le numéro de l émetteur. Celles-ci sont ensuite fournies à l utilisateur grâce à l interface graphique. Par manque de temps, nous n avons pu développer le décodage d un message. Par contre, la lecture/écriture sur le port et l encodage d un message ont été réalisé et testé. Nous allons maintenant présenter les tests effectués et les conclusions obtenues. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 9 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 4 Maquettage, Test et Validation : 4.1 Ecriture/Lecture sur le port série 4.1.1 Objectif L objectif de ce test est d écrire et lire des données sur le port série du Trium Mondo, afin de pouvoir dialoguer avec le modem GSM interne. 4.1.2 Plate-forme de Test Développement d une application embedded Visual C++ 3.0. ActiveSync 3.5 FR sur port série. Trium Mondo connecté à la plate-forme de développement. Remote registry editor de Visual c++ 3.0 pour avoir accès à la base de registre et tout particulièrement la clef indiquant le port de communication du modem. Remote process viewer d e Visual c++ 3.0 pour visualiser les différents processus tournant sur le Trium. Le prototype permettant de faire ce test se trouve dans le répertoire : Src/TryPort2 4.1.3 Tests pratiqués L application de test développée permet donc d envoyer une chaîne de caractère sur le port série (COM6 :). Cette chaîne doit être saisie dans la zone «Emit» et doit être une commande AT. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 10 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM Nous avons utilisé les commandes AT suivantes : - ATZ : correspondant à un reset du modem, la réponse doit être la chaîne "OK" - ATI0 : demande d informations sur le modem, la réponse doit être le numéro d identification du fabricant. Les étapes lors de l appui sur le bouton send sont les suivantes : Ouverture d un handle sur le port COM6 : Configuration du port série : o vitesse = 9600 bauds o parité présente ou non o bit de stop présent ou non o taille de l octet 8 ou 7 bits Configuration du timeout en lecture et en écriture Ecriture de la chaîne de caractères Lecture de la réponse avec timeout Affichage du résultat dans la zone «Receive» Libération du handle 4.1.4 Résultats L ouverture du port se déroule normalement, la configuration aussi et l écriture ne pose pas de problèmes. Malheureusement, après de nombreuses tentatives, avec des configurations différentes, nous n avons pas réussi à lire une réponse émise par le modem. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 11 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 4.2 Encodage d un SMS 4.2.1 Objectif L objectif de ce test est de produire une trame SMS correspondant au message que l on désire envoyer. 4.2.2 Plate-forme de Test Développement d une application embedded Visual C++ 3.0. ActiveSync 3.5 FR sur port série. Trium Mondo connecté à la plate-forme de développement. PDUSpy qui permet de décoder une trame SMS et d afficher les différentes informations contenues Le prototype permettant de faire ce test se trouve dans le répertoire : Src/smsCodereMb 4.2.3 Tests pratiqués Le test consiste à renseigner les différents champs de l interface, puis en utilisant PDUSpy, de retrouver ces données dans l onglet de décodage. L encodage est réalisé par une classe en C++ (SMS_SUBMIT) disponible dans les sources. NO SMSC ADDRESS PRESENT MESSAGE HEADER FLAGS (0x11) MESSAGE TYPE : SMS SUBMIT REJECT DUPLICATES : NO VALIDITY PERIOD : RELATIVE REPLY PATH : NOT SET USER DATA HEADER : NO UDH REQ. STATUS REPORT : NO MSG REFERENCE NR. : 0 (0x00) RECIPIENTS ADDRESS NUMBER IS : +0615652185 TYPE OF NR. (0x10) : INTERNATIONAL NPI (0x01) : ISDN/TELEPHONE (E.164/E.163) PROTOCOL IDENTIFIER (0x00) MESSAGE ENTITIES : SME-to-SME PROTOCOL USED : implicit DATA CODING SCHEME (0x00) COMPRESSION : OFF MESSAGE CLASS : NONE ALPHABET USED : 7bit default VALIDITY OF MESSAGE : 15,0 hrs USER DATA PART OF SM USER DATA LENGTH : 10 septets USER DATA (TEXT) : HelloHello Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 12 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 4.2.4 Résultats Récapitulatif des différents tests : Data Phone Number Validity Résultat HelloHello 0615652185 15 hours OK HelloHello 0615652185 - OK - 0615652185 15 hours OK - 0615652185 - OK HelloHello - 15 hours OK HelloHello - - OK - - 15 hours OK - - - OK HelloHello@ * * Invalide * toutes les valeurs possibles, - aucune valeur Si les données du message à encoder contient des caractères autres que l alphanumérique le codage n est pas correcte, car selon la spécification il faudrait utiliser une table de conversion. (http://www.dreamfabric.com/sms/default_alphabet.html). Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 13 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 4.3 Interface graphique 4.3.1 Objectif Cette maquette est un exemple d application qui pourrait être développée pour les Pocket PC. Cet outil permet d envoyer des SMS, de gérer un carnet de numéros de téléphones, de manière simple et intuitive. 4.3.2 Plate-forme de Test Développement d une application embedded Visual C++ 3.0. ActiveSync 3.5 FR sur port série. Trium Mondo connecté à la plate-forme de développement. Le prototype permettant de faire ce test se trouve dans le répertoire : Src/sendSMS 4.3.3 Description de l interface Le logiciel contient trois zones distinctes : - une zone dans laquelle on peut entrer un numéro de téléphone, - une zone contenant la liste des contacts, - une zone dans laquelle on écrit le message à envoyer. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 14 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM Il est possible d ajouter un numéro de téléphone dans la liste des contacts en appuyant sur le bouton ajouter. Il suffit alors de donner un nom au contact, qui sera associé à ce numéro de téléphone. Lorsqu un numéro se trouve dans la liste des contacts, il suffit de le sélectionner (identifié par le nom de son propriétaire) dans la liste déroulante du «carnet d adresses». Lorsqu on écrit un numéro qui fait parti du carnet d adresses, celui-ci s affiche automatiquement. Le contenu du SMS est limité à 160 caractères. Une zone de texte indique le nombre de caractères restant à écrire avant d atteindre cette limite. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 15 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 4.3.4 Evolutions Evolutions impératives : Dans sa version définitive, l application devra intégrer la gestion du modem GSM et la configuration de celui-ci. Evolutions facultatives : La version définitive pourrait lier son carnet d adresses à celui contenu dans Outlook. Elle pourrait gérer automatiquement le découpage de longs messages en plusieurs fragments. Elle pourrait importer le carnet d adresses inclus dans la carte SIM. Elle pourrait intégrer l envoi d images liées au message. Elle pourrait stocker les messages envoyés, afin de pouvoir les visualiser ultérieurement. Elle pourrait envoyer un même message à une liste de contacts. Elle pourrait permettre de recevoir des SMS. Elle pourrait permettre de faire du chat par SMS avec d autres personnes utilisant le même programme. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 16 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 4.4 Conclusions sur les tests A la suite des tests, nous avons conclu sur différents problèmes technologiques qu il faudrait résoudre pour envisager une version finale du produit. Pour corriger le problème du port série, il faudrait monter un projet de recherche sur les modems GSM afin de connaître précisément les commandes AT normalisées. La réalisation de cette application en version finale impliquerait une décomposition en tâches suivantes : Gestion du modem : Travail à effectuer : Initialisation du modem, configuration du modem, lecture, écriture et attente de données. Matériel nécessaire : Un modem GSM, une station de développement avec Visual Embedded Tools et un PDA Coût : Prix du PDA (~700 Euros), prix du modem GSM compatible avec le PDA (~550 Euros) Temps de travail : Difficile à évaluer car dépend de la disponibilité de la documentation technique du modem GSM. En moyenne, 1 mois et demi pour une personne. Encodage d une trame SMS : Travail à effectuer : Encodage de toutes les trames du protocole SMS (envoi d un message, acquittement, erreur). Matériel nécessaire : Une station de développement avec Visual Embedded Tools. Coût : Aucun. Temps de travail : 2 mois pour une personne. Décodage d une trame SMS : Travail à effectuer : Décodage de toutes les trames du protocole SMS (réception d un message, acquittement, erreur). Matériel nécessaire : Une station de développement avec Visual Embedded Tools. Coût : Aucun. Temps de travail : 2 mois pour une personne. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 17 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM Réalisation de l interface graphique : Travail à effectuer : Réaliser une interface agréable, conviviale, facile d utilisation et adaptée au PDA. Matériel nécessaire : Une station de développement avec Visual Embedded Tools, un émulateur Pocket PC pour tester localement et un PDA pour une étude ergonomique. Coût : Prix du PDA (~700 Euros). Temps de travail : 3 semaines pour une personne. Intégration et validation : Travail à effectuer : Assembler les différents éléments, tester et valider. Matériel nécessaire : Tout le matériel nécessaire à chacune des tâches. Coût : Aucun supplémentaire. Temps de travail : 3 semaines pour une personne. Voici donc un récapitulatif pour la réalisation d un produit final : Tâche Coût en Euros Temps de travail Nombre de personnes en semaines Gestion du modem 1250 5 1 Encodage des trames 0 8 1 Décodage des trames 0 8 1 Interface Graphique 0 3 1 Intégration 0 3 1 Total 1250 27 5 Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 18 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 5 Conclusion Nous avons atteint l objectif initial qui était la compréhension et l étude de l envoi de SMS depuis un Pocket PC à l aide d un modem GSM. Les résultats de cette étude pourront être réutilisés dans un projet futur. Ce projet nous a permis d effectuer des recherches sur un sujet qui ne possède pas beaucoup de documentation, et d apporter notre contribution au développement des nouvelles technologies. L application que nous avons développée permettra de remplir sa mission dès que nous aurons à notre disposition un modem GSM fonctionnel et une carte SIM permettant d envoyer des SMS gratuitement. Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 19 sur 40

Nicolas BESSON Emilie COUSIN Nicolas MARTIN Christophe PARIS ESSI3 - STREAM 6 Bibliographie 6.1 Site Web : Trium Site du fabricant du Mondo. Informations techniques sur l appareil (orienté sur la vente du produit). http://www.mitsubishi-telecom.com ETSI Description des standards dans les télécoms Advanced Wireless Planet Détail sur les différents formats de SMS http://www.etsi.org/ http://www.gsm-modem.de/sms-pdu-mode.html DreamFabric http://www.dreamfabric.com/sms/ Décodage d une trame SMS en émission et en réception sur un téléphone mobile. Nobbi http://www.nobbi.com Site des créateurs de PDUSpy, qui permet de décoder les différentes trames SMS. SendMyStuff http://www.aspekt1.net/ms/sms SendMyStuff est un outils permettant la création d un message SMS-SUBMIT. GsmLib http://www.pxh.de/fs/gsmlib Librairie de gestion de modem GSM et de création de messages SMS sous Win32 et Linux. SmartSMS http://www.smartsms.ch/ Outils pour envoyer des SMS payant depuis un PC tournant sous Windows. 6.2 Documentation Spécification ETSI : 03.40 Technical realization of the Short Message Service (SMS). Référence: TS/SMG-040340QR2 Systèmes embarqués - Projet envoi d un SMS sous Pocket PC Page 20 sur 40

Annexe 1 : le protocole SMS 1 Trame SMS-SUBMIT Voici les éléments de base de la trame SMS-SUBMIT : Représentation Description 2 octets Length of SMSC information 1 octet First octet of the PDU Integer TP-MR 2-12 octets TP-DA 1 octet TP-PID Integer TP-DCS 1-7 octets TP-VP Integer TP-UDL (dépend du TP-DCS) TP-UD 1.1 Length of SMSC information Ce champ représente la longueur des informations concernant le centre de messages SMS. Cet octet est optionnel. S il est présent et qu il a une valeur égale à 0 ou s il est émis, cela signifie que les informations stockées dans le téléphone concernant le SMSC seront utilisées. 1.2 First octet of the PDU Le premier octet de la trame a la forme suivante: Bit n 7 6 5 4 3 2 1 0 Nom TP-RP TP-UDHI TP-SRR TP-VPF TP-VPF TP-RD TP-MTI TP-MTI 1.2.1 TP-MTI Ce champ est le Message Type Indicator, il renseigne sur le type de message. Dans le cas du SMS-SUBMIT, le bit n 1 et 0 ont respectivement les valeurs 0 et 1. Les différentes valeurs possibles sont les suivantes : Bit Bit Description Sens n 1 n 0 0 0 SMS-DELIVER SC -> MS 0 0 SMS-DELIVER-REPORT MS -> SC 1 0 SMS-STATUS-REPORT SC -> MS 1 0 SMS-COMMAND MS -> SC 0 1 SMS-SUBMIT MS -> SC 0 1 SMS-SUBMIT-REPORT SC -> MS

1.2.2 TP-RD Ce champ est le «Reject Duplicates», il indique si un message identique à un message déjà reçu et stocké par le centre de messages doit être rejeté ou accepté. 1.2.3 TP-VPF Ce champ est le «Validity Period Format», il définit la présence et le format de la période de validité du message. Les différentes valeurs sont les suivantes : Bit n 4 Bit n 3 Description 0 0 Le champ TP-VP est absent 1 0 Le champ TP-VP est présent au format relatif sur 1 octet (représentation avec un entier) 0 1 Réservé 1 1 Le champ TP-VP est présent au format absolu sur 7 octets (représentation avec un semi-octet) 1.2.4 TP-SRR Ce champ est le «Status Report Request», il indique si le message nécessite un acknowledge ou non. Le bit est placé à 1 s il est demandé. 1.2.5 TP-UDHI Ce champ est le «User Data Header Indicator», il indique si le champ TP-UD comporte une entête. Le bit est placé à 1 si oui. 1.2.6 TP-RP Ce champ est le «Reply Path», il indique si un répertoire de réponse existe ou non. Le bit est placé à 1 si oui.

1.2.7 Exemple Si le premier octet a une valeur de 11 en hexadécimal, cela signifie la chose suivante : Bit n 7 6 5 4 3 2 1 0 Nom 0 0 0 1 0 0 0 1 Il s agit donc d un message de type SMS-SUBMIT qui sera accepté même si un message identique existe dans le SMSC. Le champ TP-VP sera présent et aura un format relatif. Aucun acknowledge n est demandé, le champ TP-UD ne contient pas d entête et il n existe pas de répertoire de réponse. 1.3 TP-MR Ce champ est le «Message Reference», il s agit d un identifiant du message. Si sa valeur est 00, cela signifie que le téléphone aura libre choix pour cet identifiant de message. 1.4 TP-DA Ce champ est «Destination Address», il précise les informations concernant l adresse du destinataire du message. Il se décompose de la façon suivante : Représentation Description Taille Octets Integer Address Length 1 1 octet Type of Address 1 Length Semi-Octets Address Value x 1.4.1 Address Length Ce champ indique la longueur de l adresse en nombre de semi-octets (1octet=2semioctets), c est un entier. 1.4.2 Type of Address Ce champ indique le format de l adresse (du numéro de téléphone). Il se décompose de la façon suivante : Bit n 7 6 5 4 3 2 1 0 Nom Toujours à 1 Type-of-number Numbering Plan Identification

Type of number Ce champ représente le type de l adresse.voici les différentes valeurs possibles de ce champ: Bit n 6 Bit n 5 Bit n 4 Description 0 0 0 Type inconnu 0 0 1 Numéro international. 0 1 0 Numéro national. 0 1 1 Numéro spécifique d un réseau. 1 0 0 Subscriber number. 1 0 1 Alphanumérique 1 1 0 Abréviation 1 1 1 Réservé Numbering Plan Identification Ce champ n est valable que pour un «type-number» égal à 000 ou 001 ou 010. Pour les autres valeurs de «type of number», il doit être transmis avec la valeur 0000. Les valeurs possibles dans le cas où il est valable sont : Bit n 3 Bit n 2 Bit n 1 Bit n 0 Description 0 0 0 0 Inconnu 0 0 0 1 ISDN/telephone numbering plan (E.164/E.163). 0 0 1 1 Data numbering plan (X.121). 0 1 0 0 Telex numbering plan 1 0 0 0 National numbering plan. 1 0 0 1 Private numbering plan 1 0 1 0 ERMES numbering plan (ETSI DE/PS 3 01-3) 1 1 1 1 Réservé Exemple Un type d adresse égal à 91 en hexadécimal signifie qu il s agit d un numéro de téléphone international. Bit n 7 6 5 4 3 2 1 0 Valeur 1 0 0 1 0 0 0 1 1.4.3 Address value Ce champ contient l adresse. Elle est encodée de la façon suivante : les chiffres sont inversés deux à deux. Par exemple le numéro suivant : 06 65 45 51 27 est codé par la valeur hexadécimal 60 56 54 15 72.

1.5 TP-PID Ce champ est le Protocol Identifier, il s agit d un octet utilisé de la façon suivante: Le «MS» interprètera des valeurs réservées ou inconnues de ce champ comme une valeur 00000000. Le «SC» refusera les messages contenant une valeur réservée ou inconnue pour ce champ. 1.6 TP-DCS Ce champ est le Data Coding System,il indique quel codage est utilisé pour le message. Dans notre cas, nous utiliserons la valeur 00 qui signifie un codage sur 7 bits. Pour information, la valeur 02 signifie un codage sur 8 bits. 1.7 TP-VP Ce champ est le «Validity Period», il donne le temps au bout duquel le message expire. Pour un format relatif Il s agit d un Integer donnant la longueur de la période depuis le moment où le message a été reçu par le centre de messages. Valeur du champ Valeur de la période 0 to 143 (TP-VP + 1) * 5 min (i.e. des intervalles de 5 min jusqu à 12 h) 144 to 167 12 hr + ((TP-VP - 143) * 30 min) 168 to 196 (TP-VP - 166) * 1 jour 197 to 255 (TP-VP - 192) * 1 semaine Pour un format absolu Il est donné sur 7 octets contenant le champ «TP-SCTS» qui précise le format utilisé. 1.8 TP-UDL Ce champ est le «User Data Length», il indique la longueur du message selon le codage du message. Par exemple, pour un codage sur 7 bits, la longueur donnera le nombre de septets (données codés sur 7 bits)