Polytech - Electronique et Technologies Numériques - TP2 Développement d'applications sur Linux embarqué



Documents pareils
TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

Télécom Nancy Année

TP 1 : 1 Calculs en binaire, octal et hexadécimal

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Systèmes embarqués D.Rossier

Protocoles DHCP et DNS

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Résolution des problèmes de connexion XDMCP aux hôtes UNIX et Linux

l'ordinateur les bases

TeamViewer 9 Manuel Wake-on-LAN

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

Formation à l'utilisation de PEGASE : Plate-forme Experte Générique pour Applications Sans-fil Embarquées

ETI/Domo. Français. ETI-Domo Config FR


Installation d'un serveur DHCP sous Windows 2000 Serveur

Guide d'utilisation du Serveur USB

Assistance à distance sous Windows

Compte-rendu de projet de Système de gestion de base de données

DOCUMENTATION VISUALISATION UNIT

WGW PBX. Guide de démarrage rapide

Date : NOM Prénom : TP n /5 DISTANT : CONCEPTS ET DIFFÉRENCES

Cours Langage C/C++ Programmation modulaire

Catalogue & Programme des formations 2015

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

But de cette présentation

Éléments d'architecture des ordinateurs

Raja Bases de données distribuées A Lire - Tutoriel

Gestion des utilisateurs : Active Directory

Caméra IP motorisée de surveillance jour et nuit

ultisites S.A. module «services»

TP Réseau 1A DHCP Réseau routé simple

Le GéoPortail du Jura Présentation des fonctionnalités de la version mobile

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82

>> Lisez-moi d abord... Connecter le ZyXEL Prestige 642R/R-I

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Installation 1K-Serveur

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations

Brique BDL Gestion de Projet Logiciel

2) Téléchargement de l'application pour contrôler vos caméras :

Extrait des Exploitations Pédagogiques

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

A B C D. Wireless Mobile Utility (ios) Manuel d utilisation D600, D7100, D D3200, COOLPIX A Nikon 1 : V2, J3, S

Outil de gestion et de suivi des projets

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

1. Comment accéder à mon panneau de configuration VPS?

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Manuel d'installation de GESLAB Client Lourd

NovoSIP manuel de mise en service

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Configurez votre Neufbox Evolution

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

Introduction au protocole FTP. Guy Labasse

Network Camera. Camera. Network. Guide d installation v1.1. Installation Guide v R1.1. Anglais. Français. Espagnol. Allemand R1.

PocketNet SNMP/Modbus

Installation et utilisation

MANUEL PROGRAMME DE GESTION DU CPL WI-FI

Retrospect 7.7 Addendum au Guide d'utilisation

La haute disponibilité de la CHAINE DE

Projet : PcAnywhere et Le contrôle à distance.

Présentation du modèle OSI(Open Systems Interconnection)

Séquence de découverte de SparkAngels Logiciel d entraide numérique

Une liste des distributeurs Paxton se trouve sur le site Internet -

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Présentation du logiciel Cobian Backup

Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows

Installation et prise en main

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

NetSupport Notify (v2.01) Guide de démarrage. Tous droits réservés NetSupport Ltd

Objet : Guide d'installation et de maintenance pour "My IC Phone 8082" connecté à un OmniPCX Office R810

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Digta W/LAN-Adapter. Mode d emploi. L'adaptateur Digta W/LAN. Contenu

GUIDE de prise en main. let s play

Simple Database Monitoring - SDBM Guide de l'usager

TAGREROUT Seyf Allah TMRIM

Notice CUBE TALK 9x U65GT

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

Micro-ordinateurs, informations, idées, trucs et astuces. Utiliser une caméra IP Trendnet IP-TV110. Auteur : François CHAUSSON

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

Configuration réseau Basique

Un peu de vocabulaire

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

Armelin ASIMANE. Services RDS. de Windows Server 2012 R2. Remote Desktop Services : Installation et administration

italc supervision de salle

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

Transcription:

