Home

Plate-forme mobile d`administration d`objets communicants

image

Contents

1. Shield GSM 16 Pr sentation des shields Arduino 17 4 2 Exemple d application Envoi de SMS int led 13 int onModulePin 2 le PIN permettant d allumer le module void switchModule f digitalWrite onModulePin HIGH delay 2000 Reboot du module digitalWrite onModulePin LOW void setup f pinMode led OUTPUT pinMode onModulePin OUTPUT Serial begin 19200 specifie la vitesse de transmission switchModule allume le module delay 5000 attente de l etablissement de la connezrion Serial println ATICMGF 1 selectionner le format texte pour les SMS void loop Serial print AT CMGS specifie le numero du destinataire Serial print 34 BYTE envoie du caractere Serial print OGxxxxxxxx Serial println 34 BYTE Serial print Hello_World Texte a envoyer Serial print 0x1A BYTE envoie du caractere hera lA qui marque la fin du message Serial print ATxPSCPOF eteint le module GSM 17 Pr sentation des shields Arduino 18 4 3 Probl mes rencontr s Le premier probl me rencontr tait l absence de l antenne GSM qui emp chait toute op ration d envoi et de r ception d appel ou de SMS message d erreur NO CARRIER onNznazy FIGURE 7 Shield GSM Branchement de l adaptateur de l antenne Une mauvaise configuration du taux de transmission engendrait un comportement du shi
2. aveugle utilisant un affichage en braille Introduction 6 Il convient donc de le d sinstaller sudo apt get remove perros 5 2 Windows Vista amp Seven Il faut t l charger l archive directement sur le site officiel 13 la d zipper puis lancer arduino exe pour lancer PEDI T installation du p riph rique USB est automatique pour la carte DUEMILANOVE d s le branchement Il faut par contre mettre jour le driver de la carte UNO depuis le gestionnaire de p riph riques le fichier driver Arduino UNO inf se trouvant dans le dossier Drivers de l archive Liens qui nous ont t utiles http www arduino cc playground Learning Linux http arduino cc en Guide Windows 6 Environnement de d veloppement Android Android est un syst me d exploitation pour terminaux mobiles Son environnement de d veloppement permet de d ployer des applications adapt es ses sp cificit s crites dans le langage de programmation Java Pour crire ce code Java nous avons utilis s l environnement de d veloppement int gr Eclipse 6 1 Manuel d installation et de configuration Installation Linux amp Windows Cette partie est commune aux deux syst mes d exploitations la diff rence qu elle n a pas besoin d tre faite sur les versions les plus r centes d Ubuntu o toutes les tapes ont d j t effectu es Avant toute chose il faut donc v rifier la pr sence et dans le cas ch ant
3. d adresse 4 Tableau extrait du Reference Guide 10 11 Pr sentation des shields Arduino 12 TP en mode infrastructure sur cet exemple une attente de connexion entrante sur la socket port 80 et l envoi d une chaine HTTP r pondant un GET include WiFly h Server server 80 void setup WiFly begin void loop Client client server available if client boolean current line is blank true while client connected if client available 4 char c client read if c An amp amp current line is blank client println HITP 1 1200 OK client println Content Type _text html client println client println Hello_world _ break if e ah current_line_is_blank true else if c r current line is blank false delay 100 client stop La connexion s effectue simplement en ouvrant un navigateur sur Purl http IP_ MODULE 2 3 Probl mes rencontr s Utilisation d un r seau en mode infrastructure Le premier probl me auquel nous nous sommes heurt s a t la non possession d un r seau Wi Fi infrastructure pour pouvoir s y connecter et effectuer nos tests En effet les r seaux Wi Fi disponibles sur le campus sont des r seaux avec des protocoles de connexion s curis s inutilisables avec nos modules Arduino Nous avons r solu le probl me en utilisant un routeur propageant un r
4. demander des informations pertinentes Par exemple si un module Arduino quip d un module GPS et d un module Thermom tre est d tect on pourra lui demander sa g olocalisation ainsi que la temp rature auquel il est expos AWACS dispose aussi d un module pour envoyer des SMS simple d emploi 25 laboration du projet 26 5554 Android1 pa M 5 58 Pm AWACS Android Wireless Admin and Control Service Envoyer SMS GSM WiFi Manuel A AOA WiFi Scanner fz fs fa s s fz fefe fo w le fr 1 y ju 1 fo e LE RCE alz x fe dv le lu m MEA FIGURE 14 Le menu d AWACS 5556 Android1 Southas MER Brignon y A A O OCO O o m vav a 12 13 Ja 1 le P ls Te fo olle ler fe Leda vae S E _ Zaragoza d Taragona o Barcelona SS s Mataro 3 5316 A Valencia FIGURE 15 AWACS qui communique avec un module GPS Arduino Dans l tat actuel des choses le seul retard d AWACS par rapport son cahier des charges est qu il n administre pas vraiment les modules Arduino c est dire qu il ne peut pas leur envoyer de messages pour les configurer 26 laboration du projet 27 5554 Android2 pa BA e 5 53 Pm WiFi Scanner A Envoi GPS vay Cu O 0000 le dde ls lo lr dodo lo alw le le fr dy lua do Je Envoi Luminosit Po pa pe e rpm lancia i APT FIGURE 16 Le module Wi Fi distance Cependant l impl mentation d une telle administra
5. es induites par l environnement La gestion des limites de visibilit entre clients n uds cach s duplicatas d adresses La gestion de la s curit des donn es Le projet de notre quipe vise fournir une plate forme d administration capable de g rer ces probl mes quant la communication entre entit s mobiles et nous travaillerons plus particuli rement sur des tablettes Android et des processeurs shields extensions Arduino 3 Mat riel disposition Nous avons re us dans le cadre du projet le mat riel suivant 2 tablettes Huawei Ideo S7 syst me d exploitation Android 3 Starter Kits Arduino carte UNO 1 Sparkfun Inventor Kit Arduino carte DUEMILANOVE 4 modules Wi Fi Wifly 4 modules XBee 4 Puces XBee s par es combiner 2 modules GSM avec carte adaptateur antenne et antenne s par e 2 modules GPS 4 modules crans 2 blocs d alimentation secteur sortie de 6V 12V 2 blocs d alimentation externe avec piles fournies sortie 9V 4 tude pr alable de la technologie Arduino Arduino est une plate forme technologique faite pour qu un terminal puisse d tecter d autres entit s et communi quer de mani re accessible avec elles Il s agit aussi bien d un environnement de d veloppement et de programmation qu une technologie mat rielle c est dire une carte lectronique Les sp cifications aussi bien mat rielles que logi cielles d Arduino
6. fil en utilisant la technologie Zigbee Le module peut communiquer jusqu 30 m tres l int rieur et 90 m tres l ext rieur sur zone d gag e Il suffit pour faire communiquer deux modules d crire sur le port s rie La cha ne de caract re est alors directement broadcast e et les modules r cepteurs affichent alors la cha ne re ue sur le port s rie Formatage des donn es au sein du port s rie Le port s rie autorise le formatage des donn es sur son flux d criture lecture Ainsi il est possible d crire au format byte format brut bin binaire oct octal hex hexad cimal dec d cimal ainsi que flottant Exemples Serial print 78 BYTE donne N Serial print 78 BIN donne 1001110 78 OCT donne 116 Serial print 78 DEC donne 78 Serial print 78 HEX donne 4E Serial printin 1 23456 0 donne 1 Serial printin 1 23456 2 donne 1 23 Serial printin 1 23456 4 donne 1 2346 Serial print Il faut donc conna tre du c t r ception le format des donn es pour viter leur corruption Pr sentation des shields Arduino 10 1 2 Exemple d application Clignotement de LED distance Cet exemple pr sente le dialogue entre deux modules Xbee l un donnant l ordre de faire clignoter une LED branch e sur l autre module Le module r cepteur a donc une LED de branch e sur un pin d clar en OUTPUT Il effectue une attente active en lecture
7. fois le code upload et ce sur chaque mainboard Cela est donc assez contraignant au niveau du temps et des manipulations r aliser 2 Shield Wi Fi 2 1 Fonctionnement L utilisation et la configuration du module Wi Fi se fait par le port s rie gr ce des commandes du type set wlan auth lt value gt join lt ssid gt open lt addr gt lt port gt etc Cependant une biblioth que 4 exp rimentale existe pour ce module rendant la chose beaucoup plus simple Nous y avons juste ajout s une fonction enableDHCP qui active l acquisition automatique d adresses IP par le protocole DHCP Il faut laisser au module le temps de se connecter au r seau d acqu rir une IP d effectuer les requ tes etc afin d viter tout probl me de synchronisation entre le code et la carte Wi Fi Trois diodes sont pr sentes sur la carte Wi Fi pour nous informer de l tat de la connexion suivant le fonctionnement suivant 4 Condition Red LED Yellow LED Green LED On solid Not associated Connected over TCP Fast blink Rx Tx data transfer No IP address Slow blink Associated No Internet IP address OK OFF Associated Internet OK 2 2 Exemple d application H bergement d un serveur web Les modules Wi Fi peuvent simuler un serveur web en envoyant sur une socket ouverte sur le port 80 des cha nes de caract res format es en requ tes HTTP Le programme consiste alors en une simple acquisition
8. les installer dans l ordre indiqu de Java Standard Edition v6 Development Kit Java SE 6 JDK 9 Android Software Development Kit Android SDK 3 Eclipse 7 Il faut ensuite mettre jour Eclipse avec la suite ADT les Android Development Tools 1 Pour ce faire une fois Eclipse lanc il faut faire Help gt Install New Software gt Add et y entrer PURL d ADTTI2 Une fois ADT t l charg et install Eclipse doit tre red marr Configuration A partir de cette tape m me sur les versions les plus r centes d Ubuntu il est obligatoire de proc der aux op rations suivantes Configurer Eclipse dans Windows gt Preferences gt Android gt SDK Location indiquer le lieu l installation du SDK Android Introduction 7 Mettre jour ADT dans Windows gt Android SDK and AVD Manager gt Available packages gt Android Repository indiquer les plate formes Android dont l on souhaite disposer Il est n cessaire d en avoir au moins une et les versions exactes requises d pendent des cibles que vous souhaitez atteindre ex un t l phone en 1 6 etc Cr er un AVD dans Windows gt Android SDK and AVD Manager gt Virtual devices gt New indiquer dans Target la plate forme Android pour laquelle on pourra l utiliser ex Android 2 3 3 APT Level 10 et dans SD Card mettre une taille ex Size 9 MiB Un AVD est un Android Virtual Device Il sert muler une plate fo
9. par octet L utilisation de seulement 2 octets pour d crire une requ te vite que le code ne devienne trop complexe et instable La r ponse donn e par la carte Arduino est une cha ne de caract res pr fix e de 3 caract res indiquant la nature du module qui r pond la requ te GPS pour le module GPS THM pour le module de temp rature etc Le reste de la chaine contient les donn es produites par le shield par exemple les coordonn es GPS dans le cas d une requ te Arduino GPS En fonction du moyen de communication utilis r seau Wi Fi ou GSM nous utilisons pour communiquer une socket TCP classique dans le premier cas et un envoi de SMS standard dans le deuxi me cas Interrogation des modules 1 Demande des coordonn es GPS 2 Demande de la temp rature 3 Demande de l tat de la porte 4 Demande de la luminosit Demande de la liste des services install s Wi Fi Pr fixes des r ponses des modules GPS R ponse du GPS THM R ponse de la sonde de temp rature DOO R ponse du la sonde de la porte LUM R ponse du la sonde de luminosit OK Liste les services Wi Fi uniquement 3 Module tracker GPS Le module de tracking GPS consiste en l association d une alimentation externe du shield GPS et d un shield de communication Wi Fi ou GSM Il permet gr ce l utilisation du protocole de communication sus cit de donner sa g olocalisation sur simpl
10. partie n est n cessaire que pour les tablettes Android et en particulier a t crit pour les tablettes An droid Ideos S7 nous ayant t fournies bien que la d marche soit similaire pour d autres variantes Une fois la tablette reli e ordinateur par son cordon USB il faut dans le menu de celle ci choisir les Appli cations le logo avec quatre carr s et aller dans Settings gt Applications gt Development pour y allumer le USB Debugging Attention la tablette va mettre un bruit assez fort pensez la mettre en mode Silencieux avant Une fois cette tape faite il faut que votre ordinateur puisse reconnaitre la tablette La d marche est diff rente si vous tes sur Linux 8 ou sur Windows il faut t l charger le driver sur le site du constructeur 6 A partir de maintenant et quand la tablette est connect e dans Eclipse et son panneau Run gt Run la tablette Ideos sera disponible Il faut la s lectionner pour lancer le programme dessus plut t que sur un AVD L application test devrait alors normalement se lancer sur la tablette Attention Il faut d abord v rifier la version d Android install e sur la tablette et ventuellement t l charger l APT appropri e pour ADT et s assurer que le projet y corresponde les tablettes fournies sont en version 2 1 voir Configuration plus haut Il est alors n cessaire de changer le Project Build Target alias le niveau de API et de la plate forme dans l
11. seau Wi Fi en mode infrastructure 12 Pr sentation des shields Arduino 13 Shield d origine inutilisable En effet lors de sa livraison le shield Wi Fi n tait pas utilisable en l tat actuel puisqu aucun moyen de brancher le shield sur la carte Arduino n existait Nous avons donc soud directement sur le shield des broches pour pouvoir la fois brancher le shield sur la carte Arduino et la fois brancher d autres entr es sur le shield Wi Fi FIGURE 4 R sultat de la soudure du shield Wi Fi Extinction du shield apr s un temps d inactivit Il se trouve qu apr s un certain moment d inactivit environ 30 secondes le module Wi Fi n est plus joignable ni par socket ni par ping Apr s de longues recherches pour r soudre le probl me notamment les temps d inactivit par d faut nous avons utilis s le programme HardwareFactoryReset de la biblioth que Wifly 4 cit e plus haut remettant les modules WiFly dans leurs param tres d usine Ils marchent maintenant normalement sans s teindre 13 Pr sentation des shields Arduino 14 3 Shield GPS 3 1 Fonctionnement Il existe une multitude de shield GPS compatibles avec Arduino Chacun a un mode de fonctionnement diff rent Le shield qui nous a t fourni est le DS GPM S Ce module GPS poss de une connexion de type I C qui permet de communiquer avec seulement deux entr es analogiques entr es 4 et 5 laissant ainsi le port s rie libre pou
12. Branchement du module de luminosit calcul la valeur Le code ci dessous est un abr g de la version Wi Fi void loop Client client server available if client if client connected while client available lt 1 char cl client read while client available lt 1 char c2 client read if c1 ke c2 5 getLumi photo client println Luminosite L client println lumi client println client stop 5 Module d information de temp rature Ce module permet de renseigner la temp rature ambiante en degr s Celsius Nous utilisons pour cela une ther mor sistance avec laquelle nous calculons la temp rature associ e 22 laboration du projet 23 gt D gt gJ w z Lu e lt FIGURE 11 Module d information de temp rature Le code associ est tr s proche de celui du module de luminosit exception du calcul de la temp rature client println Temp client println getVoltage tmpin 0 5 100 client println deg_C 6 Module de d tection d ouverture de porte Ce module permet de renseigner l tat d une porte sur laquelle il est branch pour savoir si celle ci est ouverte ou ferm e Nous utilisons un flex sensor capable de d tecter les torsions En appliquant le sensor sur le coin de la porte voir figure 12 Pouverture de celle ci va engendrer une torsion du mod
13. Universit Bordeaux 1 Master Informatique Ann e 2010 2011 Plate forme mobile d administration d objets communicants M moire de Projet de Fin d tudes S bastien Barascou lt sebastien barascou etu u bordeauxi fr gt eoftrey Boyer lt geoffrey boyerGetu u bordeauxi fr gt Lo c Fournier lt loic fournier etu u bordeauxi fr gt ann Hauquin lt yann hauquin etu u bordeauxi fr gt Tuteurs J r mie Albert Serge Chaumette BORDEAUX 1 Sciences Techncioges R sum Ce m moire pr sente le projet de fin d tudes Plate forme mobile d administration d objets communicants de la sp cialit Syst mes amp R seaux du Master IT en Informatique de l Universit de Bordeaux I Le projet a eu un double but didactique et technique En effet sa probl matique tait de devoir d couvrir les plates formes lectroniques modulaires Arduino de tester leurs possibilit s et d arriver pouvoir communiquer avec elles et les administrer distance depuis un terminal mobile Android Ce document est lui m me la fois didactique et technique Dans un premier lieu nous y pr sentons le mat riel et ses sp cificit s et dans un second lieu les diff rentes tapes de notre projet Nous expliquons les divers probl mes que nous avons rencontr les solutions et r ponses vari es que nous avons compil tout ceci dans le but d en faire une source d information relative au d veloppement Arduino et Android Table
14. ation avec les satellites peut tre relativement long jusqu 30min Une LED bleue sur le module indique l tat de synchronisa tion du GPS Fixe le module n est pas synchronis Clignotement lent le module est synchronis et immobile Clignotement rapide le module est synchronis et mobile Il est galement possible de conna tre l tat du module en lisant le quatri me et le cinqui me bit du registre 112 15 Pr sentation des shields Arduino 16 4 Shield GSM GPRS 4 1 Fonctionnement Le dialogue avec le module GSM via le terminal du port s rie n a pos aucun probl me et nous avons pu communiquer avec le module sans souci particulier En effet comme le module Xbee les fonctionnalit s du module GSM sont accessibles via le port s rie gr ce des commandes AT Principales commandes que nous avons utilis sur le module GSM Commandes Description AT tat de la connexion au port s rie AT CPIN D bloquage du PIN AT COPS Retourne le nom du r seau du mobile ATD FPE kkk Effectue un appel vocal ATH Termine un appel en cours AT CSCA R cup re le num ro du centre d appel SMS AT CMGF 1 S lectionne le format pour les SMS 1 pour format texte AT COM GS EPEE kkk I Sp cifie le num ro du destinataire pour les SMS AT CNMI 2 2 0 0 Permet la redirection de flux vers le port s rie 020088 cq Ti PATES 3 e si se EESAN Ra E ETN FIGURE 6
15. aux mobiles smartphones et PDAs qui sont la jonction au niveau de la puissance et des fonctionnalit s entre l ordinateur et le t l phone mobile Par exemple l o auparavant tait utilis le mod le d changes dit par infrastructure requ rant un serveur centralis auquel devaient se connecter les clients le mod le de r seau ad hoc a t cr du latin pour dire form dans un but pr cis Ce mod le permet deux terminaux mobiles de se connecter l un l autre en vitant le mod le client serveur et sans avoir passer par un serveur central Ce mod le vient videmment avec ses avantages comme son efficacit les donn es passent directement leur destinataire plut t que de parcourir un trajet inutile mais aussi ses d fauts li s ses sp cificit s Ces d fauts sont donc prendre en compte lors du d veloppement et ainsi sont n cessaires La gestion des contraintes mat rielles des terminaux mobiles bande passante et puissance de calcul limit e consommation d nergie limiter La gestion de la mobilit des clients d tection de nouveaux n uds connexions au r seau perte de routes entre deux clients disparition d un n ud du r seau Introduction 3 La gestion du routage pas d adresses fixes transmission des donn es n ud n ud pour arriver au desti nataire final La gestion de la latence et des interf rences ventuelles pertes de donn
16. ctiques et techniques du projet ont pour nous t accomplis Le programme Android et les modules Arduino fonctionnent dans leur tat actuel m me si avec plus de temps nous aurions pu ajouter plus de fonctionnalit s et d interop rabilit Pour le futur nul doute que le rapport ci pr sent et les ressources fournies permettront un novice de d buter beaucoup plus facilement que nous en d veloppement Android et Arduino 28 Bibliographie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Android development tools installation http developer android com sdk eclipse adt html installing Android development tools url eclipse https dl ss1l google com android eclipse Android software development kit http developer android com sdk index html Biblioth que arduino pour le shield wifi https github com sparkfun WiFly Shield Demande de cl pour Papi google map http code google com android add ons google apis mapkey html Driver de la tablette ideos windows http www huaweidevice com worldwide downloadCenter do method 1listgflay software amp directoryld 20 amp treeld 0 Eclipse http www eclipse org downloads Installation de la tablette ideos linux http developer android com guide developing device html setting up Java standard edition v6 development kit http www oracle com technetwork java javase downloads index html Rn 131
17. des mati res I Introduce a a dol e e eane a 2 1 Sujet officiel a ssa ger a aa a a D AR 2 He Moments pue san tte Roacaen da dure 2 2 Compr hension du sujet 2 3 Mat riel amp disposition 2 24 244 ue ua SRE D AA RU da eh ER cd a 3 4 tude pr alable de la technologie Arduino 3 5 Environnement de d veloppement Arduino 5 6 Environnement de d veloppement Android 6 IT Pr sentation des shields Arduino 9 1 Shield Beer A SU N NS NM RATS MOUSE nr EDR Gene Me e ee 9 2 Smeld WIET ei O 11 3 Shield GPS LA das CA la ARA A A o aca a Aai atA 14 4 Shield GSM GPRS na 444 a RS RS A a aa a e a a aa an he nt D LE 16 II laboration du projet mera ca add da ar cid id a pa a E 19 1 Cr ation amp Configuration de r seaux Wi Fi Arduino 19 2 Protocole de communication 20 3 Module tracker GPS Li LES DR RUE un EE ni ARR De 20 4 Module d information de luminosit 21 5 Module d information de temp rature 22 6 Module de d tection d ouverture de porte 23 T AWAOS 2 ane a a a NE A A A a eea DAS Je 25 IV Conclusi n cs nas A a E D AAA A e voies DE DE 28 Bibliographie 29 Introduction 2 I Introduction 1 Suj
18. e demande Lors de la r ception de la cha ne f1 le module met jour ses coordonn es et les envoie l metteur de la demande L utilisation de l alimentation externe permet une enti re autonomie du module et il peut tre utilis n importe o du moment qu un acc s au r seau GSM est possible car le shield Wi Fi aura rarement une port e suffisante pour tre pertinent 20 laboration du projet 21 FIGURE 9 Assemblage du module de tracker GPS Le code suivant consiste analyser les SMS entrants puis mettre jour les coordonn es GPS pour les envoyer void loop if Serial available gt 0 f parse_receiver Permet de stocker le numero de l emetteur du SMS entrant inchar Serial read if inchar 4 inchar Serial read if inchar 1 f Si on recoit la chaine 41 refresh_coor send_sms_coor HYH 4 Module d information de luminosit Ce module permet de renseigner la luminosit auquel il est expos Nous utilisons pour cela un photoresistor avec lequel nous calculons gr ce sa r sistance en sortie le pourcentage de lumi re associ Le code associ ouvre une socket en mode serveur puis attends qu un client s y connecte et y envoie la suite de caract res f4 Lorsque cette cha ne est re ue il crit dans la socket l information de luminosit apr s en avoir lu et 21 laboration du projet 22 FIGURE 10
19. eld impr visible et al atoire Un r glage 19200 bps a permis de r soudre le probl me Au d part des pertes de connexions r currentes apparaissaient or il est indiqu dans les sp cifications du shield GSM qu une simple alimentation par le port USB peut ne pas tre suffisante pour alimenter le shield et ainsi emp cher d obtenir une connexion stable L utilisation d une alimentation externe 9V a corrig ce probl me Entre les diff rentes commandes envoy es au shield il est parfois n cessaire d utiliser des delay pour per mettre au shield d avoir le temps de bien interpr ter chaque commande Un des plus gros probl me rencontr a t le caract re hexad cimal de fin de message Ox1A lors de l envoi d un SMS qui n tait pas interpr t par l environnement de d veloppement Arduino L utilisation du logiciel X ctu permettant l interpr tation de tels caract res a corrig partiellement ce probl me Nous nous sommes finalement rendu compte que c est la position des jumpers qui posait probl me Ils doivent tre positionn s sur Arduino pour que cela fonctionne y PE erial com jumpers Arduino digital I O 3 7 rduino USB gateway Es Eu EE Eu Y in ext rduino SU au En V ext Ne GPRS Modem Hilo Sagem Speaker Do D Speaker 8 GSM modyle far Arduina Mic Mic gnd FIGURE 8 Emplacement des jumpers su
20. ent des permissions et biblioth ques sup Pr sentation des shields Arduino 9 pl mentaires qu il faut signaler dans le fichier AndroidManifest rml De m me pour certaines fonctionnalit s telles que Google Map il faut s enregistrer aux services Google 5 par rapport l empreinte de votre ordinateur Utiliser deux AVDs Particuli rement utile dans le cas par exemple d applications bas es sur l envoi et la r ception de SMS il est possible de cr er deux AVDs prendre garde leur donner le m me niveau et les m mes param tres et de les lancer en m me temps en faisant Run deux fois et en s lectionnant un AVD diff rent chaque fois Les AVDs peuvent alors communiquer entre eux Par exemple le num ro s affichant en haut gauche de la fen tre de PAVD ex 5554 lt nom AVD1 gt 5556 lt nom AVD2 gt est celui qu il faut entrer pour les tests d appels t l phoniques et d envoi r ception de SMS Remplacez juste le 0556XXXXXX habituel par 5554 ou 5556 Liens utiles http developer android com sdk installing html http developer android com sdk eclipse adt html http developer android com guide developing eclipse adt html http developer android com guide tutorials hello world html http developer android com resources tutorials views hello mapview html IT Pr sentation des shields Arduino 1 Shield XBee 1 1 Fonctionnement Le shield Xbee permet une carte Arduino de communiquer sans
21. es Propri t s du projet Il est parfois n cessaire que le projet soit flagg comme debuggable dans le fichier AndroidManifest cml en ajoutant android debuggable true la balise lt application gt pour que le transfert fonc tionne Il est galement possible que l importation d un projet d j existant sous Eclipse provoque des erreurs Dans ce cas il faut le s lectionner et faire clic droit gt Android Tools gt Fix Project Properties puis le rafraichir clic droit gt Refresh voir le nettoyer Project gt Clean 6 3 Programmation Android avanc e L APT Google Google offre une APT standard permettant de piocher des fonctionnalit s dans certains de leurs services comme Google Map Dans Eclipse faire Windows gt Android SDK and AVD Manager gt Available packages et y s lectionner Third Party Addons T l charger les APT Googles correspondant celles de votre SDK ex Android SDK version 2 1 correspond l APT de niveau 7 prenez donc la Google APT 2 1 correspondant au niveau 7 Clic droit sur le projet Properties gt Android s lectionner APT Google correspondant celui du projet Vous pouvez maintenant utiliser des applications Google telles que Google Map fournies dans le package com google android Attention vous devez cr er un nouvel AVD bas sur cette APT si vous voulez pouvoir l utiliser en mulateur La programmation Android en utilisant PAPI Google n cessite souv
22. et officiel Encadrants J r mie Albert Serge Chaumette Mots cl s Android Arduino tablettes r seaux mobiles ad hoc Mat riels mis disposition Tablettes Android processeurs et shields Arduino quipe de recherche concern e Th me Muse de l quipe LSR du LaBRI La prolif ration des syst mes embarqu s et l apparition de nouvelles technologies autour des r seaux sans fil ont permis la conception d applications novatrices ciblant l Internet des Choses Le r seau ad hoc sous jacent est uniquement form par les liens mis en place deux deux par les objets communicants Le pr sent projet vise fournir une plate forme de gestion de ces mat riels r seaux Il a deux objectifs technique et didactique Le travail demand a pour objet de permettre la prise en main de ces quipements et de fournir une plate forme d administration permettant de les g rer Il faudra en particulier r aliser les tapes suivantes Installation et mise en oeuvre sur des tests des plates formes Arduino et tablettes Android R alisation d objets communicants base de technologie Arduino Mise en place de communications Arduino tablette Android Conception et mise en oeuvre d une plate forme d administration d quipements Arduino sur tablette Android 2 Compr hension du sujet De nouvelles technologies et mani res de penser doivent tre cr es pour exploiter au maximum le potentiel des nouveaux genres de termin
23. g reference guide wifly module http www sparkfun com datasheets Wireless WiFi WiFlyGSX um pdf Site officiel d arduino http www arduino cc Site officiel d arduino lien vers l archive arduino version 22 pour linux http arduino googlecode com files arduino 0022 tgz Site officiel d arduino lien vers l archive arduino version 22 pour windows http arduino googlecode com files arduino 0022 zip Site officiel d arduino pr sentation de la carte uno http arduino cc en Main ArduinoBoardUno Site officiel d arduino r f rence logicielles http arduino cc en Reference HomePage 29 BIBLIOGRAPHIE 30 16 Source de la photo de l avion awacs Us air force http www af mil shared media photodb photos 021107 0 9999G 024 jpg 17 Source de la vue composants du shield gsm Wiki libelium http www libelium com squidbee index php title New_GPRS_module_for_Arduino_ Hilo_ _ Sagem 30
24. itation Android ne g re nativement que les r seaux sans fils en mode infrastructure et nous n avons finalement r ussis avancer qu une fois en possession d un routeur capable de connecter les modules Arduino et les tablettes Une solution alternative aurait pu tre trouv e en partant sur la modification directe du syst me d exploitation Android Des tutoriaux sont disponibles sur Internet mais cela aurait requis de remplacer des modules officiels par d autres fournis par des services non officiels et aurait de plus requis un piratage de la tablette pour nous attribuer les droits root Nous avons donc pr f r s nous d brouiller d une autre mani re De plus si nous avions fait ca nous n aurions peut tre pas eu le temps de s investir d avantage sur les autres shields de par la complexit de leurs probl mes individuels et le temps mis pour les r gler 19 laboration du projet 20 2 Protocole de communication Un protocole texte a t tabli pour communiquer entre la tablette et les modules Les requ tes envoy es par la tablette restent simples puisqu elles consistent envoyer le caract re suivit par un chiffre chaque chiffre corres pondant une commande particuli re L utilisation de ce format est justifi car le caract re est rarement employ dans la vie courante il n y a donc pas de risques d interf rences et surtout car la carte Arduino n est capable de lire les flux entrant qu octet
25. le on aurait pu l utiliser pour localiser les modules les configurer distance et r cup rer les informations qu ils produisaient La tablette Android ayant des capacit s Wi Fi et GSM elle devait tre capable d interagir avec les modules par ces deux modes de communication 7 2 Fonctionnalit s Actuellement AWACS est capable d envoyer et de recevoir des messages aussi bien par Wi Fi que par SMS puis de traiter ceux ci afin de savoir s ils correspondent au protocole d change que nous avons cr s Ce protocole est bas sur un syst me de tags qui sont ensuite utilis s pour formater les messages chang s d une mani re particuli re Ainsi comme cela a d j t d crit plus haut dans la section Protocole de communication si AWACS re oit un message contenant exactement la ligne GPS 44 24 8191N 000 43 2812E Villeneuve sur Lot ArduinoUno il comprendra aux trois premi res lettres le tag qu il va devoir envoyer les donn es son module GPS Les coordon n es qui suivent sont ensuite lues et transform es pour tre accept es par APT Google Map accessible sur Android tandis que les deux derniers mots sont des champs d informations optionnels Il est noter que ce format d criture pour les coordonn es GPS est celui fourni par le shield GPS de nos modules Arduino Le module Wi Fi d AWACS permet de scanner la pr sence de modules Arduino dans la zone de voir les shields dont ils sont quip s et de leur
26. ministrateurs du CREMI nous ont aid s de leur mieux et ainsi par exemple les ordinateurs du b timent reconnaissent maintenant de mani re native les tablettes Android ce qui n tait pas le cas avant le d but de notre projet 27 Conclusion 28 IV Conclusion Le projet demandait que nous apprenions les sp cificit s du mat riel Arduino et Android que nous en rendions compte et que nous d veloppions une plate forme capable de faire interagir les diff rents modules et programmes construits La principale difficult rencontr e a clairement t le temps tr s limit de six semaines dont nous avons dispos surtout au vu du fait que nous tions confront s de toutes nouvelles technologies et un mat riel lectronique sur lequel nous n avions aucune exp rience Toutefois cela a pu tre en partie compens par le fait que la r partition du travail tait ais e chaque module tant ind pendant et pouvant tre travaill en parall le avec les autres Par contre la d couverte progressive des possibilit s du mat riel Arduino a emp ch que le d veloppement Android soit r gulier et il nous a souvent fallu changer de direction durant le d veloppement Cela explique le fait que la partie administration du programme Android soit manquante Globalement nous sommes satisfaits de Pavancement du projet et m me si nous ne remplissons pas toutes les clauses du cahier des charges original les objectifs dida
27. r la carte GSM 17 18 laboration du projet 19 III laboration du projet 1 Cr ation amp Configuration de r seaux Wi Fi Arduino Les shields Wi Fi fournis permettent la cr ation et la connexion de r seau Wi Fi en mode infrastructure et ad hoc Initialement le projet devait se baser sur une communication dans ce dernier mode L criture des programmes associ s n a pas pos de probl mes particuliers avec en exemple le code pour la cr ation d un tel r seau void create_adhoc char x ssid int chanel Serial begin 9600 SpiSerial print Passage en mode commande delay 800 SpiSerial println set_wlan_join_4 Configuration du mode Wi Fi en adhoc delay 800 SpiSerial print set_wlan_ssid_ Configuration du ssid SpiSerial println ssid delay 800 SpiSerial print set_wlan_chan_ Configuration du chanel SpiSerial println chanel delay 800 SpiSerial println set_ip dhcp_2 Activation du DHCP delay 800 SpiSerial println save Sauvegarde de la configuration delay 800 SpiSerial println reboot Rebooting delay 3000 Serial println Les tests effectu s ont permis de faire des changes de donn es entre deux modules Arduino avec succ s Probl mes rencontr s Tr s rapidement un probl me majeur est apparu il s est r v l tr s difficile de connecter les tablettes Android que nous avions un r seau Wi Fi En effet le syst me d explo
28. r les autres modules comme le GSM ou le Wi Fi La seule op ration que l on puisse faire sur le module GPS est la lecture des valeurs des diff rents registres 112 registres au total En outre le module GPS poss de 4 jumpers qui permettent de configurer l adresse de lecture ce qui fait qu il est possible de brancher 4 modules en m me temps qui utilisent tous la communication 12C et ceci en jouant sur la valeur de l adresse de lecture 3 2 Exemple d application Affichage des coordonn es sur le port s rie Ce code lit les diff rentes valeurs de la latitude et longitude directement dans les registres du module GPS puis crit les coordonn es format es sur le port s rie La fonction GetSingle sert retourner l octet contenu l adresse Address include lt Wire h gt define GPM 0x68 byte Address byte Data void setup Wire begin Serial begin 9600 get_infos void get _infos Serial print Latitude _ Address 14 Data GetSingle Serial print Data DEC Address 32 Data GetSingle Serial println Data BYTE 14 Pr sentation des shields Arduino 15 3 3 Probl mes rencontr s Comme le shield Wi Fi le shield GPS n cessite des soudures pour tre connect la carte Arduino FIGURE 5 R sultat de la soudure du shield GPS Lorsque le module est d plac sur une grande distance en tant teint son temps de synchronis
29. rme Android pour tester les projets 6 2 Gestion d un projet Android Cr ation Dans l affichage des projets d Eclipse il faut faire clic droit gt New gt Project gt Android Project et en remplir les sp cifications En voila un exemple pour un projet HelloAndroid Project name HelloAndroid Application name Hello Android Package name com example helloandroid ou n importe quel nom tant qu il est de la forme com xxx Create Activity HelloAndroid x Min SDK Version 10 d pend de la plate forme Android install e et de celle de 1 AVD Il faut ensuite remplir ce projet de code Encore une fois voila un exemple qui affiche Hello Android l cran package com android helloandroid import android app Activity import android os Bundle import android widget TextView public class HelloAndroid extends Activity x Called when the activity is first created Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceState TextView tv new TextView this tv setText Hello Android setContentView tv Lancer l option Run sur ce code va lancer AVD l mulateur de terminal Android Attention les AVDs viennent parfois avec des programmes pr install s comme une d monstration de PAPI qui peuvent alors entrer en conflit avec les votres Il faut dans ce cas les d sinstaller Introduction 8 Connexion avec un terminal Cette
30. sont open source Le logiciel de programmation des modules officiels Arduino t cod en Java et sert d diteur de code aussi bien que de compilateur Il peut galement transf rer les mises jour du firmware et les programmes vers la carte Arduino Le langage de programmation Arduino est une variante all g e du C C notamment en raison des contraintes mat rielles gestion des entr es sorties et des biblioth ques associ es La carte Arduino peut accepter des shields qui sont des extensions mat rielles entrer dans les ports appropri s et qui permettent d tendre ses capacit s par exemple un shield Ethernet ou un shield Zigbee pour pouvoir utiliser les technologies associ es Introduction 4 Ta BND H 120 HN es TX FIGURE 1 Photo de la carte Arduino Duemilanove 4 1 Communication Les cartes Arduino Uno et Duemilanove poss dent entre autre un micro contr leur ATMega328 L environne ment d Arduino poss de un terminal simplifi permettant un dialogue via le port s rie Le dialogue permet l envoi et la r ception de donn es textuelles entre le PC et la carte Arduino C est gr ce ce port s rie que l on commu nique avec les diff rents modules disponibles GSM Xbee avec des primitives minimales Serial print Serial read 4 2 Alimentation Les cartes peuvent tre aliment es soit par USB soit par une alimentation externe Bien qu elles peuvent admettre
31. sur le port s rie D s qu un entier est lu 1 dans notre cas il allume la LED sinon il P teint int incomingByte 0 int led 8 Declare la led branchee sur la pin 8 void setup Serial begin 9600 Demarre le port serie a une vitesse de 9600 bps pinMode led OUTPUT void loop if Serial available gt 0 incomingByte Serial read if incomingByte 0 digitalWrite led LOW else if incomingByte 1 digitalWrite led HIGH I o s sas FIGURE 2 Code amp branchement du r cepteur Le module metteur crit simplement des suites de 0 et de 1 selon une fr quence choisie sur le port s rie Le shield Xbee se charge lui d envoyer l information sur les ondes 10 Pr sentation des shields Arduino 11 void setup Serial begin 9600 void loop f Serial print 1 delay 500 Serial print 0 delay 1000 FIGURE 3 Code de metteur 1 3 Probl mes rencontr s Nous avons eu beaucoup de probl mes pour r ussir envoyer du code sur la board lorsque le module Xbee tait branch En fait nous nous sommes rendus compte qu envoyer du code avec le module Xbee branch n tait pas possible car le port s rie communiquait alors avec le chipset Xbee et non avec le chipset Arduino Ainsi nous sommes oblig s chaque envoi de code de d brancher le module Xbee puis de le rebrancher une
32. sur le site officiel d Arduino pour la partie mat rielle 14 et logicielle 15 5 Environnement de d veloppement Arduino Arduino poss de sa propre interface de d veloppement que l on peut t l charger sur le site officiel 11 La d marche d installation n est bien videmment pas la m me en fonction des OS et ou versions utilis es 5 1 Linux Ubuntu Version 10 10 Ubuntu 10 10 poss de d j la suite Arduino dans ses d p ts officiels L installation se fait donc simplement sudo apt get install arduino arduino amp Version 10 04 Pour Ubuntu 10 04 il faut rajouter Arduino dans le d p t manuellement sudo add apt repository ppa arduino ubuntu team sudo apt get update sudo apt get install arduino AR A A A arduino amp Attention La version actuelle de PEDI des d p ts est la v 18 et ne supporte pas la carte UNO Il faut donc t l charger la derni re version version 22 de PEDI depuis le site officiel 12 en plus de installation du paquet et utiliser le 3n binaire de Parchive la place de celui du d p t De plus le paquet brltty semble d apr s le site officiel rentrer en conflit avec les paquets Arduino 2 Serial Peripheral Interface un bus s rie synchrone ma tre esclave full duplex de communication entre le micro contr leur et ses p riph riques 3 BRLTTY est un d mon qui fournit Linux l acc s en mode texte au terminal pour une personne
33. tion aurait tout fait t possible avec plus de temps pour le d veloppement et on aurait par exemple pu envisager de pouvoir re configurer distance le code PIN du shield GSM ou bien l adressage IP du shield Wi Fi L architecture d AWACS tant bas e sur l envoi et la r ception de messages il suffirait d enrichir le protocole d j mis en place avec de nouveaux tags pour pouvoir accepter de nouveaux modules le syst me tant chaque fois similaire r ception envoi au bon module pour traitement parsing du message pour extraire les informations Les possibilit s sont multiples mais il est noter que le mat riel employ dispose de nombreuses limitations r duisant parfois ce que l on peut en faire 7 3 Probl mes rencontr s Le d veloppement d AWACS a t ponctu de petits probl mes qui sont maintenant r gl s Ils ont tout de m me fait perdre un temps certain temps qui nous aurait permis de d velopper plus de fonctionnalit s au programme Le probl me majeur quant au d veloppement d AWACS a t le manque de mat riel correct sur lequel travailler En effet en plus des probl mes de r seaux Wi Fi mentionn s plus hauts nous n avions pas les droits n cessaires pour installer certains programmes sur nos comptes pourtant n cessaires au d veloppement Arduino et Android nous for ant compter sur des solutions non standardis es telles que nos ordinateurs personnels Il faut toutefois noter que les ad
34. ule que l on est capable de d tecter avec la carte Arduino Le code associ ne diff re que tr s peu des autres modules la seule diff rence consistant en la lecture de la valeur du flex sensor Le code ci dessous est celui de la version SMS 23 laboration du projet 24 FIGURE 12 Module du d tecteur d ouverture de porte void loop f if Serial available gt 0 f parse_receiver inchar Serial read if inchar inchar Serial read if inchar gt 3 f Si on recoit la chaine 43 exemple de commande int val analogRead flex if val gt 276 send_sms 1 276 etant la valeur mediane du flex sensor else send_sms 0 24 laboration du projet 25 7 AWACS 7 1 Pr sentation AWACS est le nom de la plate forme d administration d quipements Arduino sur tablette Android que nous avons programm Son nom signifie Android Wireless Administration and Control Service et elle permet de com muniquer avec les modules Arduino que nous avons construit tout au long de ce projet U S AIR FORCI FIGURE 13 Un AWACS est l origine un avion de guerre lectronique 16 A l origine cette plate forme avait un but exp rimental et il tait par exemple propos de pouvoir impl men ter une fonctionnalit domotique au sein du LaBRI la tablette ayant alors pour but de communiquer avec des modules Arduino pr alablement dispos s dans le b timent Par exemp
35. une alimentation externe allant de 6 20V l alimentation recommand e et optimale doit tre comprise entre 7 et 12V 4 3 M moire Le chipset ATmega328 poss de 32 KB donc 0 5 KB pour le bootloader de m moire pour le code compil et embarqu 2 KB de SDRAM et 1 KB de m moire EEPROM 4 4 Entr es Sorties Chacun des 14 pins num riques peut tre utilis comme une entr e ou une sortie l aide des fonctions pinMode digitalWrite et digitalRead 1 Electrically erasable programmable read only memory Un type de m moire morte Introduction 5 Certains pins ont des fonctions sp ciales Port s rie 0 RX et 1 TX Utilis s pour recevoir RX et transmettre TX des donn es directement travers le port s rie Interrupteurs externes 2 et 3 Ces pins peuvent tre configur s pour d clencher une interruption sur une faible valeur un front montant descendant ou un changement de valeur Les pins 3 5 6 9 10 et 11 fournissent une sortie 8 bit Les pins 10 SS 11 MOST 12 MISO 13 SCK supportent une communication SPI Les cartes ont 6 entr es analogiques marqu es A0 A5 Chacune d elle fournit 10 bits de r solution i e 1024 valeurs diff rentes Par d faut leur champs de mesure va de OV 5V valeurs modifiables Elles poss dent aussi un bouton Reset utilis pour r initialiser le chipset et red marrer le programme embarqu Toute la documentation est disponible

Download Pdf Manuals

image

Related Search

Related Contents

ニュアンスS DR RF  Samsung Celular Ch@t 357 Duos manual do usuário  Samsung 320TSN Наръчник за потребителя  MODÈLES FBK5110Z ET FBK5111Z MODELOS    Atlantic Element  Bordeaux - Brico ok  日放技からのお知らせ (厚労省医薬食品局安全  progetto per l`attivazione del sistema per la raccolta differenziata  Moffett Reach Mast: M50-M80  

Copyright © All rights reserved.
Failed to retrieve file