Présentiel du 9/02/2012

42
Présentiel du 9/02/2012 Présentiel du 9/02/2012 Informatique et Sciences Informatique et Sciences du Numérique du Numérique Niveau II Journée 1 Niveau II Journée 1

description

Présentiel du 9/02/2012. Informatique et Sciences du Numérique Niveau II Journée 1. Sommaire. Présentation du contenu des 2 journées du secondaire Objectif de la première journée Objectif de la deuxième journée Présentation du projet Introduction Fonctionnement du système - PowerPoint PPT Presentation

Transcript of Présentiel du 9/02/2012

Page 1: Présentiel du 9/02/2012

Présentiel du 9/02/2012Présentiel du 9/02/2012

Informatique et Sciences du Informatique et Sciences du Numérique Numérique

Niveau II Journée 1Niveau II Journée 1

Page 2: Présentiel du 9/02/2012

SommaireSommaire Présentation du contenu des 2 Présentation du contenu des 2

journées du secondaire journées du secondaire Objectif de la première journéeObjectif de la première journée Objectif de la deuxième journéeObjectif de la deuxième journée

Présentation du projetPrésentation du projet IntroductionIntroduction Fonctionnement du systèmeFonctionnement du système Expression du besoin Expression du besoin

ConclusionConclusion

Page 3: Présentiel du 9/02/2012

Objectifs du présentiel niveau 2Objectifs du présentiel niveau 2

• Mise en œuvre d’une liaison série• Coder des applications de communication série

en langage C.• Réalisation de décodages de trame NMEA183.

Première journée

• mettre en œuvre un environnement de programmation en langage HTML/PHP

• Créer des pages WEB Dynamiques.• Créer des requêtes SQL • Travaux de manipulation d’une base de donnèe.

Deuxième journée

Ces deux journées sont construites autour de projets industriels

Page 4: Présentiel du 9/02/2012

ISN et la pédagogie par le projetISN et la pédagogie par le projet

•la gestion technique de bâtiments:-ÉCONOMIE DE CHAUFFAGE ,ACCÉS SECURISÉ

•la météorologie-STATION MÉTÉO COMMUNICANTE

etc….

La pédagogie par le projet est intéressante, à condition que le cadre des projets soit fixé.

Exemples de projets

-AIDE À L’ANALYSE DU SYNDROME CARPIEN;

-MAINTIEN DES PERSONNES AGEES À DOMICILE;-CARDIO-TRAINING;

-RECHERCHE DU CENTRE DE GRAVITÉ D’UN CAVALIER;•les transports:

la santé, le sport :

-SYSTEME D’INFORMATION SUR LE TRAFIC ROUTIER;-NAVIGATION ASSISTÉE PAR ORDINATEUR;

Station Météo

Réseau Ethernet

Poste Distant

Internet

Station météo CommunicanteStation météo Communicante

Centrale de navigation

NMEA 183

PC Navigation

RS 232

GPS

Speedo.

NAO

Page 5: Présentiel du 9/02/2012

Acquisition Traitement Commande

Conversion A/N

Liaison Série

….

Calcul

Décodage de trame

….

Affichage

Commande moteur

….

Page 6: Présentiel du 9/02/2012

Navigation Assistée par Ordinateur

Page 7: Présentiel du 9/02/2012

IntroductionIntroduction

De nombreux navigateurs (professionnels De nombreux navigateurs (professionnels de la mer, de la course au large ou de la mer, de la course au large ou plaisanciers), utilisent des systèmes de plaisanciers), utilisent des systèmes de navigations comportant différents navigations comportant différents appareils électroniques et informatiques, appareils électroniques et informatiques, pour les aider à la navigation. pour les aider à la navigation. 

Le cadre du projet se situe autour d’un Le cadre du projet se situe autour d’un système de navigation assisté par système de navigation assisté par ordinateur, et de ses extensions possibles.ordinateur, et de ses extensions possibles.

Page 8: Présentiel du 9/02/2012

Liaisons Séries

Ordinateur de Bord

Compas

Girouette anémomètre.

Architecture matérielle

Page 9: Présentiel du 9/02/2012

Objectifs

Gérer la navigation d’un bateau

en indiquant sa position courante, dans une fenêtre mais aussi en positionnant un bateau en coordonnées, en fonction d’informations provenant du GPS ( norme NMEA183)

Gérer la navigation d’un bateau

en indiquant sa position courante, dans une fenêtre mais aussi en positionnant un bateau en coordonnées, en fonction d’informations provenant du GPS ( norme NMEA183)

Page 10: Présentiel du 9/02/2012