Polytech - Electronique et Technologies Numériques - TP2 Développement d'applications sur Linux embarqué William MARTIN. Vincent LE CAM. Septembre 2012 Contact: www.ifsttar.fr william.martin@power-lan.com vincent.le-cam@ifsttar.fr i

1 1 Introduction - Objectif général du TP 1 Introduction - Ob jectif général du TP Le but de ce TP est d'exploiter un des plus importants avantage qu'o re Linux : la réutilisation. Il n'est pas indispensable de réinventer la roue à chaque développement d'applications. Pour ce faire, PEGASE intègre une librairie partagée qui permet de piloter la plupart des ports d'entrées / sorties, le Wi, le GPS... Il su ra d'instancier les classes fournies par cette librairie pour ensuite se concentrer sur le développement de l'application. Vue d'ensemble de l'application visée : A partir des boutons poussoirs de la carte lle de PEGASE, l'utilisateur pourra lancer ou d'arrêter des fonctionnalités s'exécutant sur PEGASE. Ces fonctionnalités sont les suivantes: 1. Activation/Désactiviation du module WiFi 2. Activation/Désactivation du module GPS 3. Activation/Désactivation de l'a chage sur la sortie standard des données d'une trame GPS 4. Envoi paramétrique de données GPS en TCP/IP Ressources matérielles pour le TP: 1. la carte PEGASE 2. sa carte lle de debug 3. le répéteur GPS pour recevoir le signal GPS dans la salle de TP Figure 1 Photo de la carte mère de PEGASE Figure 2 Photo de la carte lle de debug de PEGASE

2 Mise en place de l'architecture cible du TP 2 Ressources documentaires pour le TP: 1. Guide de mise en oeuvre de PEGASE Version 1-E 2. l'internet 2 Mise en place de l'architecture cible du TP Routeur WiFi + Serveur DHCP Internet WiFi Ethernet Ethernet Antenne GPS UART0 PEGASE + Carte Fille de debug Figure 3 Architecture des diérentes entités du TP2 Sur le PC, lancer un minicom sur PEGASE pour vérier son @IP et son @MAC : # ifconfig Important : Vériez que l'adresse IP de PEGASE est bien celle attribuée par le serveur DHCP lors du TP précédent: sur le PC, lancer une session telnet sur votre carte PEGASE pour s'assurer que la chaine de communication IP WiFi/Routeur est correcte : # telnet 192.168.X.Y

3 Application1 : Gérer les boutons poussoirs et les leds (40mn) 3 3 Application1 : Gérer les boutons poussoirs et les leds (40mn) 3.1 Cahier des charges de l'application1 Pour commencer, nous vous proposons de développer une applications dont la mission consiste à recopier en permanence l'état des boutons poussoirs sur les leds. Autrement dit : tout appui sur un bouton poussoir allumera une led spécique et son relachement l'éteindra selon le simple chronogramme suivant : Bouton poussoir Led appuyé relaché ON OFF Figure 4 Chronogramme de l'application1 temps L'aection des leds aux boutons poussoirs sera -arbitrairement- la suivante : Led2 = bouton poussoir S1 Led4 = bouton poussoir S2 Led6 = bouton poussoir S3 Pour réaliser la lecture (permanente) de l'état d'un portag (ici d'un bouton poussoir), plusieurs solutions techniques sont possibles. Pour cette première application, nous utiliserons une solution de type polling c'est à dire lecture permanente de l'état des ports ags. A l'aide du schéma de la carte lle de debug (P60 du Guide de Mise en Oeuvre V1.F) retrouvez l'aectation des ports ags pf6, pf7, pf14 au boutons poussoirs S1, S2 et S3. 3.2 Codage de l'application1 Pour concevoir l'application1, vous utiliserez la classe CPortFlag issue de la librairie PEGASE. Pour comprendre son utilisation, ouvrez les chiers: Example_Gpio.c situé dans le répertoire.../uclinux-dist/user/pegase-test CPortFlag.h situé dans le répertoire.../uclinux-dist/lib/pegase/include Prenez le temps de comprendre le fonctionnement de la classe CportFlag en commençant par lire le chier d'entête CPortFlag.h. Pour votre application, partez du chier main_appli1, que vous renommerez en main_appli1.c, et que vous compléterez en remplaçant les lignes commençant par TODO par le code manquant. Repartez du chier makele contenu dans le répertoire uclinux-dist/user/pegase-helloworld et modiez le comme indiqué dans le guide utilisateur.

