Communication série, 2011/2012, TD2 : Différence entre versions
(→Evaluation informatique et électronique) |
|||
(44 révisions intermédiaires par 6 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | == Evaluation informatique et électronique == | ||
+ | |||
+ | === Gestion de projet / rédaction Wiki === | ||
+ | |||
+ | * Informatique : Rédaction correcte. Description des programmes plutôt détaillés. Peu d'effort de formatage ou d'illustration, une vidéo cependant (moyenne). Note 75%. | ||
+ | * Electronique : Le wiki est trop lapidaire sans explications détaillées. La partie réception n'est pas abordée sous l'aspect fonctionnel. Note 50%. | ||
+ | Note 62.50% | ||
+ | |||
+ | === Test fonctionnels === | ||
+ | |||
+ | ** Sous-système. Note 75% | ||
+ | ** Sous-système informatique : Pas d'interconnexion entre FoxBoard et NanoBoard. Interface informatique fonctionnelle entre deux FoxBoard. Note 100%. | ||
+ | ** Sous-système électronique : L'émission a fonctionné, rien sur la réception. Note 50%. | ||
+ | |||
+ | === Qualité de la réalisation === | ||
+ | |||
+ | * Informatique. Note 75%. | ||
+ | ** procédure de test : Pas de <tt>Readme</tt> sur la FoxBoard. Test avec les deux FoxBoard OK. Note 80%. | ||
+ | ** pages HTML et Javascript : Page correcte, script JS correct mais sans apport particulier. Note 66%. | ||
+ | ** scripts PHP ou programmes C : Idem. Note 66%. | ||
+ | ** installation sur FoxBoard : Pas de lancement automatique du démon série. Installation de 2 FoxBoard. Note 100%. | ||
+ | * Electronique. Note 42.5%. | ||
+ | ** qualité de la réalisation : La réalisation de la partie émission est très similaire aux groupes précédents;, il aurait fallu gérer l’entrée de chargement du registre à décalage (entrée « load ») pour éviter de recharger celui-ci avant que la donnée soit totalement émise vers le port série. Pas ou alors très peu de réflexion sur la partie réception (manque d'implication). Très peu de sollicitations. Note 45%. | ||
+ | ** tests autonomes : Partie émission qui fonctionne peu ou prou. Rien sur la réception. Les tests conseillés n'ont pas été réalisés ou trop tardivement. Note 40%. | ||
+ | |||
+ | === Bilan === | ||
+ | |||
+ | Note finale : 65% => 13/20 | ||
+ | |||
== '''Rapport de Projet''' == | == '''Rapport de Projet''' == | ||
'''Objectifs:''' | '''Objectifs:''' | ||
− | Dans ce projet de système communicant nous | + | Dans ce projet de système communicant nous intéressons à la communication à travers une liaison série à travers deux parties : |
La partie informatique pour le développement des interfaces permettant la communication entre deux foxboard en liaison série dans les deux sens | La partie informatique pour le développement des interfaces permettant la communication entre deux foxboard en liaison série dans les deux sens | ||
La partie électronique permettant la conception de circuit de la gestion de liaison série sur la carte FGPA de la NanoBoard. | La partie électronique permettant la conception de circuit de la gestion de liaison série sur la carte FGPA de la NanoBoard. | ||
Ligne 9 : | Ligne 38 : | ||
---- | ---- | ||
− | '''Partie Informatique :''' | + | '''Partie Informatique :''' Foxboard 7 et 9 |
'''>>>1ère séance : 25/05/2012''' | '''>>>1ère séance : 25/05/2012''' | ||
Le but de la première séance est de réfléchir sur la solution à proposer pour permettre la communication via une liaison série en émission et en réception. | Le but de la première séance est de réfléchir sur la solution à proposer pour permettre la communication via une liaison série en émission et en réception. | ||
− | Pour mener à bien ce projet nous avons | + | |
+ | Pour mener à bien ce projet nous avons décidé d'établir une architecture de la solution web à proposer avec utilisation des langages html, java script , php ainsi que le démon de gestion de la liaison série écrit en langage C. | ||
Durant cette première séance nous allons commencer à concevoir notre page principale en HTML avec l'intégration de Java script. | Durant cette première séance nous allons commencer à concevoir notre page principale en HTML avec l'intégration de Java script. | ||
Création d'interface d’envoi et de réception : | Création d'interface d’envoi et de réception : | ||
+ | |||
En HTML nous avons créé des champs afin de permettre à l'utilisateur d'entrer les données à envoyer et à recevoir les données dans l'autre sens : | En HTML nous avons créé des champs afin de permettre à l'utilisateur d'entrer les données à envoyer et à recevoir les données dans l'autre sens : | ||
Ligne 26 : | Ligne 57 : | ||
<INPUT type=text id="emission" > | <INPUT type=text id="emission" > | ||
</TD> | </TD> | ||
+ | |||
Bouton d'envoi permettant à l'utilisateur de maîtriser la commande d'envoi à travers l'appel à une fonction Java script envoyer() | Bouton d'envoi permettant à l'utilisateur de maîtriser la commande d'envoi à travers l'appel à une fonction Java script envoyer() | ||
Ligne 42 : | Ligne 74 : | ||
Les spécifications des fonctions: | Les spécifications des fonctions: | ||
+ | |||
+ | |||
'''Fonction envoyer()''':permet de récupérer l'id du champ envoie tapé par l'utilisateur grâce à la librairire prototype.jc et ensuite faire appel au fichier envoie.php en passant en paramètre la chaine à envoyé identifié par l'id. | '''Fonction envoyer()''':permet de récupérer l'id du champ envoie tapé par l'utilisateur grâce à la librairire prototype.jc et ensuite faire appel au fichier envoie.php en passant en paramètre la chaine à envoyé identifié par l'id. | ||
− | '''Fonction lire()''':cette fonction permet d'appeler le fichier scrutation.php responsable de la lecture sur la liaison série, en effet, en cas de la réussite de lecture,les données seront | + | |
+ | '''Fonction lire()''':cette fonction permet d'appeler le fichier scrutation.php responsable de la lecture sur la liaison série, en effet, en cas de la réussite de lecture,les données seront affichées par appel de la fonction java script afficher(). | ||
L'exécution de cette fonction sera par scrutation à l'aide d'un Timer contenu dans la librairie prototype.js : setTimeout("javascript:lire();",1000); | L'exécution de cette fonction sera par scrutation à l'aide d'un Timer contenu dans la librairie prototype.js : setTimeout("javascript:lire();",1000); | ||
− | '''Fonction afficher()''':Permet l'affichage des données | + | |
+ | '''Fonction afficher()''':Permet l'affichage des données reçues dans le champ réception identifié par l'id 'reception' par insertion afin de garder les informations ultérieures. | ||
+ | '''>>>2ème séance:01/06/2012''' | ||
+ | |||
+ | Dans la 2éme séance nous allons éditer les deux fichiers envoie.php et scrutation.php permettant à partir de demon.c d'envoyer et de recevoir des informations sur la liaison série. | ||
+ | |||
+ | |||
+ | '''Fichier envoie.php:''' | ||
+ | |||
+ | -Ouverture de la connexion en transmission avec fsockopen(). | ||
+ | |||
+ | -Récupération de la chaine passée en parametre pendant l'appel à envoie.php. | ||
+ | |||
+ | -Écriture de la chaîne caractère par caractère dans la connexion avec fwrite(). | ||
+ | |||
+ | |||
+ | '''Fichier scrutation.php:''' | ||
+ | |||
+ | -Ouverture de la connexion en réception avec fsockopen(). | ||
+ | |||
+ | -Vérification de la présence des données avec stream_select(). | ||
+ | |||
+ | -Dans le cas où stream_select renvoie 1,on lit l'un caractére avec fread() et on l'affiche avec echo(). | ||
+ | |||
+ | On va ensuite tester le fonctionnement par le transfert des fichiers dans le dossier /var/www/ et tapant localhost dans le navigateur pour interroger le serveur local. | ||
+ | |||
+ | |||
+ | '''>>>3ème séance:08/06/2012''' | ||
+ | |||
+ | |||
+ | Dans cette séance, on va transférer les fichiers édités sur la foxboard pour qu'on puisse vérifier la communication entre deux postes (les foxboard 7 et 9). | ||
+ | |||
+ | Nous commençons par transférer les fichiers suivants avec scp sur /var/www/ de la foxboard:la page html,scrutation.php,envoie.php,prototype.js et demon.c | ||
+ | |||
+ | Ensuite nous compilons demon.c en demon. | ||
+ | |||
+ | Afin de pouvoir afficher directement la page html nous avons écrit un fichier index.php afin de ré-diriger la racine de la connexion vers notre page web html principale. | ||
+ | |||
+ | Pour débuter la communication: | ||
− | + | -Connectez vous à partir de n'importe quel navigateur sur 172.26.79.7 et 172.26.79.9 | |
− | '''>>> | + | |
− | + | -Connexion avec ssh sur les deux foxboard et exécution des 2 demon.c avec ./demon. | |
− | + | ||
+ | |||
+ | |||
+ | '''>>>Regarder la vidéo de la démonstration:''' [http://www.youtube.com/watch?v=PldxwGRAK_o&feature=plcp] | ||
Ligne 61 : | Ligne 137 : | ||
'''Partie électronique:''' | '''Partie électronique:''' | ||
+ | |||
+ | '''>>>1ère séance : 25/05/2012''' : Consacrée à la découverte du logiciel Altium, réalisation du tutoriel pour se familiariser avec les fonctionnalités et l'analyse du sujet. | ||
+ | |||
+ | |||
+ | '''>>>2ème séance:01/06/2012''' : A une fréquence de 9600 Hz, il faut réaliser un montage qui permet d'émettre 8 bits un par un, puis une autre partie du montage qui permettra de recevoir ces bits. Les bits en partie émission contiendront des bits start et stop ( pour marquer le début et la fin de l'information ), il faut donc penser à isoler ces bits. | ||
+ | |||
+ | Explications : On reçoit 8 bits à émettre, on ajoute les bits start et stop au début et à la fin ( 10 bits au total ), puis on utilise un registre parallèle-série qui permettra d'envoyer les les données bit par bit vers le port RS232. De l'autre coté, les données sont renvoyées via la broche RX vers un registre série-parallèle, oné limine les bits start et stop et on isole la donnée sur 8 bits. | ||
+ | |||
+ | [[Fichier:photo.png]] | ||
+ | |||
+ | |||
+ | '''>>>3ème séance : 08/06/2012''' : Le schéma marchait correctement lors du premier test, mais après une modification ( ajout du bouton ) les résultats n'étaient pas concluants. | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | '''Conclusion:''' | ||
+ | |||
+ | A travers ce projet, nous avons réalisé un système permettant la communication en liaison série entre deux postes en émission et réception malgré quelques difficultés qui ont apparu dans la partie électronique. |
Version actuelle datée du 22 juin 2012 à 16:15
Sommaire
Evaluation informatique et électronique
Gestion de projet / rédaction Wiki
- Informatique : Rédaction correcte. Description des programmes plutôt détaillés. Peu d'effort de formatage ou d'illustration, une vidéo cependant (moyenne). Note 75%.
- Electronique : Le wiki est trop lapidaire sans explications détaillées. La partie réception n'est pas abordée sous l'aspect fonctionnel. Note 50%.
Note 62.50%
Test fonctionnels
- Sous-système. Note 75%
- Sous-système informatique : Pas d'interconnexion entre FoxBoard et NanoBoard. Interface informatique fonctionnelle entre deux FoxBoard. Note 100%.
- Sous-système électronique : L'émission a fonctionné, rien sur la réception. Note 50%.
Qualité de la réalisation
- Informatique. Note 75%.
- procédure de test : Pas de Readme sur la FoxBoard. Test avec les deux FoxBoard OK. Note 80%.
- pages HTML et Javascript : Page correcte, script JS correct mais sans apport particulier. Note 66%.
- scripts PHP ou programmes C : Idem. Note 66%.
- installation sur FoxBoard : Pas de lancement automatique du démon série. Installation de 2 FoxBoard. Note 100%.
- Electronique. Note 42.5%.
- qualité de la réalisation : La réalisation de la partie émission est très similaire aux groupes précédents;, il aurait fallu gérer l’entrée de chargement du registre à décalage (entrée « load ») pour éviter de recharger celui-ci avant que la donnée soit totalement émise vers le port série. Pas ou alors très peu de réflexion sur la partie réception (manque d'implication). Très peu de sollicitations. Note 45%.
- tests autonomes : Partie émission qui fonctionne peu ou prou. Rien sur la réception. Les tests conseillés n'ont pas été réalisés ou trop tardivement. Note 40%.
Bilan
Note finale : 65% => 13/20
Rapport de Projet
Objectifs:
Dans ce projet de système communicant nous intéressons à la communication à travers une liaison série à travers deux parties : La partie informatique pour le développement des interfaces permettant la communication entre deux foxboard en liaison série dans les deux sens La partie électronique permettant la conception de circuit de la gestion de liaison série sur la carte FGPA de la NanoBoard.
Partie Informatique : Foxboard 7 et 9
>>>1ère séance : 25/05/2012
Le but de la première séance est de réfléchir sur la solution à proposer pour permettre la communication via une liaison série en émission et en réception.
Pour mener à bien ce projet nous avons décidé d'établir une architecture de la solution web à proposer avec utilisation des langages html, java script , php ainsi que le démon de gestion de la liaison série écrit en langage C.
Durant cette première séance nous allons commencer à concevoir notre page principale en HTML avec l'intégration de Java script. Création d'interface d’envoi et de réception :
En HTML nous avons créé des champs afin de permettre à l'utilisateur d'entrer les données à envoyer et à recevoir les données dans l'autre sens :
Champ d’émission avec un id pour permettre l’identification ultérieure :
<TD>emission</TD> <TD> <INPUT type=text id="emission" > </TD>
Bouton d'envoi permettant à l'utilisateur de maîtriser la commande d'envoi à travers l'appel à une fonction Java script envoyer()
<INPUT type="submit" value="Envoyer" onclick="javascript:envoyer();">
Champ de réception un champ texte permettant d'afficher les informations reçus.
<TD>reception</TD> <TD> <TEXTAREA id="reception" COLS="40" ROWS="10"></TEXTAREA>
</TD>
Ensuite nous allons concevoir le programme Java script permettant l’exécution des programmes PHP de lecture et écriture sur la liaison série.
Les spécifications des fonctions:
Fonction envoyer():permet de récupérer l'id du champ envoie tapé par l'utilisateur grâce à la librairire prototype.jc et ensuite faire appel au fichier envoie.php en passant en paramètre la chaine à envoyé identifié par l'id.
Fonction lire():cette fonction permet d'appeler le fichier scrutation.php responsable de la lecture sur la liaison série, en effet, en cas de la réussite de lecture,les données seront affichées par appel de la fonction java script afficher().
L'exécution de cette fonction sera par scrutation à l'aide d'un Timer contenu dans la librairie prototype.js : setTimeout("javascript:lire();",1000);
Fonction afficher():Permet l'affichage des données reçues dans le champ réception identifié par l'id 'reception' par insertion afin de garder les informations ultérieures.
>>>2ème séance:01/06/2012
Dans la 2éme séance nous allons éditer les deux fichiers envoie.php et scrutation.php permettant à partir de demon.c d'envoyer et de recevoir des informations sur la liaison série.
Fichier envoie.php:
-Ouverture de la connexion en transmission avec fsockopen().
-Récupération de la chaine passée en parametre pendant l'appel à envoie.php.
-Écriture de la chaîne caractère par caractère dans la connexion avec fwrite().
Fichier scrutation.php:
-Ouverture de la connexion en réception avec fsockopen().
-Vérification de la présence des données avec stream_select().
-Dans le cas où stream_select renvoie 1,on lit l'un caractére avec fread() et on l'affiche avec echo().
On va ensuite tester le fonctionnement par le transfert des fichiers dans le dossier /var/www/ et tapant localhost dans le navigateur pour interroger le serveur local.
>>>3ème séance:08/06/2012
Dans cette séance, on va transférer les fichiers édités sur la foxboard pour qu'on puisse vérifier la communication entre deux postes (les foxboard 7 et 9).
Nous commençons par transférer les fichiers suivants avec scp sur /var/www/ de la foxboard:la page html,scrutation.php,envoie.php,prototype.js et demon.c
Ensuite nous compilons demon.c en demon.
Afin de pouvoir afficher directement la page html nous avons écrit un fichier index.php afin de ré-diriger la racine de la connexion vers notre page web html principale.
Pour débuter la communication:
-Connectez vous à partir de n'importe quel navigateur sur 172.26.79.7 et 172.26.79.9
-Connexion avec ssh sur les deux foxboard et exécution des 2 demon.c avec ./demon.
>>>Regarder la vidéo de la démonstration: [1]
Partie électronique:
>>>1ère séance : 25/05/2012 : Consacrée à la découverte du logiciel Altium, réalisation du tutoriel pour se familiariser avec les fonctionnalités et l'analyse du sujet.
>>>2ème séance:01/06/2012 : A une fréquence de 9600 Hz, il faut réaliser un montage qui permet d'émettre 8 bits un par un, puis une autre partie du montage qui permettra de recevoir ces bits. Les bits en partie émission contiendront des bits start et stop ( pour marquer le début et la fin de l'information ), il faut donc penser à isoler ces bits.
Explications : On reçoit 8 bits à émettre, on ajoute les bits start et stop au début et à la fin ( 10 bits au total ), puis on utilise un registre parallèle-série qui permettra d'envoyer les les données bit par bit vers le port RS232. De l'autre coté, les données sont renvoyées via la broche RX vers un registre série-parallèle, oné limine les bits start et stop et on isole la donnée sur 8 bits.
>>>3ème séance : 08/06/2012 : Le schéma marchait correctement lors du premier test, mais après une modification ( ajout du bouton ) les résultats n'étaient pas concluants.
Conclusion:
A travers ce projet, nous avons réalisé un système permettant la communication en liaison série entre deux postes en émission et réception malgré quelques difficultés qui ont apparu dans la partie électronique.