en visualisant différents paramètres de navigation ( t°C eau , vitesse du vent, direction vent, speed, tension, courant, cap à suivre, erreur de cap etc...) sur un ordinateur de bord.

Objectifs

Page 11: Présentiel du 9/02/2012

Centrale de navigation

NMEA 183

PC Navigation

RS 232

GPS

Speedo.

Matériel de Navigation

Page 12: Présentiel du 9/02/2012

Comment peut-on transférer des informations d’une machine à une autre machine, quelque soit leur type?

Communication entre deux machinesCommunication entre deux machines hétérogèneshétérogènes

Page 13: Présentiel du 9/02/2012

La communication série

Simplex

Semi-duplex (Half Duplex)

Duplex

A B

Page 14: Présentiel du 9/02/2012

Liaison série AsynchroneETTD émet

ETTD récept.

DATA

Dans ce cadre de dialogue, il faut définir et configurer avant toutes choses, la manière de communiquer entre les deux machines:

9600 bits/s-Vitesse de transmission:

-Nombre de bit par Data:

-Nombre de bit stop:

-Parité:

8bits

1bit

No parity

9600 bits/S

8bits data

1bit No parity

9600 bits/S

8bits data

1bit No parity

Page 15: Présentiel du 9/02/2012

Transmission asynchrone Il faut avertir le récepteur du début de la transmission, et de la fin de transmission.

On transmet les bits de data les uns après les autres, Lsb first, suivant la vitesse de transmission fixée.

0 1 1 0 0 0 1 0

Data transmise: 01000110 0x46 ‘ F ’

DATA

Page 16: Présentiel du 9/02/2012

Et si l’on utilise le bit de ParitéUne des caractéristiques de base parle d’un bit de parité.

Ce bit de parité est positionné par l’émetteur, et vérifié par le récepteur.

Il peut être pair, impair, ou non existant.

Comment est-il positionné?

pour une parité paire, on fixe le bit à ‘1’ ou ‘0’ suivant:

Le nombre de bit à ‘1’ de la data+bit de parité doit être paire

Page 17: Présentiel du 9/02/2012

Et du point de vue matériel?

Notion ETTD et ETCD  Un ETTD (Equipement Terminal de Transmission de Données / DTE) peut

être un ordinateur ou un terminal.

Un ETCD (Equipement de Terminaison de Circuit de Données /DCE) sera un MODEM, une imprimante.

ETCD(DCE)

ETTD(DTE)

Interface Série

ETCD(DCE)

ETTD(DTE)

Interface Série

ligne de transmission 

ligne RS232 

Page 18: Présentiel du 9/02/2012

RS232

T(ms)

T(ms)

Txd

Tx RS232

Page 19: Présentiel du 9/02/2012
Page 20: Présentiel du 9/02/2012

Aspect mécanique