4 Application2 : Gérer les boutons poussoirs et les leds (30mn) sous interruption 4 3.3 Tests de l'application1 Compilez votre programme grâce avec "make". Corrigez les éventuelles erreurs. Téléchargez votre programme sur PEGASE (soit en ligne de commande avec ftp ou via Nautilus: ftp ou ssh). Depuis le PC de développement, ouvrir une session telnet sur PEGASE et lancer votre application1: # telnet 192.168.X.Y # chmod +x MyTP2 #./MyTP2 Validez globalement le bon fonctionnement de votre application et faites valider par un encadrant. Question : quel est le taux CPU utilisé par votre application? Utilisez la commande "top". Pour réduire cette consommation excessive, il sut d'ajouter dans la boucle while du main : #while (...) # { #... # usleep(nb de micro secondes); # } Testez votre programme avec une valeur importante de temporisation pour la boucle de lecture permanente (polling): essayez avec usleep(500000); Validez avec l'encadrant votre compréhension du polling et de ses inconvénients. 4 Application2 : Gérer les boutons poussoirs et les leds (30mn) sous interruption 4.1 Cahier des charges de l'application2 Nous avons vu la gestion des boutons poussoirs et des leds avec une méthode de polling. L'exercice, ici, va consister à utiliser une méthode plus adéquate : le fonctionnement sous interruptions; autrement dit l'introduction d'un fonctionnement évènementiel du programme. Sur chaque appui bouton, la led associée devra changer d'état (toggle en anglais), comme le spécie le chronogramme suivant :

4 Application2 : Gérer les boutons poussoirs et les leds (30mn) sous interruption 5 Bouton poussoir Led appuyé relaché ON OFF Figure 5 Chronogramme de l'application2 temps L'aection des leds aux boutons poussoirs sera la même que précédemment : Led2 = bouton poussoir S1 Led4 = bouton poussoir S2 Led6 = bouton poussoir S3 Pour réaliser la détection du front montant d'un portag (ici d'un bouton poussoir), nous utiliserons les interruptions associées aux ports ags pf6, pf7 et pf14. 4.2 Codage de l'application2 Vous utiliserez la classe CPortFlag. Examinez les chiers suivants: Example_Led.c situé dans le répertoire uclinux-dist/user/pegase-test Example_Gpio.c situé dans le répertoire uclinux-dist/user/pegase-test CPortFlag.h situé dans le répertoire uclinux-dist/lib/pegase/include Pour votre application, partez du chier main_appli2, que vous renommerez en main_appli2.c, et que vous compléterez en remplaçant les lignes commençant par TODO par le code manquant. 4.3 Tests de l'application2 Compilez votre programme grâce avec "make". Corrigez les éventuelles erreurs. Téléchargez votre programme sur PEGASE. Depuis le PC de développement, ouvrir une session telnet sur PEGASE et lancer votre application2: # telnet 192.168.X.Y # chmod +x MyTP2 #./MyTP2 Validez globalement le bon fonctionnement de votre application; faites valider par un encadrant. Question : Quelle valeur a-t-il fallu mettre pour le paramètre "int trigger" lors de l'instanciation CPortFlag_It_New? Expliquer pourquoi à l'aide du Guide de mise en oeuvre de PEGASE.

5 Application3 : Sélection de fonction (1h30) 6 Question : Soit ietatled2 une variable en RAM image de l'état de la led2. Pour garder à jour cette variable et être sûr de sa valeur, l'idéal serait de bénécier d'une méthode CLed_ReadState. Mais elle n'existe pas à ce jour. Comment faire? Avec l'encadrant: point collectif sur le fonctionnement sous interruption (i.e. Callback). Point sur la généralisation de ce principe dans toute la librairie PEGASE. 5 Application3 : Sélection de fonction (1h30) 5.1 Cahier des charges de l'application3 Pour la suite du TP, nous vous proposons grâce au travail réalisé sur l'application2, d'utiliser les boutons poussoirs et les leds comme une IHM permettant de valider des fonctionnalités de la carte PEGASE. Les 2 leds -Led2 et Led4- serviront à sélectionner les diérentes fonctionnalités, et le bouton poussoir S3 sera le bouton de validation de la sélection {Led2,Led4}. Il y a donc 2 2 = 4 fonctionnalités diérentes possibles. L'état des Led2 et Led4 basculera, respectivement, sur l'appui bouton S1 et S2 - comme ce qui a été fait pour l'application2. Le comportement de "validation" sur le bouton poussoir S3 se voudra le plus similaire à un clic ou un double-clic souris et est spécié comme suit : 1 double-clic sur BPS3: pour activer la fonctionnalité 1 simple clic sur BPS3: pour désactiver la fonctionnalité. Le chronogramme correspondant à ce mécanisme est le suivant : t<t1clic t = T1clic Bouton poussoir S3 appuyé relaché Fonctionnalité Activée (ON) Désactivée (OFF) temps Figure 6 Chronogramme de l'application sur bouton S3 La fonctionnalité est activée sur un doucle clic : c'est à dire 2 clics espacés temporellement de moins de T1clic secondes La fonctionnalité est désactivée sur un clic simple : c'est à dire un clic suivi d'une absence de deuxième clic durant au moins T1clic secondes.

5 Application3 : Sélection de fonction (1h30) 7 Pour cette application le lancement de l'une des 4 fonctionnalités se limitera à l'af- chage du nom de la fonctionnalité sélectionnée. Ex: "printf fonctionnalité 1,2,3,4 dés/activée comme spécié dans le tableau ci-dessous: Fonctionnalité Led2 Led4 Double clci sur S3 Simple clic sur S3 1 0 0 Activation du module WiFi Désactivation du module WiFi 2 0 1 3 1 0 4 1 1 Activation du module GPS Activation de la visualisation des données de la trame GPGGA Envoi de l'heure GPS sur TCP Désactivation du module GPS Désactivation de la visualisation des données de la trame GPGGA Envoi des coordonnées GPS sur TCP Figure 7 Tableau de sélection des 4 fonctions 5.2 Solution: la machine à états Une "machine à états nis" est un automate constitué d'états et de transitions. L'automate passe d'état en état en fonction des transitions mises à jour par des évènements d'entrée (lecture d'entrée physique, arrivée d'un message particulier, entrée analogique en dessous d'un certain seuil...). Le passage dans un nouvel état peut s'accompagner de la mise à jour de sorties, ou de déclanchements d'actions. Voici ci-dessous, la solution de l'automate que vous devez implémenter. Vérier que l'automate correspond bien au Cahier des Charges:

5 Application3 : Sélection de fonction (1h30) 8 Init //Instancier portag m_pcportflag_pb_s1 = CPortFlag_It_New ("/dev/pf7", IRQF_TRIGGER_FALLING); m_pcportflag_pb_s2 = CPortFlag_It_New ("/dev/pf6", IRQF_TRIGGER_FALLING); m_pcportflag_pb_s3 = CPortFlag_It_New ("/dev/pf14", IRQF_TRIGGER_FALLING); //Instancier CTimer m_ptimer = CTimer_New(4); Instanciations ok //Init variables RAM ifonctionnlite = 0; //Init machine à états ETAT = RUN //Initialisation des leds à OFF CLed_init(); CLed_brightness (2,LED_OFF); CLed_brightness (4,LED_OFF); CLed_brightness (6,LED_OFF); //Conguration Timer int period = 100000000; m_ptimer->congurer (m_ptimer, CTIMER_CONFIG_PERIOD, period, TimerInterrupt, m_ptimer); Run A ETAT >= RUN //Màj ifonctionnalité ifonctionnlite = ietatled4 + 2*iEtatLed2; //Lancement Timer bloquant usleep(1000) A Wait FMS3 //màj Automate ETAT = WaitFMS3 Waitl T1clic TO Front Montant S3 //màj Automate ETAT = WaitT1clicTO //Lancement Timer m_ptimer->start(m_ptimer) TimeOut T1clic //appui simple détecté m_ptimer->stop(m_ptimer); Front Montant S3 //appui double détecté m_ptimer->stop(m_ptimer); 1 WiFi ON) ifonctionnalité =? 2 GPS ON) 3 Display GPS) 4 SendGPSHour on TCP) 1 WiFi OFF) ifonctionnalité =? 2 GPS OFF) 3 Don't Display GPS) 4 SendGPSCoordinates on TCP)