Connecteur type D à 25 points (DB25 / SubD25) ou à 9 points (DB9). Mâle sur l'ETTD (terminal). Femelle sur l'ETCD (MODEM).Câble de longueur maxi conseillée 25m (liée à la capacité d'une ligne).

Page 21: Présentiel du 9/02/2012

Liaison complète entre un ETTD (ordinateur) et un ETCD (MODEM)

ETCD

TxDRxDRTSCTSDSRDTRRIDCDGND

ETTD

TxDRxDRTSCTSDSRDTR

RIDCDGND

Ordinateur

MODEM

(TxD) 2 2

(RxD) 3 3

(RTS) 4 4

(CTS)5 5

(DSR) 6 6

(DTR) 20 20

(RI) 22 22

(DCD) 8 8

(GND) 7 7

Page 22: Présentiel du 9/02/2012

Utilisation DETOURNEE du standard RS232D

ETTDTxDRxD GND

ETTDTxDRxD

 GND

Liaison minimale duplex entre 2 ETTDOn croise simplement les lignes RxD et TxD

Ordinateur Ordinateur

(TxD) 2 3 (RxD)

(RxD) 3 2 (TxD)

(GND) 7 7

Page 23: Présentiel du 9/02/2012

Utilisation DETOURNEE du standard RS232D

ETTDTxDRxDRTSCTS

GND

ETTDTxDRxDRTSCTS

GND

Ordinateur Ordinateur

(TxD) 2 3 (RxD)

(RxD) 3 2 (TxD)

(RTS) 4 5 (CTS)

(CTS) 5 4 (RTS)

(GND) 7 7

Liaison duplex entre 2 ETTD (ordinateurs) avec contrôle de flux matérielC’est les lignes RTS et CTS qui sont utilisées comme lignes de contrôle de flux.

Page 24: Présentiel du 9/02/2012

Câble entre deux ordinateurs

Page 25: Présentiel du 9/02/2012

Câble entre deux équipements

Entre deux ETTD Entre ETTD et ETCD

Page 26: Présentiel du 9/02/2012

Et quand on ne dispose pas d’une liaison série RS 232 sur

sa machine

En connectant ce genre de module Rs232/USB à votre machineUne COM série sera installée avec son propre numéro.

Page 27: Présentiel du 9/02/2012

Mais revenons à notre problème

Ordinateur de bordGPS

Page 28: Présentiel du 9/02/2012

Les trames NMEA183 Les trames NMEA183

$GPGGA,104522,4952.47,N,00217.90,E,1,05,4.0,00058,M,00047,M,,*79

$IIVHW,,,,,4.1,N,,*2c $GPGLL,4952.474,N,00217.902,E,104522,A*28 $IIMTW,20,C*0f $IIVHW,,,,,1.7,N,,*2f $IIMTW,20,C*0f $GPGGA,104523,4952.47,N,00217.90,E,1,05,4.0,00058,M,0

0047,M,,*78 $GPGLL,4952.474,N,00217.902,E,104523,A*29 $IIVHW,,,,,

Les trames arrivent par paquets toutes les secondes environ.

Page 29: Présentiel du 9/02/2012

Vérification que le matériel Vérification que le matériel fonctionne fonctionne

Page 30: Présentiel du 9/02/2012

Utilisation d’un logiciel de type hyperterminal

Page 31: Présentiel du 9/02/2012

Maintenant nous pouvons passez à la phase TP

Page 32: Présentiel du 9/02/2012

Travaux PratiquesTravaux Pratiques

• ObjectifsObjectifs

• mettre en œuvre un environnement de mettre en œuvre un environnement de programmation en langage Cprogrammation en langage C

• Coder des algorithmes simples en langage C.Coder des algorithmes simples en langage C.

• Mise en oeuvre d’une liaison série.Mise en oeuvre d’une liaison série.

• Décoder les informations reçues.Décoder les informations reçues.

Page 33: Présentiel du 9/02/2012
Page 34: Présentiel du 9/02/2012
Page 35: Présentiel du 9/02/2012
Page 36: Présentiel du 9/02/2012

Exercices pour la journée J1 – Niveau 2Exercices pour la journée J1 – Niveau 2 Partie 1 : Recevoir – Traiter - Décoder  Exercice 1 :

Vérifier le bonne réception d’informations provenant de le liaison RS232 sur votre Pc.

Exercice 2 : Ecrire un programme permettant de configurer de la Com série, en respectant le protocole NMEA183 (utilisation de la structure DCB).

Page 37: Présentiel du 9/02/2012
Page 38: Présentiel du 9/02/2012

Exercice 3 : Ecrire un programme permettant de recevoir une chaîne de caractères sur cette liaison série, et de l’afficher dans la fenêtre console.

Exercice 4 : La chaîne de caractères étant enregistrée

dans un tableau, écrire le programme permettant de retrouver l’indice du caractère ‘$’ dans ce tableau.

Rem: sans liaison série, utiliser le contenu des fichiers.txt fournis, et placer leur contenu directement dans le tableau

Page 39: Présentiel du 9/02/2012

Exercice 5 : Modifier votre programme, en créant

une fonction prototypée de la manière suivante: int indexOf(char c,int offset, char* str);Paramètre d'entrée:c : caractère à chercheroffset : position de départ de la recherchestr : chaîne dans laquelle se fait la recherche.Paramètre de sortie: position du caractère recherche, -1 si le caractère est

introuvable.

Page 40: Présentiel du 9/02/2012

Partie 2 : Manipulation des tableaux

Exercice 6 : En utilisant la fonction écrite précédemment, écrire un programme permettant de trouver la position du caractère ‘$’ et du caractère ‘\n’, présent dans un tableau contenant des trames NMEA.

Exercice 7 :Ecrire un programme permettant de copier dans un nouveau tableau la partie du tableau comprise entre ‘$’ et ‘\n’.

Page 41: Présentiel du 9/02/2012

  Exercice 8 : Modifier votre programme, en créant une fonction

prototypée de la manière suivante:

char* subString(int index1, int index2, char* str)

Paramètre d'entrée :index1 : position de départ de la découpeindex2 : position de fin de la découpestr : chaîne à découper

Paramètre de sortie :nouvelle chaîne découpe

Page 42: Présentiel du 9/02/2012

Exercice 9Utiliser les fonctions que vous avez créées, pour décoder la longitude et la latitude, à partir des trames NMEA reçues par la liaison série.

Exercice 10: Ecrire un programme permettant d’envoyer une chaîne de caractère dans une liaison série, paramétrée au protocole NMEA183.