5 Application3 : Sélection de fonction (1h30) 9 5.3 Codage de l'application3 Vous utiliserez la classe CTimer pour créer le timer qui permet de gérer le double clic sur S3. Ouvrez les chiers : Example_Timer_Period.c situé dans le répertoire uclinux-dist/user/pegase-test CTimer.h situé dans le répertoire uclinux-dist/lib/pegase/include Pour votre application, partez du chier main_appli3, que vous renommerez en main_appli3.c, et que vous compléterez (TODO). 5.4 Test Compilez votre programme. Corrigez les éventuelles erreurs. Téléchargez votre programme sur PEGASE. Lancer ensuite votre application sur la cible PEGASE en ouvrant, depuis le PC, une session telnet: # telnet 192.168.X.Y # chmod +x MyTP2 #./MyTP2 Valider le fonctionnement, faites valider avec un encadrant : simple/double clic le respect de la tempo T1clic: timeout les 8 printf associés aux quatre fonctionnalités possibles la boucle principale qui ne fait que sleep(1)

6 Application4 : Ecriture des fonctionnalités (1h) 10 6 Application4 : Ecriture des fonctionnalités (1h) Nous vous proposons à présent d'écrire les 4 fonctionnalités en lieu et place des simples "printf" de l'application précédente: 1. Activation/Désactiviation du module WiFi 2. Activation/Désactivation du module GPS 3. Activation/Désactivation de la visualisation des données de la trame GPGGA 4. Envoi paramétrique de données GPS en TCP IP 6.1 Machine à états La machine à états est la même que celle de l'application précédente. L'intérêt, ici, est de découvrir la possibilité de lancement, depuis un chier C, des commandes par des appels systèmes: # system("cat /version"); # "hello world\n"); # system("ps"); 6.2 Codage de l'application4 Vous aurez besoin d'utiliser les classes suivantes à votre projet pour cette partie : CGPS CClientTcpIP Pour votre application4, repartez de votre chier main_appli3.c. Faites valider vos développements au fur et à mesure du développement de chaque fonction ci-dessous: 6.2.1 Activation/Désactiviation du WiFi Dans l'implémentation de cette fonction, faites un appel système au chier script "wi_down.sh" pour la désactivation du module WiFi et prévoyez un appel système au chier script "wi_up.sh" pour l'activation du module WiFi. Cf 5.8 "Le module WiFi" du Guide Utilisateur de PEGASE. 6.2.2 Activation/Désactivation du module GPS Instancier la classe CGPS : CGPS_New(). Lors de l'activation ou de de la désactivation du module GPS appeler la méthode "SetVeille" sur cet objet CGPS en passant le paramètre "1" pour l'éteindre et "0" pour l'allumer. Pour vous aider, consulter les chiers: Example_Gps.c situé dans le répertoire uclinux-dist/user/pegase-test CGPS.h situé dans le répertoire uclinux-dist/lib/pegase/include

6 Application4 : Ecriture des fonctionnalités (1h) 11 6.2.3 Activation/Désactivation de la visualisation des données de la trame GPGGA Pour cette fonction, vous utiliserez la méthode SetGGACallback de la classe CGPS. Cette méthode d'associer une callback sur réception de la trame GGA. Regardez et inspirez vous des chiers : CGPS.h situé dans le répertoire uclinux-dist/lib/pegase/include CGPS.c situé dans le répertoire uclinux-dist/lib/pegase/src. Notamment de la fonction "gps_print_gpgga". 6.2.4 Envoi paramétrique de données GPS en TcpIP Tout d'abord votre programme doit instancier le client TcpIP : CClientTcpIP_New(). Ensuite l'ouverture du port se fera sur appel de la fonctionnalité n o 4 avec la méthode Connect : m_pclienttcpip->connect(m_pclienttcpip,ip_serveur,port_serveur). Avec IP_SERVEUR = l'adresse IP de votre machine et PORT_SERVEUR le port d'écoute compris entre 1024 et 65535. Rappel :le comportement sera le suivant : Lors d'un double clic sur S3, envoyer avec la méthode Send() de CClientTcpIP une chaine de caractère dans laquelle vous inscrivez l'heure, minute,seconde fournie par l'objet CGPS Lors d'un simple clic sur S3, envoyer avec la méthode Send() de CClientTcpIP une chaine de caractère dans laquelle vous inscrivez les coordonnées GPS (latitude, longitude, altitude) fournie par l'objet CGPS 6.3 Test Compilez votre programme. Corrigez les éventuelles erreurs. Téléchargez votre programme sur PEGASE. Lancer ensuite votre application sur la cible PEGASE en ouvrant, depuis le PC, une session minicom. 6.4 Plan de test Les tests proposés ici doivent être passés séquentiellement. CAS NOMINAL Test1: bouton poussoir Appuyer les boutons poussoirs S1,S2 Vérier le bon fonctionnement des leds Led2,Led4. Test2:Réveil du module GPS Réveiller le module GPS : (Led2,Led4)=(0,1) + double clic Vérier le bon démarrage du Copernicus (GPS) : la consommation électrique de PEGASE augmente.

6 Application4 : Ecriture des fonctionnalités (1h) 12 Test3: visualisation des données de la trame GPGGA Activer la visualisation des données GGA : (Led2,Led4)=(1,0) + double clic Vérier que la trame GGA arrive bien toutes les secondes sous minicom. Test4: Lecture de l'heure en TCP Sur le PC de développement, lancez un serveur TCP sur le port PORT_SERVEUR à l'aide de Netwox : # PC_dev>netwox 89 --src-port PORT_SERVEUR Demander l'heure à la carte PEGASE : (Led2,Led4)=(1,1) + double clic Vérier que l'heure UTC (heures,minutes, secondes) arrive bien sur le serveur TCP du PC de développement. Test5: Lecture de la position géographique en TCP Le serveur TCP est toujours ouvert sur le PC de développement. Demander les coordonnées géographique à PEGASE : (Led2,Led4)=(1,1) + simple clic Vérier que les coordonnées (Longitude, Latitude, Altitude) arrivent bien sur le serveur TCP du PC de développement. CAS DEGRADE. A cette étape, PEGASE doit envoyer périodiquement sur minicom la trame GGA, et sur demande l'heure et les coordonnées GPS en TCP. Test6: Emission TCP sans WiFi Désactiver le Wi : (Led2,Led4)=(0,0) + simple clic Vérier que la trame GGA arrive toujours bien sous minicom. Demander l'heure à la carte PEGASE : (Led2,Led4)=(1,1) + double clic Vérier que le serveur TCP ne recoit rien : plus de WiFi sur PEGASE = Communication TCP interrompue. Test7: Visualisation des données GGA sans que le module GPS soit réveillé Relancer le programme et eectuer les tests Test2 et Test3 Endormez le module GPS : (Led2,Led4)=(0,1) + simple clic Vérier que la trame GGA n'arrive plus sous minicom. Test8: Demande de l'heure GPS alors que le module GPS est endormi Relancer le programme. Demander l'heure à la carte PEGASE : (Led2,Led4)=(1,1) + double clic Que se passe-t-il? Fin du TP2.