<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://projets-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cly</id>
		<title>Wiki de Projets IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://projets-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cly"/>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Cly"/>
		<updated>2026-05-14T04:59:42Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17606</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17606"/>
				<updated>2015-02-24T09:03:36Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Matériel et outils nécessaires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel et outils nécessaires==&lt;br /&gt;
&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
Utilisation de plusieurs cartes CC430 réalisées par Monsieur BOÉ et Monsieur VANTROYS. Il s’agit de cartes électroniques comprenant un module RF (Radio Frequency) permettant d’envoyer et de recevoir des informations en communication sans fil à une certaine fréquence. Un capteur est connecté à ce dernier. &lt;br /&gt;
&lt;br /&gt;
L’utilisation de ces cartes n’était pas la plus adaptée pour le projet mais il était intéressant de les utiliser afin de concevoir un prototype. En effet, elle est plus performante que ce dont nous avions réellement besoin (mémoire, puissance de calcul, etc.). &lt;br /&gt;
Par ailleurs, afin d'assurer une bonne communication sans fil, nous avons décidé d'utiliser la bande de fréquence 868 MHz. Grâce à cette fréquence, la communication peut être réalisée à une plus grande distance par rapport à une fréquence de 2,4 GHz et ce, pour une même taille d’antenne.&lt;br /&gt;
&lt;br /&gt;
Nous avons également besoin du MSP430 LaunchPad. Il permet de flasher les cartes.&lt;br /&gt;
Pour notre prototype, nous avons utilisé un interrupteur pour chaque carte où il y a besoin d’un capteur. L’interrupteur permet de remplacer le capteur. On va pouvoir simuler un obstacle en changeant de valeur l’interrupteur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Outils nécessaires===&lt;br /&gt;
Utilisation d’un serveur web a été fait. Il s’agit d’un serveur informatique utilisé pour publier des sites web sur Internet. &lt;br /&gt;
&lt;br /&gt;
Afin de réaliser une page web, nous avons besoin de certains outils comme les langages HTML et CSS. Ces derniers sont des langages de balisage permettant de structurer une page web. PHP est un langage de programmation utilisé pour le développement de pages web ; c’est celui qui est le plus utilisé dans ce domaine. Il est gratuit et ne nécessite aucune licence d’utilisation. Il existe un nombre incommensurable de bibliothèques et de tutoriels.&lt;br /&gt;
    &lt;br /&gt;
Pour que l’application fonctionne correctement, le site web doit stocker les informations relatives aux parkings renseignés. Pour cela nous utilisons une base de données. Il s’agit d’un outil capable de stocker et de récupérer des informations comme défini précédemment. Nous utiliserons le langage MySQL qui est un langage de programmation permettant la gestion de base de données (ajout, mise à jour ou suppression d’informations). Ce langage présente quelques avantages : il est gratuit et présente beaucoup de fonctionnalités. Il est également très répandu et il est très facile de rechercher des informations en cas de problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC :  Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la partie Administrative (mot de passe oublié, envoi de mail, désinscription, etc.) PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine sera de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailler sur l'interface.  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Semaine 19===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion de mise à jour des données sans l'intervention humaine.&lt;br /&gt;
* Intégration de la carte à l'application. &lt;br /&gt;
** Gestion de la géolocalisation&lt;br /&gt;
** Gestion d'un itinéraire pour arriver à la destination souhaitée&lt;br /&gt;
** Ajout de l'auto-complétion pour renseigner les lieux de manière aisée&lt;br /&gt;
** Affichage des parkings par ville (afin d'éviter de trop lourds calculs pour référencer tous les parkings sur la carte)&lt;br /&gt;
** Mise à jour des données dans les infos bulles gérée&lt;br /&gt;
&lt;br /&gt;
Voici la représentation de la page avec la carte et ses fonctionnalités :&lt;br /&gt;
[[Fichier:RepresentationFonctionnalitesCarte.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Communication RF fonctionnelle.&lt;br /&gt;
* Établissement d'un protocole de communication basique permettant de traiter l'envoi et la réception de données, ainsi que les accusés de réception.&lt;br /&gt;
* Création des identifiants des cartes lors de la compilation. Deux identifiants sont à définir lors de la compilation: s'il s'agit d'un module capteur, il faut définir son identifiant, ainsi que l'identifiant du concentrateur auquel il est affilié; s'il s'agit d'un module concentrateur, il faut définir son identifiant, ainsi que l'identifiant du prochain concentrateur auquel il doit retransmettre les données (si le module concentrateur est celui du concentrateur général, alors l'identifiant du prochain concentrateur devra être initialisé à zéro).&lt;br /&gt;
* Mise en place de la remontée de données entre les différents modules (des capteurs au concentrateur général).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la création de parking (interface), modifier la bdd et créer un programme en langage C permettant de récupérer les informations envoyées par liaison série (de la carte &amp;quot;concentrateur général&amp;quot; vers un ordinateur) et les envoyer sur le serveur. Une page php sera créée afin de mettre à jour la base de données.  PRC : Réaliser la communication série permettant le lien entre les deux parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 20===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport.&lt;br /&gt;
Préparation de la vidéo à tourner la semaine suivante.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* La base de données a été modifiée, elle se présente sous cette forme :&lt;br /&gt;
[[Fichier:BDD finale.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* L'interface pour créer une visualisation de parking a été réalisé (cf. figure ci-dessous), grâce à cette interface :&lt;br /&gt;
** Le configurateur peut utiliser un plan déjà construit&lt;br /&gt;
** Il peut également modifier le type de chaque case (route, place, autre)en double cliquant&lt;br /&gt;
** Lorsqu'il crée une place, il peut renseigner des paramètres comme l'id de capateur associé à la place ou sa pmorphologie&lt;br /&gt;
** Il peut visualiser la configuration en cliquant une seule fois &lt;br /&gt;
** Les informations sont transmises à la BDD pour sauvegarder les résultats&lt;br /&gt;
[[Fichier:Mode Configurateur.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* L'interface du côté utilisateur a été également développée :&lt;br /&gt;
** Lorsque l'utilisateur choisit un parking, l'interface s'affiche&lt;br /&gt;
** Elle se met à jour régulièrement&lt;br /&gt;
** L’utilisateur peut voir les caractéristiques de chaque place de parking&lt;br /&gt;
[[Fichier:Application Avec interface utilisateur.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Amélioration de la communication RF, notamment au niveau de la gestion des accusés de réception.&lt;br /&gt;
* Réalisation de l'émission entre une carte et un PC permettant la mise à jour de transmettre les informations au système embarqué. Les données alors transmises sont: l'identifiant du parking, l'identifiant du capteur et l'état du capteur.&lt;br /&gt;
&lt;br /&gt;
'''Partie Système embarqué (permettant de faire communiquer le PRC et PA)'''&lt;br /&gt;
&lt;br /&gt;
* Réalisation de la réception série pour récupérer les informations du réseau de capteurs.&lt;br /&gt;
* Réalisation de la requête http de type post en utilisant une socket avec système SSL pour pouvoir envoyer des informations de manière sécurisée sur le serveur web.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante: Finition de la rédaction du rapport, réalisation de la vidéo, préparation du support de soutenance et la préparer.'''&lt;br /&gt;
&lt;br /&gt;
===Semaine 21===&lt;br /&gt;
&lt;br /&gt;
* Mise en commun des deux parties, avec la partie Système Embarqué. Association de la réception série avec l'envoi d'informations sur le serveur web.&lt;br /&gt;
* Réalisation de la vidéo le lundi matin à 10h.&lt;br /&gt;
* Rédaction du rapport.&lt;br /&gt;
* Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17605</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17605"/>
				<updated>2015-02-24T09:02:33Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 21 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel et outils nécessaires==&lt;br /&gt;
&lt;br /&gt;
a.         Matériel nécessaire&lt;br /&gt;
&lt;br /&gt;
Utilisation de plusieurs cartes CC430 réalisées par Monsieur BOÉ et Monsieur VANTROYS. Il s’agit de cartes électroniques comprenant un module RF (Radio Frequency) permettant d’envoyer et de recevoir des informations en communication sans fil à une certaine fréquence. Un capteur est connecté à ce dernier. &lt;br /&gt;
&lt;br /&gt;
L’utilisation de ces cartes n’était pas la plus adaptée pour le projet mais il était intéressant de les utiliser afin de concevoir un prototype. En effet, elle est plus performante que ce dont nous avions réellement besoin (mémoire, puissance de calcul, etc.). &lt;br /&gt;
Par ailleurs, afin d'assurer une bonne communication sans fil, nous avons décidé d'utiliser la bande de fréquence 868 MHz. Grâce à cette fréquence, la communication peut être réalisée à une plus grande distance par rapport à une fréquence de 2,4 GHz et ce, pour une même taille d’antenne.&lt;br /&gt;
&lt;br /&gt;
Nous avons également besoin du MSP430 LaunchPad. Il permet de flasher les cartes.&lt;br /&gt;
Pour notre prototype, nous avons utilisé un interrupteur pour chaque carte où il y a besoin d’un capteur. L’interrupteur permet de remplacer le capteur. On va pouvoir simuler un obstacle en changeant de valeur l’interrupteur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b.	Outils nécessaires   &lt;br /&gt;
Utilisation d’un serveur web a été fait. Il s’agit d’un serveur informatique utilisé pour publier des sites web sur Internet. &lt;br /&gt;
&lt;br /&gt;
Afin de réaliser une page web, nous avons besoin de certains outils comme les langages HTML et CSS. Ces derniers sont des langages de balisage permettant de structurer une page web. PHP est un langage de programmation utilisé pour le développement de pages web ; c’est celui qui est le plus utilisé dans ce domaine. Il est gratuit et ne nécessite aucune licence d’utilisation. Il existe un nombre incommensurable de bibliothèques et de tutoriels.&lt;br /&gt;
    &lt;br /&gt;
Pour que l’application fonctionne correctement, le site web doit stocker les informations relatives aux parkings renseignés. Pour cela nous utilisons une base de données. Il s’agit d’un outil capable de stocker et de récupérer des informations comme défini précédemment. Nous utiliserons le langage MySQL qui est un langage de programmation permettant la gestion de base de données (ajout, mise à jour ou suppression d’informations). Ce langage présente quelques avantages : il est gratuit et présente beaucoup de fonctionnalités. Il est également très répandu et il est très facile de rechercher des informations en cas de problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC :  Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la partie Administrative (mot de passe oublié, envoi de mail, désinscription, etc.) PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine sera de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailler sur l'interface.  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Semaine 19===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion de mise à jour des données sans l'intervention humaine.&lt;br /&gt;
* Intégration de la carte à l'application. &lt;br /&gt;
** Gestion de la géolocalisation&lt;br /&gt;
** Gestion d'un itinéraire pour arriver à la destination souhaitée&lt;br /&gt;
** Ajout de l'auto-complétion pour renseigner les lieux de manière aisée&lt;br /&gt;
** Affichage des parkings par ville (afin d'éviter de trop lourds calculs pour référencer tous les parkings sur la carte)&lt;br /&gt;
** Mise à jour des données dans les infos bulles gérée&lt;br /&gt;
&lt;br /&gt;
Voici la représentation de la page avec la carte et ses fonctionnalités :&lt;br /&gt;
[[Fichier:RepresentationFonctionnalitesCarte.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Communication RF fonctionnelle.&lt;br /&gt;
* Établissement d'un protocole de communication basique permettant de traiter l'envoi et la réception de données, ainsi que les accusés de réception.&lt;br /&gt;
* Création des identifiants des cartes lors de la compilation. Deux identifiants sont à définir lors de la compilation: s'il s'agit d'un module capteur, il faut définir son identifiant, ainsi que l'identifiant du concentrateur auquel il est affilié; s'il s'agit d'un module concentrateur, il faut définir son identifiant, ainsi que l'identifiant du prochain concentrateur auquel il doit retransmettre les données (si le module concentrateur est celui du concentrateur général, alors l'identifiant du prochain concentrateur devra être initialisé à zéro).&lt;br /&gt;
* Mise en place de la remontée de données entre les différents modules (des capteurs au concentrateur général).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la création de parking (interface), modifier la bdd et créer un programme en langage C permettant de récupérer les informations envoyées par liaison série (de la carte &amp;quot;concentrateur général&amp;quot; vers un ordinateur) et les envoyer sur le serveur. Une page php sera créée afin de mettre à jour la base de données.  PRC : Réaliser la communication série permettant le lien entre les deux parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 20===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport.&lt;br /&gt;
Préparation de la vidéo à tourner la semaine suivante.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* La base de données a été modifiée, elle se présente sous cette forme :&lt;br /&gt;
[[Fichier:BDD finale.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* L'interface pour créer une visualisation de parking a été réalisé (cf. figure ci-dessous), grâce à cette interface :&lt;br /&gt;
** Le configurateur peut utiliser un plan déjà construit&lt;br /&gt;
** Il peut également modifier le type de chaque case (route, place, autre)en double cliquant&lt;br /&gt;
** Lorsqu'il crée une place, il peut renseigner des paramètres comme l'id de capateur associé à la place ou sa pmorphologie&lt;br /&gt;
** Il peut visualiser la configuration en cliquant une seule fois &lt;br /&gt;
** Les informations sont transmises à la BDD pour sauvegarder les résultats&lt;br /&gt;
[[Fichier:Mode Configurateur.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* L'interface du côté utilisateur a été également développée :&lt;br /&gt;
** Lorsque l'utilisateur choisit un parking, l'interface s'affiche&lt;br /&gt;
** Elle se met à jour régulièrement&lt;br /&gt;
** L’utilisateur peut voir les caractéristiques de chaque place de parking&lt;br /&gt;
[[Fichier:Application Avec interface utilisateur.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Amélioration de la communication RF, notamment au niveau de la gestion des accusés de réception.&lt;br /&gt;
* Réalisation de l'émission entre une carte et un PC permettant la mise à jour de transmettre les informations au système embarqué. Les données alors transmises sont: l'identifiant du parking, l'identifiant du capteur et l'état du capteur.&lt;br /&gt;
&lt;br /&gt;
'''Partie Système embarqué (permettant de faire communiquer le PRC et PA)'''&lt;br /&gt;
&lt;br /&gt;
* Réalisation de la réception série pour récupérer les informations du réseau de capteurs.&lt;br /&gt;
* Réalisation de la requête http de type post en utilisant une socket avec système SSL pour pouvoir envoyer des informations de manière sécurisée sur le serveur web.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante: Finition de la rédaction du rapport, réalisation de la vidéo, préparation du support de soutenance et la préparer.'''&lt;br /&gt;
&lt;br /&gt;
===Semaine 21===&lt;br /&gt;
&lt;br /&gt;
* Mise en commun des deux parties, avec la partie Système Embarqué. Association de la réception série avec l'envoi d'informations sur le serveur web.&lt;br /&gt;
* Réalisation de la vidéo le lundi matin à 10h.&lt;br /&gt;
* Rédaction du rapport.&lt;br /&gt;
* Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17604</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17604"/>
				<updated>2015-02-24T09:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel et outils nécessaires==&lt;br /&gt;
&lt;br /&gt;
a.         Matériel nécessaire&lt;br /&gt;
&lt;br /&gt;
Utilisation de plusieurs cartes CC430 réalisées par Monsieur BOÉ et Monsieur VANTROYS. Il s’agit de cartes électroniques comprenant un module RF (Radio Frequency) permettant d’envoyer et de recevoir des informations en communication sans fil à une certaine fréquence. Un capteur est connecté à ce dernier. &lt;br /&gt;
&lt;br /&gt;
L’utilisation de ces cartes n’était pas la plus adaptée pour le projet mais il était intéressant de les utiliser afin de concevoir un prototype. En effet, elle est plus performante que ce dont nous avions réellement besoin (mémoire, puissance de calcul, etc.). &lt;br /&gt;
Par ailleurs, afin d'assurer une bonne communication sans fil, nous avons décidé d'utiliser la bande de fréquence 868 MHz. Grâce à cette fréquence, la communication peut être réalisée à une plus grande distance par rapport à une fréquence de 2,4 GHz et ce, pour une même taille d’antenne.&lt;br /&gt;
&lt;br /&gt;
Nous avons également besoin du MSP430 LaunchPad. Il permet de flasher les cartes.&lt;br /&gt;
Pour notre prototype, nous avons utilisé un interrupteur pour chaque carte où il y a besoin d’un capteur. L’interrupteur permet de remplacer le capteur. On va pouvoir simuler un obstacle en changeant de valeur l’interrupteur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b.	Outils nécessaires   &lt;br /&gt;
Utilisation d’un serveur web a été fait. Il s’agit d’un serveur informatique utilisé pour publier des sites web sur Internet. &lt;br /&gt;
&lt;br /&gt;
Afin de réaliser une page web, nous avons besoin de certains outils comme les langages HTML et CSS. Ces derniers sont des langages de balisage permettant de structurer une page web. PHP est un langage de programmation utilisé pour le développement de pages web ; c’est celui qui est le plus utilisé dans ce domaine. Il est gratuit et ne nécessite aucune licence d’utilisation. Il existe un nombre incommensurable de bibliothèques et de tutoriels.&lt;br /&gt;
    &lt;br /&gt;
Pour que l’application fonctionne correctement, le site web doit stocker les informations relatives aux parkings renseignés. Pour cela nous utilisons une base de données. Il s’agit d’un outil capable de stocker et de récupérer des informations comme défini précédemment. Nous utiliserons le langage MySQL qui est un langage de programmation permettant la gestion de base de données (ajout, mise à jour ou suppression d’informations). Ce langage présente quelques avantages : il est gratuit et présente beaucoup de fonctionnalités. Il est également très répandu et il est très facile de rechercher des informations en cas de problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC :  Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la partie Administrative (mot de passe oublié, envoi de mail, désinscription, etc.) PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine sera de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailler sur l'interface.  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Semaine 19===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion de mise à jour des données sans l'intervention humaine.&lt;br /&gt;
* Intégration de la carte à l'application. &lt;br /&gt;
** Gestion de la géolocalisation&lt;br /&gt;
** Gestion d'un itinéraire pour arriver à la destination souhaitée&lt;br /&gt;
** Ajout de l'auto-complétion pour renseigner les lieux de manière aisée&lt;br /&gt;
** Affichage des parkings par ville (afin d'éviter de trop lourds calculs pour référencer tous les parkings sur la carte)&lt;br /&gt;
** Mise à jour des données dans les infos bulles gérée&lt;br /&gt;
&lt;br /&gt;
Voici la représentation de la page avec la carte et ses fonctionnalités :&lt;br /&gt;
[[Fichier:RepresentationFonctionnalitesCarte.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Communication RF fonctionnelle.&lt;br /&gt;
* Établissement d'un protocole de communication basique permettant de traiter l'envoi et la réception de données, ainsi que les accusés de réception.&lt;br /&gt;
* Création des identifiants des cartes lors de la compilation. Deux identifiants sont à définir lors de la compilation: s'il s'agit d'un module capteur, il faut définir son identifiant, ainsi que l'identifiant du concentrateur auquel il est affilié; s'il s'agit d'un module concentrateur, il faut définir son identifiant, ainsi que l'identifiant du prochain concentrateur auquel il doit retransmettre les données (si le module concentrateur est celui du concentrateur général, alors l'identifiant du prochain concentrateur devra être initialisé à zéro).&lt;br /&gt;
* Mise en place de la remontée de données entre les différents modules (des capteurs au concentrateur général).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la création de parking (interface), modifier la bdd et créer un programme en langage C permettant de récupérer les informations envoyées par liaison série (de la carte &amp;quot;concentrateur général&amp;quot; vers un ordinateur) et les envoyer sur le serveur. Une page php sera créée afin de mettre à jour la base de données.  PRC : Réaliser la communication série permettant le lien entre les deux parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 20===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport.&lt;br /&gt;
Préparation de la vidéo à tourner la semaine suivante.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* La base de données a été modifiée, elle se présente sous cette forme :&lt;br /&gt;
[[Fichier:BDD finale.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* L'interface pour créer une visualisation de parking a été réalisé (cf. figure ci-dessous), grâce à cette interface :&lt;br /&gt;
** Le configurateur peut utiliser un plan déjà construit&lt;br /&gt;
** Il peut également modifier le type de chaque case (route, place, autre)en double cliquant&lt;br /&gt;
** Lorsqu'il crée une place, il peut renseigner des paramètres comme l'id de capateur associé à la place ou sa pmorphologie&lt;br /&gt;
** Il peut visualiser la configuration en cliquant une seule fois &lt;br /&gt;
** Les informations sont transmises à la BDD pour sauvegarder les résultats&lt;br /&gt;
[[Fichier:Mode Configurateur.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* L'interface du côté utilisateur a été également développée :&lt;br /&gt;
** Lorsque l'utilisateur choisit un parking, l'interface s'affiche&lt;br /&gt;
** Elle se met à jour régulièrement&lt;br /&gt;
** L’utilisateur peut voir les caractéristiques de chaque place de parking&lt;br /&gt;
[[Fichier:Application Avec interface utilisateur.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Amélioration de la communication RF, notamment au niveau de la gestion des accusés de réception.&lt;br /&gt;
* Réalisation de l'émission entre une carte et un PC permettant la mise à jour de transmettre les informations au système embarqué. Les données alors transmises sont: l'identifiant du parking, l'identifiant du capteur et l'état du capteur.&lt;br /&gt;
&lt;br /&gt;
'''Partie Système embarqué (permettant de faire communiquer le PRC et PA)'''&lt;br /&gt;
&lt;br /&gt;
* Réalisation de la réception série pour récupérer les informations du réseau de capteurs.&lt;br /&gt;
* Réalisation de la requête http de type post en utilisant une socket avec système SSL pour pouvoir envoyer des informations de manière sécurisée sur le serveur web.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante: Finition de la rédaction du rapport, réalisation de la vidéo, préparation du support de soutenance et la préparer.'''&lt;br /&gt;
&lt;br /&gt;
===Semaine 21===&lt;br /&gt;
&lt;br /&gt;
* Mise en commun pour la partie Système embarqué&lt;br /&gt;
* Rédaction du rapport&lt;br /&gt;
* Mise en commun des deux parties. Association de la réception série  &lt;br /&gt;
* Réalisation de la vidéo le lundi matin à 10h&lt;br /&gt;
* Préparation de la soutenance&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17361</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17361"/>
				<updated>2015-02-20T18:41:41Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 18 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC :  Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la partie Administrative (mot de passe oublié, envoi de mail, désinscription, etc.) PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine sera de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailler sur l'interface.  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Semaine 19===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion de mise à jour des données sans l'intervention humaine.&lt;br /&gt;
* Intégration de la carte à l'application. &lt;br /&gt;
** Gestion de la géolocalisation&lt;br /&gt;
** Gestion d'un itinéraire pour arriver à la destination souhaitée&lt;br /&gt;
** Ajout de l'auto-complétion pour renseigner les lieux de manière aisée&lt;br /&gt;
** Affichage des parkings par ville (afin d'éviter de trop lourds calculs pour référencer tous les parkings sur la carte)&lt;br /&gt;
** Mise à jour des données dans les infos bulles gérée&lt;br /&gt;
&lt;br /&gt;
Voici la représentation de la page avec la carte et ses fonctionnalités :&lt;br /&gt;
[[Fichier:RepresentationFonctionnalitesCarte.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Communication RF fonctionnelle.&lt;br /&gt;
* Établissement d'un protocole de communication basique permettant de traiter l'envoi et la réception de données, ainsi que les accusés de réception.&lt;br /&gt;
* Création des identifiants des cartes lors de la compilation. Deux identifiants sont à définir lors de la compilation: s'il s'agit d'un module capteur, il faut définir son identifiant, ainsi que l'identifiant du concentrateur auquel il est affilié; s'il s'agit d'un module concentrateur, il faut définir son identifiant, ainsi que l'identifiant du prochain concentrateur auquel il doit retransmettre les données (si le module concentrateur est celui du concentrateur général, alors l'identifiant du prochain concentrateur devra être initialisé à zéro).&lt;br /&gt;
* Mise en place de la remontée de données entre les différents modules (des capteurs au concentrateur général).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la création de parking (interface), modifier la bdd et créer un programme en langage C permettant de récupérer les informations envoyées par liaison série (de la carte &amp;quot;concentrateur général&amp;quot; vers un ordinateur) et les envoyer sur le serveur. Une page php sera créée afin de mettre à jour la base de données.  PRC : Réaliser la communication série permettant le lien entre les deux parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 20===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport.&lt;br /&gt;
Préparation de la vidéo à tourner la semaine suivante.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Amélioration de la communication RF, notamment au niveau de la gestion des accusés de réception.&lt;br /&gt;
* Réalisation de l'émission et de la réception série entre une carte et un PC permettant la mise à jour de la base de données. Les données alors transmises sont: l'identifiant du parking, l'identifiant du capteur et l'état du capteur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:'''&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17360</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=17360"/>
				<updated>2015-02-20T18:40:56Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC :  Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la partie Administrative (mot de passe oublié, envoi de mail, désinscription, etc.) PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine sera de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailler sur l'interface.  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 19===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion de mise à jour des données sans l'intervention humaine.&lt;br /&gt;
* Intégration de la carte à l'application. &lt;br /&gt;
** Gestion de la géolocalisation&lt;br /&gt;
** Gestion d'un itinéraire pour arriver à la destination souhaitée&lt;br /&gt;
** Ajout de l'auto-complétion pour renseigner les lieux de manière aisée&lt;br /&gt;
** Affichage des parkings par ville (afin d'éviter de trop lourds calculs pour référencer tous les parkings sur la carte)&lt;br /&gt;
** Mise à jour des données dans les infos bulles gérée&lt;br /&gt;
&lt;br /&gt;
Voici la représentation de la page avec la carte et ses fonctionnalités :&lt;br /&gt;
[[Fichier:RepresentationFonctionnalitesCarte.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Communication RF fonctionnelle.&lt;br /&gt;
* Établissement d'un protocole de communication basique permettant de traiter l'envoi et la réception de données, ainsi que les accusés de réception.&lt;br /&gt;
* Création des identifiants des cartes lors de la compilation. Deux identifiants sont à définir lors de la compilation: s'il s'agit d'un module capteur, il faut définir son identifiant, ainsi que l'identifiant du concentrateur auquel il est affilié; s'il s'agit d'un module concentrateur, il faut définir son identifiant, ainsi que l'identifiant du prochain concentrateur auquel il doit retransmettre les données (si le module concentrateur est celui du concentrateur général, alors l'identifiant du prochain concentrateur devra être initialisé à zéro).&lt;br /&gt;
* Mise en place de la remontée de données entre les différents modules (des capteurs au concentrateur général).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Gérer la création de parking (interface), modifier la bdd et créer un programme en langage C permettant de récupérer les informations envoyées par liaison série (de la carte &amp;quot;concentrateur général&amp;quot; vers un ordinateur) et les envoyer sur le serveur. Une page php sera créée afin de mettre à jour la base de données.  PRC : Réaliser la communication série permettant le lien entre les deux parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 20===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport.&lt;br /&gt;
Préparation de la vidéo à tourner la semaine suivante.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Amélioration de la communication RF, notamment au niveau de la gestion des accusés de réception.&lt;br /&gt;
* Réalisation de l'émission et de la réception série entre une carte et un PC permettant la mise à jour de la base de données. Les données alors transmises sont: l'identifiant du parking, l'identifiant du capteur et l'état du capteur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:'''&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16972</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16972"/>
				<updated>2015-02-15T21:25:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 18 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA :  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
* Communication RF fonctionnelle.&lt;br /&gt;
* Établissement d'un protocole de communication basique permettant de traiter l'envoi et la réception de données, ainsi que les accusés de réception.&lt;br /&gt;
* Création des identifiants des cartes lors de la compilation. Deux identifiants sont à définir lors de la compilation: s'il s'agit d'un module capteur, il faut définir son identifiant, ainsi que l'identifiant du concentrateur auquel il est affilié; s'il s'agit d'un module concentrateur, il faut définir son identifiant, ainsi que l'identifiant du prochain concentrateur auquel il doit retransmettre les données (si le module concentrateur est celui du concentrateur général, alors l'identifiant du prochain concentrateur devra être initialisé à zéro).&lt;br /&gt;
* Mise en place de la remontée de données entre les différents modules (des capteurs au concentrateur général).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine est de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailler sur l'interface.  PRC : Réaliser la communication série permettant le lien entre les deux parties.&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16971</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16971"/>
				<updated>2015-02-15T21:16:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 17 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA :  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine est de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailer sur l'interface  PRC :&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16970</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16970"/>
				<updated>2015-02-15T21:16:19Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 17 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
* Familiarisation avec les outils utilisés pour Google Maps. Plusieurs tâches ont été réalisées (non intégrées à l'application):&lt;br /&gt;
** Recherche et géolocalisation d'une adresse &lt;br /&gt;
** Personnalisation des icônes sur une carte à un endroit précis&lt;br /&gt;
** Affichage des informations de l'icône représentant un parking &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
Débuggage sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA :  PRC : Réussir la communication RF, avec son protocole de communication. Implémenter la remontée de données jusqu'à la carte &amp;quot;concentrateur général&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Semaine 18===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
 &lt;br /&gt;
* Hierarchisation correcte des fichiers et dossiers pour le site (dossier sql, JavaScript, css, php, images)&lt;br /&gt;
* Création de foncions génériques pour accéder à la bdd&lt;br /&gt;
* Gestion oubli mot de passe par un membre et envoi de mail en fonction pour qu’il puisse récupérer ses identifiants avec changement de mot de passe&lt;br /&gt;
* Gestion du changement de mot de passe par un membre&lt;br /&gt;
* Gestion de la désinscription d’un membre&lt;br /&gt;
* Gestion des cas particuliers (lorsqu’un membre est connecté, qu’il accède à une page partciulière avec certains droits, qu’il se déconnecte, il ne peut pas visualiser les informations de la page précédente.&lt;br /&gt;
* Gestion du compte admin : un membre ayant les droits admin, peut ajouter un membre, changer ses droits ou le supprimer de la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Le but de la semaine prochaine est de réaliser la gestion de la carte permettant de visualiser sur un plan les parkings. Une deuxième phase sera consacrée à l'affichage des données et mise à jour de celle-ci. Une dernière phase consistera à commencer à travailer sur l'interface  PRC :&lt;br /&gt;
&lt;br /&gt;
Voici le planning que nous avons établi pour la fin de projet :&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16567</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16567"/>
				<updated>2015-02-05T21:11:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 17 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA :  PRC :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16566</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=16566"/>
				<updated>2015-02-05T21:10:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. PRC : Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. PRC : Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Se familiariser avec les langages tels que (HTML, CSS, PHP, XML, JavaScript, SQL). PRC : Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : continuer  à se familiariser avec les langages : Finaliser les tests avec l'interrupteur et commencer la communication RF. &lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des tutoriels. Ces tutoriels portent sur PHP et MySQL. &amp;lt;br /&amp;gt;&lt;br /&gt;
La base de données a été pensée de cette manière : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:BDD_Merise.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir les tutoriels et construire le site web et la BDD. PRC : Réaliser une communication RF et une communication série.&lt;br /&gt;
&lt;br /&gt;
===Semaine 12===&lt;br /&gt;
&lt;br /&gt;
Une partie a été consacrée à la rédaction du rapport intermédiaire de projet.&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Construction du site web. Gestion des comptes utilisateurs (membre, administrateur et configurateur)&lt;br /&gt;
Réflexion sur l'interface permettant de créer un parking pour y associer une place de parking avec un capteur. Le parking ainsi créé sera modifiable par le configurateur. &lt;br /&gt;
Il se présente sous cette forme : &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Interface parking cree.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le configurateur pourra ainsi définir des routes, des places de parkings et autres (arbres, batiment etc.). Le parking se présente sous forme de quadrillage. L'opérateur pourra définir une ou plusieurs comme étant d'un certain type (route, place ou autre). Il pourra définir les types de places ainsi que leur morphologie et renseigner si c'est une place handicapée ou non. Il pourra ainsi créer son parking. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il sera également possible de visualiser le parking via le compte &amp;quot;membres&amp;quot; présenté sous la forme suivante : &lt;br /&gt;
[[Fichier:Interface parking visu.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Soudures de tous les fils permettant de connecter un interrupteur pour la phase de tests.&amp;lt;br /&amp;gt;&lt;br /&gt;
Recherches d'informations sur la Datasheet afin d'effectuer une communication RF : recherche des différents registres, leur rôle ainsi que les rôles de chaque bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finir la rédaction du rapport et du support. Préparation de la soutenance.&lt;br /&gt;
&lt;br /&gt;
===Semaine 13===&lt;br /&gt;
&lt;br /&gt;
Rédaction du rapport. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation du support de soutenance. &amp;lt;br /&amp;gt;&lt;br /&gt;
Préparation de la soutenance en faisant des répétitiions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine de la rentrée:''' PA : Mettre en forme de site Web (design). Commencer à chercher sur comment concevoir l'interface permettant de créer un parking et d'y associer une place de parking avec un capteur. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 14 (Première semaine de Janvier après la rentrée)===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
La semaine a été dédiée à agencer de manière intuitive le site web (sur papier au départ) et à la recherche des différents moyens de créer l'interface permettant de créer un parking (idées potentielles : en PHP ou plus probable en Javascript).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Rectification de l'interruption liée à l'interrupteur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur le module RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Mettre en ligne le site et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF.&lt;br /&gt;
&lt;br /&gt;
===Semaine 15===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Mise en ligne du site :&lt;br /&gt;
* Problème de mise en ligne du site liée à une erreur de l'administrateur;&lt;br /&gt;
* Résolution du problème avec Monsieur REDON;&lt;br /&gt;
* Transfert de la BDD du serveur local sur le serveur en ligne;&lt;br /&gt;
* Quelques différences entre le serveur local et le serveur en ligne;&lt;br /&gt;
* Résolution de quelques problèmes mais il reste encore quelques problèmes à résoudre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Modification du Makefile, car nouvel agencement des fichiers/documents.&amp;lt;br/&amp;gt;&lt;br /&gt;
Suite de la documentation sur la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir de résoudre les problèmes rencontrés et commencer la partie interface pour créer un parking. PRC : Gérer basiquement la communication RF, avec un protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 16===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Correction des autres problèmes (sessions et header)&lt;br /&gt;
* Difficulté rencontrée pour versionner les fichiers avec Github. (problème non résolu)&lt;br /&gt;
* Rajout de la gestion de recherche par département et région (réflexion sur utiliser PHP, AJAX ou JavaScript): Choix du JavaScript car avec PHP, le temps de latence, lorsque l'on choisit une région et qu'il propose les départements associés, est trop long.&lt;br /&gt;
* Modifier la hiérarchisation des dossiers et fichiers sur le serveur(non finie)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Récupération de nouveaux fichiers sources exemples de la communication RF avec les mêmes cartes.&lt;br /&gt;
Début de la gestion de la communication RF.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;gt; la carte émettrice semble envoyer des données, mais la carte réceptrice ne les reçoit pas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA : Finir la gestion de département et régions. PRC : Finir la communication RF, avec son protocole de communication à définir.&lt;br /&gt;
&lt;br /&gt;
===Semaine 17===&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
* Gestion des départements et région terminée&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |+ Planning prévisionnel revu&lt;br /&gt;
 |----&lt;br /&gt;
 ! !! scope=&amp;quot;col&amp;quot; | Partie Applicative (PA) !! scope=&amp;quot;col&amp;quot; | Partie Réseau de Capteurs (PRC) !! scope=&amp;quot;col&amp;quot; | Partie Commune&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 05/02 au 06/02&lt;br /&gt;
 | &lt;br /&gt;
* Finir d’écrire la BDD (à l’écrit et sur internet);&lt;br /&gt;
* Permettre d’ajouter, de modifier et supprimer des parkings (dans la BDD) avec les paramètres grâce au membre de type “configurateur”;&lt;br /&gt;
* Permettre l’ajout, la modification et la suppression de nouveaux membres,  (dans la BDD) avec les paramètres grâce au membre de type “admin”.&lt;br /&gt;
 || &lt;br /&gt;
* Finir la communication RF avec son protocole de communication (à définir exactement). &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 09/02 au 10/02&lt;br /&gt;
 | &lt;br /&gt;
* Gérer la carte : mettre sur la carte les icônes à chaque endroit où un parking est renseigné et permettre d’afficher les informations lors de clics sur l’icône.&lt;br /&gt;
||&lt;br /&gt;
* Gérer les identifiants des capteurs;&lt;br /&gt;
* Gérer les collisions en testant les émissions et réceptions de plusieurs modules capteurs. &lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 11/02 au 13/02&lt;br /&gt;
 | &lt;br /&gt;
* Réaliser l’interface : permettre à un configurateur de créer un parking de manière représentative;&lt;br /&gt;
* Permettre l’affichage dynamique pour visualiser un plan.&lt;br /&gt;
 || &lt;br /&gt;
* Gérer le réseau avec la topologie ''Cluster-Tree''.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 16/02 au 18/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser la communication entre le réseau de capteurs et le serveur (la base de données).&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 19/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Réaliser des tests sur la globalité du projet.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Le 20/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Présenter les résultats;&lt;br /&gt;
* Réaliser une démonstration.&lt;br /&gt;
 |----&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Du 20/02 au 25/02&lt;br /&gt;
 |  ||  || &lt;br /&gt;
* Apporter les modifications nécessaires par rapport aux retours lors de la démonstration;&lt;br /&gt;
* Rédiger le rapport;&lt;br /&gt;
* Préparer la soutenance.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PA :  PRC :&lt;br /&gt;
&lt;br /&gt;
== Rendus ==&lt;br /&gt;
&lt;br /&gt;
* Rapport intermédiaire de  projet : [[Fichier:Rapport_projet_intermediaire_GERIER_LY.pdf‎]]&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14905</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14905"/>
				<updated>2014-12-07T20:30:43Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=2.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
[[Fichier:com_test.png|upright=3|vignette|center]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:com_réelle.png|upright=3|vignette|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative (PA)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels portant sur HTML, CSS et JavaScript afin de mieux se familiariser avec ces langages. Cette étude préalable permettra une meilleure avancée dans le projet par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs (PRC)'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' PRC : Finaliser les tests avec l'interrupteur et commencer la communication RF. PA : réaliser des tutoriels sur PHP, MYSQL et XML.&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
Premiers tests pour la commmunication RF et la communication série, sans succès actuellement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser une communication RF et une communication série.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14850</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14850"/>
				<updated>2014-12-02T11:34:01Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
schéma l’application devra avoir un accès à internet pour garder à jour la BDD.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels afin de mieux se familiariser avec Php et MySQL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finaliser les tests avec l'interrupteur et commencer la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:'''&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14849</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14849"/>
				<updated>2014-12-02T11:32:51Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
schéma l’application devra avoir un accès à internet pour garder à jour la BDD.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau de capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels afin de mieux se familiariser avec Php et MySQL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Finaliser les tests avec l'interrupteur et commencer la communication RF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Tests avec l'interrupteur fonctionnels: registres P2IE (autorisation d'interruption) et P2IES (front descendant) initialisés, la LED réagit suivant l'état de l'interrupteur. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;gt; le fil soudé sur les cartes est en P2.3.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Les LEDs de toutes les cartes CC430F5137 ne fonctionnent pas correctement: pour certaines, seule la couleur rouge fonctionne [cartes 121, 335, 433 et 439]. Les LEDs des autres cartes [145 et 251] fonctionnent correctement: les tests de communication RF se feront alors sur ces cartes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:'''&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14848</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14848"/>
				<updated>2014-12-02T11:24:05Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
schéma l’application devra avoir un accès à internet pour garder à jour la BDD.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes concentrés sur la partie réseau ede capteurs cette semaine.&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 10===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Réalisation de tutoriels afin de mieux se familiariser avec Php et MySQL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation des soudures sur la carte CC430F5137 afin de pouvoir ajouter un interrupteur simulant le capteur des places de parking. Interrupteur mis en place, avec début de tests. Problèmes de registres non-initialisés correctement... à voir la semaine prochaine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser les tests avec l'interrupteur et commencer la communication RF.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 11===&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14816</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14816"/>
				<updated>2014-11-26T10:58:47Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
schéma l’application devra avoir un accès à internet pour garder à jour la BDD.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 9===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Réalisation du branchement entre le MSP et une carte CC430F5137: le branchement a par ailleurs été laborieux, de par une mauvaise compréhension de l'utilisation des cartes CC430F5137. &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; plusieurs programmes basiques ont été flashés sur le CC430F5137, de sorte à allumer les LEDs de différentes couleurs. &lt;br /&gt;
&lt;br /&gt;
L'ajout d'un interrupteur n'a pu être fait cette semaine, car il faut faire réaliser des soudures par M. Flamen pour pouvoir brancher une entrée...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Ajouter un interrupteur sur une carte CC430F5137 réaliser les tests avec cet interrupteur. Rechercher comment utiliser les composants RF de la carte et commencer à s'en servir.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14642</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14642"/>
				<updated>2014-11-18T08:36:14Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 8 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
schéma l’application devra avoir un accès à internet pour garder à jour la BDD.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14641</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14641"/>
				<updated>2014-11-18T08:34:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons: &lt;br /&gt;
* carte à disposition pour le projet;&lt;br /&gt;
* carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe_v2.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TopologieClusterTree.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
schéma l’application devra avoir un accès à internet pour garder à jour la BDD.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&lt;br /&gt;
&lt;br /&gt;
Recherches sur le module à utiliser afin de communiquer entre le concentrateur général et internet: pour le moment rien de concluant.&lt;br /&gt;
Recherches sur l’hébergeur capable d’héberger une BDD et un site web (gratuit).&lt;br /&gt;
Recherches sur quel type de BDD et de quel type de code pour application utiliser: quelques pistes.&lt;br /&gt;
Recherches sur comment rendre générique l’application: utiliser seulement une application web qui sera utilisable par n’importe quel smartphone relié à internet:  framework bootstrap ou EJB Ano.&lt;br /&gt;
&lt;br /&gt;
Pour le moment, easyPHP a été téléchargé. Avec ce logiciel, il est possible d'utiliser Apache. Le code pourra se faire en PHP et la BDD peut être réalisée sous MySQL. La prise en main a été faite et dans la semaine, la BDD sera créée sous peu et le développement du site commencera aussi sous peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&lt;br /&gt;
&lt;br /&gt;
Appréhension du LaunchPad: compilation de fichiers test et deploiement sur le LaunchPad.&lt;br /&gt;
&amp;gt; par exemple, ne faire clignoter qu’une des deux LEDs ou allumer la LED verte et l’éteindre lors de l’appui sur RESET.&lt;br /&gt;
La compilation et le déploiement sont réalisés sur le MSP430G2553.&lt;br /&gt;
&lt;br /&gt;
Recherche sur les branchements à réaliser entre le LaunchPad et les cartes CC430.&lt;br /&gt;
&amp;gt; en effet, le LaunchPad va servir de programmateur dans notre projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Recherches sur les BDD afin de réaliser notre BDD. Création de vues basiques en PHP pour accéder à la BDD de manière graphique. Recherches sur le CC430F5137: compiler sur le MSP du CC430F5137 pour allumer une LED sur cette carte. Ajouter un interrupteur pour agir sur cette LED, si le temps le permet.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:TopologieClusterTree.png&amp;diff=14640</id>
		<title>Fichier:TopologieClusterTree.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:TopologieClusterTree.png&amp;diff=14640"/>
				<updated>2014-11-18T08:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : a téléversé une nouvelle version de « Fichier:TopologieClusterTree.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:TopologieClusterTree.png&amp;diff=14639</id>
		<title>Fichier:TopologieClusterTree.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:TopologieClusterTree.png&amp;diff=14639"/>
				<updated>2014-11-18T08:30:42Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchemaPrincipe_v2.png&amp;diff=14638</id>
		<title>Fichier:SchemaPrincipe v2.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchemaPrincipe_v2.png&amp;diff=14638"/>
				<updated>2014-11-18T08:28:01Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : a téléversé une nouvelle version de « Fichier:SchemaPrincipe v2.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchemaPrincipe_v2.png&amp;diff=14637</id>
		<title>Fichier:SchemaPrincipe v2.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchemaPrincipe_v2.png&amp;diff=14637"/>
				<updated>2014-11-18T08:19:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14571</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14571"/>
				<updated>2014-11-12T16:56:59Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 7 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
&lt;br /&gt;
Le choix de la carte CC430 a été fait pour plusieurs raisons : &lt;br /&gt;
* Carte à disposition pour le projet;&lt;br /&gt;
* Carte comprenant un micorcontrôleur (MSP430F5137) et un module RF (CC1101) permettant de faire de la transmission et de la réception de données à la fréquence de 868MHz;&lt;br /&gt;
* Une première phase de tests peut être effectuée au niveau de la performance du matériel; dans un second temps, le matériel pourra être adapté en fonction de la mémoire/consommation d’énergie, etc.&lt;br /&gt;
&amp;lt;u&amp;gt;Rermarque&amp;lt;/u&amp;gt;: Pour le projet, nous n’avons pas besoin d’un grand débit donc on peut descendre dans les fréquences et nous devons également faire de la transmision/réception dans un milieu perturbé (plus la fréquence est basse, plus la portée est importante et peut augmenter la robustesse de la communication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons repensé le schéma général répondant à la problématique afin qu’il soit le plus générique possible:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Nous avons également choisi une topologie ''Cluster-Tree''.&lt;br /&gt;
Après quelques recherches et informations données par monsieur Boé, nous nous sommes rendu compte que la topologie multi-sauts n’était pas la meilleure des solutions pour des raisons de consommation d’énergie. En effet, avec cette topologie, certains modules ont beaucoup de transmission/réception à faire, ce qui augmente donc la consommation de courant et diminue ainsi l’autonomie. La topologie ''Cluster-Tree'' est moins consommatrice de courant. En effet, chaque module de transmission/réception devra transmettre ses informations à un concentrateur assez proche qui transmettra au concentrateur général. Ces derniers seront connectés à des sources d’énergie comme des lampadaires, par exemple. Seuls les modules de capteurs seront un problème en termes de consommation d’énergie.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Cette topologie se présente sous cette forme:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;En choisissant la carte CC430, deux choix s’offraient à nous:&lt;br /&gt;
* utilisation d’un OS sur le microcontrôleur MSP430;&lt;br /&gt;
* pas d’utilisation d’OS.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plusieurs raisons nous ont fait choisir de ne pas utiliser un OS sur le microcontrôleur:&lt;br /&gt;
* Bien que les protocoles de communication déjà écrits sur un OS nous auraient permis de gagner du temps, l’utilisation d’un OS peut augmenter la consommation de courant. Or, nous souhaitons avoir une consommation la plus faible possible pour que le matériel puisse durer plus longtemps et éviter ainsi de la maintenance.&lt;br /&gt;
* Sans utilisation d’OS, le choix des composants sera plus large et plus adapté. En effet, le choix d’un OS nous limite sur le choix des microcontrôleurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie applicative'''&amp;lt;br&amp;gt;&lt;br /&gt;
Réflexions sur la partie application (BDD + application Web/Mobile).&lt;br /&gt;
Dans un premier temps, des tests pourront être faits de la manière suivante: (en cours) &amp;lt;br&amp;gt;&lt;br /&gt;
Schéma illustrant la phase de tests dans un premier temps (concentrateur général relié à un PC faisant office de serveur web + BDD)&lt;br /&gt;
&lt;br /&gt;
Dans un second, temps, nous ferons des tests en condition réelle:&amp;lt;br&amp;gt;&lt;br /&gt;
schéma l’application devra avoir un accès à internet pour garder à jour la BDD.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Partie réseau de capteurs'''&amp;lt;br&amp;gt;&lt;br /&gt;
Première prise en main du MSP430 LaunchPad.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante :''' Réaliser la BDD et chercher informations sur la création d'une application sur serveur web. Approfondir les tests sur la carte CC430.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14450</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14450"/>
				<updated>2014-11-04T20:37:24Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Description du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, il est de plus en plus stressant de se rendre à son lieu de travail ou dans des grandes surfaces. Les embouteillages, les accidents sont des facteurs de stress pour les automobilistes. De plus, lors de l'arrivée de ces derniers dans les parkings, ils perdent de précieuses minutes à chercher des places pour se garer. Ce qui peut augmenter le stress, la pollution et l’énervement. C'est dans ce contexte que nous proposons une solution aux automobilistes afin qu'ils puissent se garer rapidement dans de bonnes conditions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectifs===&lt;br /&gt;
L'objectif du projet consiste à réaliser un parking intelligent. Une application ainsi sera créée pour qu'un utilisateur puisse consulter des informations sur les parkings répertoriés comme sa taille où le nombre de places disponibles. Il pourra ainsi s'y rendre et se garer facilement (localisation des places disponibles).&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14436</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14436"/>
				<updated>2014-10-31T12:20:57Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Contexte du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, le stationnement peut s'avérer difficile et long. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
Ce projet propose une solution à ce problème: il s'agit de réaliser un parking intelligent qui permettrait aux automobilistes de trouver une place et de se garer de manière plus aisée. Cette solution consiste à la réalisation d'un réseau de capteurs, qui communiquerait vers une application web/mobile. Celle-ci permettrait ainsi aux utilisateurs d'être tenus au courant des places disponibles (nombre et localisation).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchemaPrincipe.png|upright=1.5|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchemaPrincipe.png&amp;diff=14435</id>
		<title>Fichier:SchemaPrincipe.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchemaPrincipe.png&amp;diff=14435"/>
				<updated>2014-10-31T12:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : Schéma principe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schéma principe&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14434</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14434"/>
				<updated>2014-10-31T11:23:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Contexte du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, le stationnement peut s'avérer difficile et long. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
Ce projet propose une solution à ce problème: il s'agit de réaliser un parking intelligent qui permettrait aux automobilistes de trouver une place et de se garer de manière plus aisée. Cette solution consiste à la réalisation d'un réseau de capteurs, qui communiquerait vers une application web/mobile. Celle-ci permettrait ainsi aux utilisateurs d'être tenus au courant des places disponibles (nombre et localisation).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
&lt;br /&gt;
Recherches sur les capteurs à utiliser. Établissement d’un tableau récapitulatif qui prend en compte les avantages et inconvénients de chaque capteur.&lt;br /&gt;
&lt;br /&gt;
Définition d’un schéma répondant à la problématique. Le schéma est générique (quelque soit le capteur utilisé ou le module de communication sans fil, le résultat sera le même).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rendre compte de nos avancements à nos tuteurs et discuter des questions qui nous sont venues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec M. BOÉ pour faire part de l’avancement du projet et pour avoir des informations complémentaires, à savoir: &lt;br /&gt;
* le type de capteur à utiliser: pour le prototype qui sera réalisé, on n’utilisera pas nécessairement le capteur le plus adapté au problème, cependant une étude sur les capteurs devrait être réalisée;&lt;br /&gt;
* la possibilité de fermer un parking: la fermeture des parkings n’est pas envisageable, car toutes sortes de parkings est à prendre en considération, ce qui rendrait alors difficile, voire impossible de réaliser un système basé sur des parkings fermés;&lt;br /&gt;
* la réflexion sur des équipements intégrables à une voiture: cette solution poserait problème que ce soit au niveau technologique ou logistique (il faudrait alors que tous les automobilistes soient équipés pour cela fonctionne correctement).&lt;br /&gt;
&lt;br /&gt;
Réflexion sur l’agencement de l’application web/mobile. &lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Rechercher la topologie à utiliser pour le réseau de communication et commencer les recherches de composants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
&lt;br /&gt;
Réflexion sur le type de communication à adopter. Il existe trois types de topologie: multi-hop, par relais ou directement par liaison directe.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc choisi de partir sur la communication multi-hop. En effet, cette communication nous permet de réduire au plus le nombre d'éléments dans la chaîne de communcation (pas de relais) et d'assurer une meilleure robustesse du système, car les données peuvent suivre différents chemins, et à une portée plus courte que la liaison directe.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons décidé que la communication se ferait en 868 MHz; cette fréquence permettant une meilleure portée et robustesse que 2,4 GHz, répondant ainsi mieux à notre problème. Celle-ci devra respecter la norme IEEE 802.15.4.&lt;br /&gt;
&lt;br /&gt;
Le choix des composants est un point assez difficile car en effet, il y a plusieurs éléments qui nous freinent dans notre réflexion: le nombre d’envois d’informations dans un temps imparti, la puissance du microcontrôleur pour gérer les envois, la contrainte météorologique, etc.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le choix des composants, nous avons pensé au CC1101 pour la partie RF. Il nous a alors été indiqué l'existence du panStamp AVR, qui combine un CC1101 avec un ATMega328p. L'utilisation des panStamps pourrait alors servir pour les modules liés aux capteurs, de même que pour le module de réception lié au concentrateur.&lt;br /&gt;
&lt;br /&gt;
Cependant, après des échanges avec M. BOÉ, il semblerait que l'utilisation d'un panStamp AVR ne serait pas adapté à notre projet et apporterait des complications alors que d'autres solutions existent et pourraient être plus pertinentes.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir la technologie à utiliser en tenant compte des remarques reçues. Commencer en parallèle le côté applicatif et la base de données.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=14433</id>
		<title>Projets IMA5 2014/2015</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=14433"/>
				<updated>2014-10-31T10:47:12Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en allant modifier le format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Projet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Elèves&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Encadrant Ecole&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapport décembre&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[P1 Modélisation et commande de l'auto-ignition d'un moteur HCCI]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moulé Alexandre / Taché Clément &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; Anne-Lise Gehin / Jean-Yves Dieulot &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P5 Filtrage des indicateurs numériques de diagnostic]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; ZIOU Ismaïl / HAMZAOUI Oussama &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Belkacem Ould Bouamama &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[P6 Gestion des flux thermiques du bâtiment Polytech]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Florian Royer / Zohour Assaieb &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; Belkacem Ould Bouamama &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P7 Utilisation d'un Robot Nao pour les enfants autistes]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Rodriguez Loïc/Ismaïl Tahry&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; GAPAS/Laurent Grisoni &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P8 Pilulier]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre Mercier / Emile Pinet&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Thomas VANTROYS / Alexandre BOE &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P9 Agenda pour personnes non lectrices]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Cédric DESPREZ &amp;amp; Soufiane HADDAOUI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; GAPAS/Laurent Grisoni &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P11 Détecteur d'obstacles pour fauteuils électriques]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Geoffrey ROSE / Marjorie TIXIER &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; GAPAS / Blaise Conrard &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P12 Automatiser à l'aide d'une interface LabView la procédure de mesure de conductivité électrique d'un alternateur à griffes]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Hugo FONDU &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Abdelkader Benabou &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P13 Construction d'un support motorisé pour la réalisation des essais de décharges électrostatique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; JEBBARI Zineb / BEKRAOUI Oumaima &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Nathalie Rolland &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P21 balise Bluetooth Low Energy]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Kévin CHALONO / Armagan YAMNAZ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Thomas VANTROYS &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P22 Google Glass en logistique ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Jérémy Gondry / Vincent Meunier &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Laurent Grisoni &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P24 Robot de surveillance domestique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Sébastien DELTOMBE &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Xavier Redon &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P25 SmartMeter]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Thomas Ederlé / Sylvain Fossaert&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Guillaume Renault / Xavier Redon / Alexandre Boé &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P27 Controle Direct de Puissance d'un Convertisseur Matriciel ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Quentin Pesqueux / Nicolas Alexandre &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Philippe Delarue &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P28 Modélisation d'un robot chirurgical déformable pour la simulation et le contrôle]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Charlotte BRICOUT / Nathan MARTIN &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Jérémie DEQUIDT&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P33 Ligthing contactless / « wireless]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Benjamin Lafit &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre Boé &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P37 Creation d'un composant d'audit des accès cache mémoire sur un microprocesseur LEON3 simulé en FPGA ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Jérôme Vaessen &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Julien Cartigny / Pierrick Buret &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P44 Création d'un systeme domotique sans fil ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Benoit MALIAR / Thomas MAURICE&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Pierrick BURET / Thomas VANTROYS  &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P45 Aide à la navigation d'un véhicule autonome]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Pierre APPERCÉ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P46 Simulation Temps Réel d'un Environnement de Robots Autonomes Logisticiens]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Valentin VERGEZ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P57 CHRU Lille : Smart Picking]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Mathieu Bossennec / Florian Caron&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Gwénaëlle Maton / Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P59 Assistance globale pour aide au parking]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Mathieu GERIER / Céline LY &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre BOE / Thomas VANTROYS &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14256</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14256"/>
				<updated>2014-10-13T13:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Présentation du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Contexte du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, le stationnement peut s'avérer difficile et long. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
Ce projet propose une solution à ce problème: il s'agit de réaliser un parking intelligent qui permettrait aux automobilistes de trouver une place et de se garer de manière plus aisée. Cette solution consiste à la réalisation d'un réseau de capteurs, qui communiquerait vers une application web/mobile. Celle-ci permettrait ainsi aux utilisateurs d'être tenus au courant des places disponibles (nombre et localisation).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14255</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14255"/>
				<updated>2014-10-13T13:28:10Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Présentation du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
===Contexte du projet===&lt;br /&gt;
De nos jours, de par l'augmentation du nombre de véhicules circulant, le stationnement peut s'avérer difficile et long. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Description du projet===&lt;br /&gt;
Ce projet propose une solution à ce problème: il s'agit de réaliser un parking intelligent qui permettrait aux automobilistes de trouver une place et de se garer de manière plus aisée. Cette solution consiste à la réalisation d'un réseau de capteurs, qui communiquerait vers une application web/mobile. Celle-ci permettrait ainsi aux utilisateurs d'être tenus au courant des places disponibles (nombre et localisation).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=14116</id>
		<title>Projets IMA5 2014/2015</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=14116"/>
				<updated>2014-10-07T17:15:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en allant modifier le format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Projet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Elèves&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Encadrant Ecole&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapport décembre&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P5 Filtrage des indicateurs numériques de diagnostic]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; ZIOU Ismaïl / HAMZAOUI Oussama &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Belkacem Ould Bouamama &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[P6 Gestion des flux thermiques du bâtiment Polytech]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Florian Royer / Zohour Assaieb &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; Belkacem Ould Bouamama &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P8 Pilulier]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre Mercier / Emile Pinet&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Thomas VANTROYS / Alexandre BOE &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P9 Agenda pour personnes non lectrices]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Cédric DESPREZ &amp;amp; Soufiane HADDAOUI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; GAPAS/Laurent Grisoni &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P11 Détecteur d'obstacles pour fauteuils électriques]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Geoffrey ROSE / Marjorie TIXIER &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; GAPAS / Blaise Conrard &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P12 Automatiser à l'aide d'une interface LabView la procédure de mesure de conductivité électrique d'un alternateur à griffes]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Hugo FONDU &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Abdelkader Benabou &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P13 Construction d'un support motorisé pour la réalisation des essais de décharges électrostatique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; JEBBARI Zineb / BEKRAOUI Oumaima &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Nathalie Rolland &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P21 balise Bluetooth Low Energy]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Kévin CHALONO / Armagan YAMNAZ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Thomas VANTROYS &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P22 Google Glass en logistique ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Jérémy Gondry / Vincent Meunier &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Laurent Grisoni &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P24 Robot de surveillance domestique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Sébastien DELTOMBE &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Xavier Redon &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P28 Modélisation d'un robot chirurgical déformable pour la simulation et le contrôle]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Charlotte BRICOUT / Nathan MARTIN &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Jérémie DEQUIDT&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P33 Ligthing contactless / « wireless]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Benjamin Lafit &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre Boé &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P44 Création d'un systeme domotique sans fil ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Benoit MALIAR / Thomas MAURICE&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Pierrick BURET / Thomas VANTROYS  &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P45 Aide à la navigation d'un véhicule autonome]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Pierre APPERCÉ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P46 Simulation Temps Réel d'un Environnement de Robots Autonomes Logisticiens]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Valentin VERGEZ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P59 Assistance globale pour aide au parking]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Mathieu GERIER / Céline LY &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre BOE / Thomas VANTROYS &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=14037</id>
		<title>Projets IMA5 2014/2015</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=14037"/>
				<updated>2014-09-30T13:02:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en allant modifier le format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Projet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Elèves&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Encadrant Ecole&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapport décembre&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P8 Pilulier]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre Mercier / Emile Pinet&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Thomas VANTROYS / Alexandre BOE &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P9 Agenda pour personnes non lectrices]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Cédric DESPREZ &amp;amp; Soufiane HADDAOUI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; GAPAS/Laurent Grisoni &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P11 Détecteur d'obstacles pour fauteuils électriques]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Geoffrey ROSE / Marjorie TIXIER &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; GAPAS / Blaise Conrard &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P21 balise Bluetooth Low Energy]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Kévin CHALONO / Armagan YAMNAZ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Thomas VANTROYS &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P22 Google Glass en logistique ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Jérémy Gondry / Vincent Meunier &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Laurent Grisoni &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P24 Robot de surveillance domestique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Sébastien DELTOMBE &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Xavier Redon &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P28 Modélisation d'un robot chirurgical déformable pour la simulation et le contrôle]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Charlotte BRICOUT / Nathan MARTIN &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Jérémie DEQUIDT&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P44 Création d'un systeme domotique sans fil ]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Benoit MALIAR / Thomas MAURICE&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Pierrick BURET / Thomas VANTROYS  &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P45 Aide à la navigation d'un véhicule autonome]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Pierre APPERCÉ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P46 Simulation Temps Réel d'un Environnement de Robots Autonomes Logisticiens]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Valentin VERGEZ&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P59 Assistance globale pour aide au parking]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Mathieu GERIER / Céline LY &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre BOE / Thomas VANTROYS &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14036</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=14036"/>
				<updated>2014-09-30T13:00:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
&lt;br /&gt;
Suite des recherches sur les solutions de ''Smart Parking''. Réflexion sur les solutions techniques (type de capteurs, nombre de capteurs).&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Définir une solution technique (avec schéma) qui pourrait répondre à notre problème.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=13944</id>
		<title>P59 Assistance globale pour aide au parking</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=P59_Assistance_globale_pour_aide_au_parking&amp;diff=13944"/>
				<updated>2014-09-25T13:41:01Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : Page créée avec « ==Présentation du projet==   &amp;lt;br&amp;gt;  ==Cahier des charges==   &amp;lt;br&amp;gt;  ==Matériel nécessaire==   &amp;lt;br&amp;gt;  ==Étapes importantes (prévisionnel)==  # Étude des solutions technique... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Présentation du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Matériel nécessaire==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Étapes importantes (prévisionnel)==&lt;br /&gt;
&lt;br /&gt;
# Étude des solutions techniques possibles.&lt;br /&gt;
# Réalisation du réseau de capteurs, avec récupération des données.&lt;br /&gt;
# Étude des services à implémenter à l'application mobile.&lt;br /&gt;
# Réalisation de l'application mobile.&lt;br /&gt;
# Réalisation de la transmission de données.&lt;br /&gt;
(sachant que les étapes 1/2 et 3/4 peuvent être plus ou moins réalisées en parallèle)&lt;br /&gt;
&lt;br /&gt;
==Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
Prise de rendez-vous avec les encadrants pour une redéfinition plus précise du cahier des charges.&lt;br /&gt;
&lt;br /&gt;
Recherches sur les solutions de ''Smart Parking'' déjà existantes, afin de choisir celle qui nous serait la plus adaptée.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs de la semaine suivante:''' Continuer les recherches et potentiellement, commencer à choisir quelques solutions techniques réalisables.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=13943</id>
		<title>Projets IMA5 2014/2015</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2014/2015&amp;diff=13943"/>
				<updated>2014-09-25T13:29:07Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en allant modifier le format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Projet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Elèves&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Encadrant Ecole&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapport décembre&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P24 Robot de surveillance domestique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Sébastien DELTOMBE &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Xavier Redon &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[P59 Assistance globale pour aide au parking]]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Mathieu GERIER / Céline LY &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt; Alexandre BOE / Thomas VANTROYS &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=11495</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=11495"/>
				<updated>2014-04-13T12:02:34Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Améliorations possibles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==  &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Montage Naos.JPG|vignette|gauche|upright=1.8|Schéma général]]&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
# Deux NAO;&lt;br /&gt;
# Un routeur;&lt;br /&gt;
# Un PC fonctionnant sous Linux.&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;br /&gt;
&lt;br /&gt;
Au cours de ce projet, nous avons pu dans un premier temps nous familiariser avec l'interface du NAO. Nous nous sommes rapidement orientés vers la programmation C++ des robots afin de comprendre leur architecture et leurs différentes fonctions.  Au cours des premières semaines, la mission principale était donc d'apprendre à utiliser un environnement de cross-compilation: ''Qibuild''.&lt;br /&gt;
Nous avons donc appris à utiliser des chaînes de compilation (''toolchains'') permettant de créer des exécutables en local afin d'utiliser le NAO à partir de notre PC. Le but du projet résidant dans un programme C++ intégré au NAO, nous nous sommes rapidement intéressés à la cross-compilation. La cross-compilation permet de créer des exécutables compréhensibles par le NAO. Cette compilation permet de compiler le projet ciblé dans un langage que le NAO pourra ensuite exécuter.&lt;br /&gt;
&lt;br /&gt;
Après avoir étudié les exemples fournis par Aldebaran, nous avons pu contrôler le NAO et récupérer certaines informations grâce à des ''NAO Keys'' (arguments de fonctions permettant de récupérer la valeur d'un certain capteur). Nous avons alors modifié ces exemples pour récupérer des données intéressantes liées au NAO (inclinaison de la tête, position de sa centrale inertielle...) et qui permettront plus tard la synchronisation des deux NAO.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite tenté d'utiliser les fonctions de reconnaissance audio du bruit et de la parole. Cependant, la reconnaissance du bruit n'est pas utilisable lorsque le NAO ou qu'un autre NAO est en mouvement à proximité car le seuil maximum de détection est atteint trop rapidement. Nous nous sommes donc plus intéressés à la reconnaissance de parole afin de se rendre compte qu'elle est assez fiable pour synchroniser les NAO. En effet, lorsque le NAO 1 parle, le NAO 2 reconnaît avec un indice de confiance de 90% ce qu'il a dit. Nous allons alors baser notre synchronisation sur cette fonction.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, nous avons décidé de créer un réseau simple afin de faire communiquer les NAO entre eux. De cette façon, nous allons pouvoir informer l'état de NAO 2 à NAO 1 et vice versa. Lorsque le NAO 1 sera prêt, on attendra que le NAO 2 soit prêt pour commencer à soulever l'objet. En accord avec l'autre groupe de projet, un NAO sera prêt lorsque sa tête sera baissée. Nous savons actuellement récupérer la position de la tête du NAO, ce qui nous facilite alors la tâche.&lt;br /&gt;
&lt;br /&gt;
La partie la plus importante restante est donc la communication réseau des NAO avec notre PC qui fera office de serveur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 6====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:nao_server_client_old_wiki.png|vignette|upright=1.75|Environnement Serveur-Clients]]Lors de cette semaine, nous avons tout d'abord cherché à réaliser un programme permettant le système client/serveur entre NAO et PC. Le système client/serveur utilise le protocole TCP, car il est important que les NAO reçoivent les bonnes données au risque de ne plus être synchronisés. Après avoir réalisé ceci, nous avons écrit les algorithmes de synchronisation pour les NAO (clients) et pour le PC (serveur). Nous avons ensuite procédé à l'intégration du système client/serveur dans les algorithmes de synchronisation précédemment écrits. Les tests ont montré qu'il y avait un problème d'algorithme, car le réseau client/serveur fonctionnait correctement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; comme le serveur lit continuellement les données et que les NAO envoient continuellement leur état, lorsqu’un NAO est prêt, lui seul reçoit la &amp;quot;bonne&amp;quot; variable de retour, alors que l’autre reçoit la variable de retour qui correspond à son état.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Nous avons donc essayé de résoudre ce problème avec un système de sémaphores (quand le premier NAO envoie une donnée d'état, il attend que le second NAO reçoive la donnée retour du serveur avant d'autoriser la réception de son côté):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; le serveur renvoie une erreur, car il ne renvoie pas la réponse au bon client...&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 7:''' résoudre le problème d'algorithme afin de permettre aux deux NAO d'être synchronisés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 7====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Strace_wiki_close_socket.png|vignette|gauche|upright=1.6|Fermeture des sockets]]Nous avons modifié le programme afin de synchroniser correctement les deux NAO. Pour pallier le problème précédent, il a fallu réaliser un simple test afin d'éviter que la valeur envoyée par le serveur ne revienne à l'étape précédente... Nous avons aussi rajouté la récupération des adresses IP des NAO afin de pouvoir les différencier et de réaliser les bons tests pour la synchronisation.  Cette fois-ci les tests ont montré que les deux NAO étaient synchronisés. On peut tout de même noter qu'actuellement, les NAO ne sont pas parfaitement synchronisés: il y a un décalage d'une durée égale à la durée d'émission et de réception entre le serveur et le client (en effet, les données sont envoyées à un NAO, puis à l'autre, ce qui explique ce décalage).&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite de nouveau modifié le programme afin d'arrêter le client et le serveur lorsque la synchronisation est finie. Lors d'un débuggage, nous avons par ailleurs remarqué que le système client/serveur fonctionnait, mais de manière peu correcte niveau programmation... le client ouvre actuellement des sockets en continu, ce qui n'est évidemment pas ce qu'il faut faire... Nous avons donc décidé de modifier ce système afin d'avoir un programme plus propre...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 8:''' modifier le système client/serveur pour corriger le problème des sockets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 8====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:nao_synchro_strace_close.png|vignette|droite|upright=1.6|Utilisation des sockets]]Nous avons dans un premier temps résolu le problème de la création des sockets de communication. Actuellement, nous ne créons qu'un seul socket par client NAO et chaque NAO n'utilise que son socket respectif pour communiquer avec le serveur. Cela nous permet alors d'avoir un programme plus fiable et d'éviter de potentielles erreurs de réseau durant la création et les tentatives de communication de nouveaux sockets avec le serveur.&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons réfléchi à un algorithme permettant de quitter proprement les programmes des clients et du serveur lorsque la synchronisation des NAO était terminée. L'implémentation a été effectuée et cela fonctionne.&lt;br /&gt;
&lt;br /&gt;
Au niveau de la synchronisation, elle s'effectue avec quelques millisecondes de décalage (temps de communication entre un NAO et le PC), un temps totalement négligeable pour le bon déroulement du programme Choregraphe des NAO.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 9 : ''' Vérifier avec le second binôme du projet NAO que l'intégralité du projet fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 9====&lt;br /&gt;
&lt;br /&gt;
Lors des tests avec le second binôme du projet NAO, nous nous sommes rendu compte qu'il y avait encore quelques erreurs d'algorithmes, au niveau de certains cas initiaux ou peu probables auxquels nous n'avions pas pensé auparavant. Nous avons alors amélioré l'algorithme du programme client afin de pallier tous les potentiels cas défaillants: état &amp;quot;prêt&amp;quot; des NAO au démarrage, ou encore les deux NAO sont prêts exactement en même temps. &lt;br /&gt;
Enfin, après avoir réglé ces problèmes, nous avons filmé la synchronisation des NAO avec le [http://projets-imasc.plil.net/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_I deuxième groupe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bilan du projet===&lt;br /&gt;
&lt;br /&gt;
Les premières semaines de projet, nous avons commencé par appréhender les logiciels, les notions et les spécificités liés au NAO. Nous avons alors principalement lu de la documentation et exécuté les exemples afin de comprendre au mieux son fonctionnement avant de le programmer.&lt;br /&gt;
&lt;br /&gt;
Après cette première approche du NAO, nous avons réfléchi à ce qu’il était alors concrètement possible de faire pour synchroniser les deux NAO. Nous en avons discuté avec le [http://projets-imasc.plil.net/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_I second binôme du projet NAO], et nous avons décidé de les synchroniser par un événement de parole. Visuellement parlant, nous avons décidé que lorsqu’un NAO était “prêt” (et attendait alors le second NAO), il devait baisser la tête.&lt;br /&gt;
&lt;br /&gt;
Dans cette seconde partie du projet, après avoir apporté des précisions sur le cahier des charges, nous avons donc commencé à programmer le système clients/serveur. Pour que ce système fonctionne, il fallait exécuter le serveur sur un ordinateur et les clients sur les NAO. Ceci nécessitait ainsi de réaliser une ''cross-compilation'', et de se connecter via ''ssh'' aux NAO. Après la réalisation de ce système de clients/serveur, nous avons écrit l’algorithme de synchronisation. De par la communication par TCP, les NAO ne pouvaient parfaitement être synchronisés, car l’un des deux NAO recevait nécessairement l’information après l’autre. Cependant, la synchronisation réalisée était amplement suffisante pour le reste du programme de comportement sous Choregraphe.&lt;br /&gt;
&lt;br /&gt;
Au cours de ces 10 semaines de projet, nous sommes alors parvenus à réaliser un système de clients/serveur en C++ (utilisant les librairies de C pour la partie réseau), qui permet de réaliser une synchronisation de deux NAO. Ceci correspond au cahier des charges que l’on s’était fixé au début du projet.&lt;br /&gt;
&lt;br /&gt;
===Améliorations possibles===&lt;br /&gt;
&lt;br /&gt;
Notre système clients/serveur ne peut actuellement gérer que deux NAO. Pour améliorer cela, il aurait été bien de:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; restructurer notre programme et utiliser un tableau (ou une liste) de structure de données: on pourrait par exemple créer une structure de données pour les NAO avec leur adresse IP et leur état;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; utiliser des fonctions de sondage de la socket (''poll()'' ou ''select()'') pour récupérer toutes les connexions potentielles de clients;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;''ou''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; utiliser des processus légers (''threads'') pour le système clients/serveur, ce qui aurait amélioré l’efficacité du système et nous aurait permis de gérer facilement tous les clients potentiels.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=11476</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=11476"/>
				<updated>2014-04-13T10:05:02Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Projet de Coopération Nao N2N: Partie Communication/Réseau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==  &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Montage Naos.JPG|vignette|gauche|upright=1.8|Schéma général]]&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
# Deux NAO;&lt;br /&gt;
# Un routeur;&lt;br /&gt;
# Un PC fonctionnant sous Linux.&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;br /&gt;
&lt;br /&gt;
Au cours de ce projet, nous avons pu dans un premier temps nous familiariser avec l'interface du NAO. Nous nous sommes rapidement orientés vers la programmation C++ des robots afin de comprendre leur architecture et leurs différentes fonctions.  Au cours des premières semaines, la mission principale était donc d'apprendre à utiliser un environnement de cross-compilation: ''Qibuild''.&lt;br /&gt;
Nous avons donc appris à utiliser des chaînes de compilation (''toolchains'') permettant de créer des exécutables en local afin d'utiliser le NAO à partir de notre PC. Le but du projet résidant dans un programme C++ intégré au NAO, nous nous sommes rapidement intéressés à la cross-compilation. La cross-compilation permet de créer des exécutables compréhensibles par le NAO. Cette compilation permet de compiler le projet ciblé dans un langage que le NAO pourra ensuite exécuter.&lt;br /&gt;
&lt;br /&gt;
Après avoir étudié les exemples fournis par Aldebaran, nous avons pu contrôler le NAO et récupérer certaines informations grâce à des ''NAO Keys'' (arguments de fonctions permettant de récupérer la valeur d'un certain capteur). Nous avons alors modifié ces exemples pour récupérer des données intéressantes liées au NAO (inclinaison de la tête, position de sa centrale inertielle...) et qui permettront plus tard la synchronisation des deux NAO.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite tenté d'utiliser les fonctions de reconnaissance audio du bruit et de la parole. Cependant, la reconnaissance du bruit n'est pas utilisable lorsque le NAO ou qu'un autre NAO est en mouvement à proximité car le seuil maximum de détection est atteint trop rapidement. Nous nous sommes donc plus intéressés à la reconnaissance de parole afin de se rendre compte qu'elle est assez fiable pour synchroniser les NAO. En effet, lorsque le NAO 1 parle, le NAO 2 reconnaît avec un indice de confiance de 90% ce qu'il a dit. Nous allons alors baser notre synchronisation sur cette fonction.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, nous avons décidé de créer un réseau simple afin de faire communiquer les NAO entre eux. De cette façon, nous allons pouvoir informer l'état de NAO 2 à NAO 1 et vice versa. Lorsque le NAO 1 sera prêt, on attendra que le NAO 2 soit prêt pour commencer à soulever l'objet. En accord avec l'autre groupe de projet, un NAO sera prêt lorsque sa tête sera baissée. Nous savons actuellement récupérer la position de la tête du NAO, ce qui nous facilite alors la tâche.&lt;br /&gt;
&lt;br /&gt;
La partie la plus importante restante est donc la communication réseau des NAO avec notre PC qui fera office de serveur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 6====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:nao_server_client_old_wiki.png|vignette|upright=1.75|Environnement Serveur-Clients]]Lors de cette semaine, nous avons tout d'abord cherché à réaliser un programme permettant le système client/serveur entre NAO et PC. Le système client/serveur utilise le protocole TCP, car il est important que les NAO reçoivent les bonnes données au risque de ne plus être synchronisés. Après avoir réalisé ceci, nous avons écrit les algorithmes de synchronisation pour les NAO (clients) et pour le PC (serveur). Nous avons ensuite procédé à l'intégration du système client/serveur dans les algorithmes de synchronisation précédemment écrits. Les tests ont montré qu'il y avait un problème d'algorithme, car le réseau client/serveur fonctionnait correctement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; comme le serveur lit continuellement les données et que les NAO envoient continuellement leur état, lorsqu’un NAO est prêt, lui seul reçoit la &amp;quot;bonne&amp;quot; variable de retour, alors que l’autre reçoit la variable de retour qui correspond à son état.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Nous avons donc essayé de résoudre ce problème avec un système de sémaphores (quand le premier NAO envoie une donnée d'état, il attend que le second NAO reçoive la donnée retour du serveur avant d'autoriser la réception de son côté):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; le serveur renvoie une erreur, car il ne renvoie pas la réponse au bon client...&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 7:''' résoudre le problème d'algorithme afin de permettre aux deux NAO d'être synchronisés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 7====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Strace_wiki_close_socket.png|vignette|gauche|upright=1.6|Fermeture des sockets]]Nous avons modifié le programme afin de synchroniser correctement les deux NAO. Pour pallier le problème précédent, il a fallu réaliser un simple test afin d'éviter que la valeur envoyée par le serveur ne revienne à l'étape précédente... Nous avons aussi rajouté la récupération des adresses IP des NAO afin de pouvoir les différencier et de réaliser les bons tests pour la synchronisation.  Cette fois-ci les tests ont montré que les deux NAO étaient synchronisés. On peut tout de même noter qu'actuellement, les NAO ne sont pas parfaitement synchronisés: il y a un décalage d'une durée égale à la durée d'émission et de réception entre le serveur et le client (en effet, les données sont envoyées à un NAO, puis à l'autre, ce qui explique ce décalage).&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite de nouveau modifié le programme afin d'arrêter le client et le serveur lorsque la synchronisation est finie. Lors d'un débuggage, nous avons par ailleurs remarqué que le système client/serveur fonctionnait, mais de manière peu correcte niveau programmation... le client ouvre actuellement des sockets en continu, ce qui n'est évidemment pas ce qu'il faut faire... Nous avons donc décidé de modifier ce système afin d'avoir un programme plus propre...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 8:''' modifier le système client/serveur pour corriger le problème des sockets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 8====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:nao_synchro_strace_close.png|vignette|droite|upright=1.6|Utilisation des sockets]]Nous avons dans un premier temps résolu le problème de la création des sockets de communication. Actuellement, nous ne créons qu'un seul socket par client NAO et chaque NAO n'utilise que son socket respectif pour communiquer avec le serveur. Cela nous permet alors d'avoir un programme plus fiable et d'éviter de potentielles erreurs de réseau durant la création et les tentatives de communication de nouveaux sockets avec le serveur.&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons réfléchi à un algorithme permettant de quitter proprement les programmes des clients et du serveur lorsque la synchronisation des NAO était terminée. L'implémentation a été effectuée et cela fonctionne.&lt;br /&gt;
&lt;br /&gt;
Au niveau de la synchronisation, elle s'effectue avec quelques millisecondes de décalage (temps de communication entre un NAO et le PC), un temps totalement négligeable pour le bon déroulement du programme Choregraphe des NAO.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 9 : ''' Vérifier avec le second binôme du projet NAO que l'intégralité du projet fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 9====&lt;br /&gt;
&lt;br /&gt;
Lors des tests avec le second binôme du projet NAO, nous nous sommes rendu compte qu'il y avait encore quelques erreurs d'algorithmes, au niveau de certains cas initiaux ou peu probables auxquels nous n'avions pas pensé auparavant. Nous avons alors amélioré l'algorithme du programme client afin de pallier tous les potentiels cas défaillants: état &amp;quot;prêt&amp;quot; des NAO au démarrage, ou encore les deux NAO sont prêts exactement en même temps. &lt;br /&gt;
Enfin, après avoir réglé ces problèmes, nous avons filmé la synchronisation des NAO avec le [http://projets-imasc.plil.net/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_I deuxième groupe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bilan du projet===&lt;br /&gt;
&lt;br /&gt;
Les premières semaines de projet, nous avons commencé par appréhender les logiciels, les notions et les spécificités liés au NAO. Nous avons alors principalement lu de la documentation et exécuté les exemples afin de comprendre au mieux son fonctionnement avant de le programmer.&lt;br /&gt;
&lt;br /&gt;
Après cette première approche du NAO, nous avons réfléchi à ce qu’il était alors concrètement possible de faire pour synchroniser les deux NAO. Nous en avons discuté avec le [http://projets-imasc.plil.net/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_I second binôme du projet NAO], et nous avons décidé de les synchroniser par un événement de parole. Visuellement parlant, nous avons décidé que lorsqu’un NAO était “prêt” (et attendait alors le second NAO), il devait baisser la tête.&lt;br /&gt;
&lt;br /&gt;
Dans cette seconde partie du projet, après avoir apporté des précisions sur le cahier des charges, nous avons donc commencé à programmer le système clients/serveur. Pour que ce système fonctionne, il fallait exécuter le serveur sur un ordinateur et les clients sur les NAO. Ceci nécessitait ainsi de réaliser une ''cross-compilation'', et de se connecter via ''ssh'' aux NAO. Après la réalisation de ce système de clients/serveur, nous avons écrit l’algorithme de synchronisation. De par la communication par TCP, les NAO ne pouvaient parfaitement être synchronisés, car l’un des deux NAO recevait nécessairement l’information après l’autre. Cependant, la synchronisation réalisée était amplement suffisante pour le reste du programme de comportement sous Choregraphe.&lt;br /&gt;
&lt;br /&gt;
Au cours de ces 10 semaines de projet, nous sommes alors parvenus à réaliser un système de clients/serveur en C++ (utilisant les librairies de C pour la partie réseau), qui permet de réaliser une synchronisation de deux NAO. Ceci correspond au cahier des charges que l’on s’était fixé au début du projet.&lt;br /&gt;
&lt;br /&gt;
===Améliorations possibles===&lt;br /&gt;
&lt;br /&gt;
Notre système clients/serveur ne peut actuellement gérer que deux NAO. Pour améliorer cela, il aurait été bien de:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; restructurer notre programme et utiliser un tableau (ou une liste) de structure de données: on pourrait par exemple créer une structure de données pour les NAO avec leur adresse IP et leur état;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; utiliser des processus légers (''threads'') pour le système clients/serveur, ce qui aurait amélioré l’efficacité du système et nous aurait permis de gérer facilement tous les clients potentiels.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=11469</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=11469"/>
				<updated>2014-04-13T09:51:25Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Projet de Coopération Nao N2N: Partie Communication/Réseau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==  &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Montage Naos.JPG|vignette|gauche|upright=1.8|Schéma général]]&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
# Deux NAO;&lt;br /&gt;
# Un routeur;&lt;br /&gt;
# Un PC fonctionnant sous Linux.&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;br /&gt;
&lt;br /&gt;
Au cours de ce projet, nous avons pu dans un premier temps nous familiariser avec l'interface du NAO. Nous nous sommes rapidement orientés vers la programmation C++ des robots afin de comprendre leur architecture et leurs différentes fonctions.  Au cours des premières semaines, la mission principale était donc d'apprendre à utiliser un environnement de cross-compilation: ''Qibuild''.&lt;br /&gt;
Nous avons donc appris à utiliser des chaînes de compilation (''toolchains'') permettant de créer des exécutables en local afin d'utiliser le NAO à partir de notre PC. Le but du projet résidant dans un programme C++ intégré au NAO, nous nous sommes rapidement intéressés à la cross-compilation. La cross-compilation permet de créer des exécutables compréhensibles par le NAO. Cette compilation permet de compiler le projet ciblé dans un langage que le NAO pourra ensuite exécuter.&lt;br /&gt;
&lt;br /&gt;
Après avoir étudié les exemples fournis par Aldebaran, nous avons pu contrôler le NAO et récupérer certaines informations grâce à des ''NAO Keys'' (arguments de fonctions permettant de récupérer la valeur d'un certain capteur). Nous avons alors modifié ces exemples pour récupérer des données intéressantes liées au NAO (inclinaison de la tête, position de sa centrale inertielle...) et qui permettront plus tard la synchronisation des deux NAO.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite tenté d'utiliser les fonctions de reconnaissance audio du bruit et de la parole. Cependant, la reconnaissance du bruit n'est pas utilisable lorsque le NAO ou qu'un autre NAO est en mouvement à proximité car le seuil maximum de détection est atteint trop rapidement. Nous nous sommes donc plus intéressés à la reconnaissance de parole afin de se rendre compte qu'elle est assez fiable pour synchroniser les NAO. En effet, lorsque le NAO 1 parle, le NAO 2 reconnaît avec un indice de confiance de 90% ce qu'il a dit. Nous allons alors baser notre synchronisation sur cette fonction.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, nous avons décidé de créer un réseau simple afin de faire communiquer les NAO entre eux. De cette façon, nous allons pouvoir informer l'état de NAO 2 à NAO 1 et vice versa. Lorsque le NAO 1 sera prêt, on attendra que le NAO 2 soit prêt pour commencer à soulever l'objet. En accord avec l'autre groupe de projet, un NAO sera prêt lorsque sa tête sera baissée. Nous savons actuellement récupérer la position de la tête du NAO, ce qui nous facilite alors la tâche.&lt;br /&gt;
&lt;br /&gt;
La partie la plus importante restante est donc la communication réseau des NAO avec notre PC qui fera office de serveur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 6====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:nao_server_client_old_wiki.png|vignette|upright=1.75|Environnement Serveur-Clients]]Lors de cette semaine, nous avons tout d'abord cherché à réaliser un programme permettant le système client/serveur entre NAO et PC. Le système client/serveur utilise le protocole TCP, car il est important que les NAO reçoivent les bonnes données au risque de ne plus être synchronisés. Après avoir réalisé ceci, nous avons écrit les algorithmes de synchronisation pour les NAO (clients) et pour le PC (serveur). Nous avons ensuite procédé à l'intégration du système client/serveur dans les algorithmes de synchronisation précédemment écrits. Les tests ont montré qu'il y avait un problème d'algorithme, car le réseau client/serveur fonctionnait correctement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; comme le serveur lit continuellement les données et que les NAO envoient continuellement leur état, lorsqu’un NAO est prêt, lui seul reçoit la &amp;quot;bonne&amp;quot; variable de retour, alors que l’autre reçoit la variable de retour qui correspond à son état.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Nous avons donc essayé de résoudre ce problème avec un système de sémaphores (quand le premier NAO envoie une donnée d'état, il attend que le second NAO reçoive la donnée retour du serveur avant d'autoriser la réception de son côté):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; le serveur renvoie une erreur, car il ne renvoie pas la réponse au bon client...&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 7:''' résoudre le problème d'algorithme afin de permettre aux deux NAO d'être synchronisés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 7====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Strace_wiki_close_socket.png|vignette|gauche|upright=1.6|Fermeture des sockets]]Nous avons modifié le programme afin de synchroniser correctement les deux NAO. Pour pallier le problème précédent, il a fallu réaliser un simple test afin d'éviter que la valeur envoyée par le serveur ne revienne à l'étape précédente... Nous avons aussi rajouté la récupération des adresses IP des NAO afin de pouvoir les différencier et de réaliser les bons tests pour la synchronisation.  Cette fois-ci les tests ont montré que les deux NAO étaient synchronisés. On peut tout de même noter qu'actuellement, les NAO ne sont pas parfaitement synchronisés: il y a un décalage d'une durée égale à la durée d'émission et de réception entre le serveur et le client (en effet, les données sont envoyées à un NAO, puis à l'autre, ce qui explique ce décalage).&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite de nouveau modifié le programme afin d'arrêter le client et le serveur lorsque la synchronisation est finie. Lors d'un débuggage, nous avons par ailleurs remarqué que le système client/serveur fonctionnait, mais de manière peu correcte niveau programmation... le client ouvre actuellement des sockets en continu, ce qui n'est évidemment pas ce qu'il faut faire... Nous avons donc décidé de modifier ce système afin d'avoir un programme plus propre...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 8:''' modifier le système client/serveur pour corriger le problème des sockets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 8====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:nao_synchro_strace_close.png|vignette|droite|upright=1.6|Utilisation des sockets]]Nous avons dans un premier temps résolu le problème de la création des sockets de communication. Actuellement, nous ne créons qu'un seul socket par client NAO et chaque NAO n'utilise que son socket respectif pour communiquer avec le serveur. Cela nous permet alors d'avoir un programme plus fiable et d'éviter de potentielles erreurs de réseau durant la création et les tentatives de communication de nouveaux sockets avec le serveur.&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons réfléchi à un algorithme permettant de quitter proprement les programmes des clients et du serveur lorsque la synchronisation des NAO était terminée. L'implémentation a été effectuée et cela fonctionne.&lt;br /&gt;
&lt;br /&gt;
Au niveau de la synchronisation, elle s'effectue avec quelques millisecondes de décalage (temps de communication entre un NAO et le PC), un temps totalement négligeable pour le bon déroulement du programme Choregraphe des NAO.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 9 : ''' Vérifier avec le second binôme du projet NAO que l'intégralité du projet fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 9====&lt;br /&gt;
&lt;br /&gt;
Lors des tests avec le second binôme du projet NAO, nous nous sommes rendu compte qu'il y avait encore quelques erreurs d'algorithmes, au niveau de certains cas initiaux ou peu probables auxquels nous n'avions pas pensé auparavant. Nous avons alors amélioré l'algorithme du programme client afin de pallier tous les potentiels cas défaillants: état &amp;quot;prêt&amp;quot; des NAO au démarrage, ou encore les deux NAO sont prêts exactement en même temps. &lt;br /&gt;
Enfin, après avoir réglé ces problèmes, nous avons filmé la synchronisation des NAO avec le [http://projets-imasc.plil.net/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_I deuxième groupe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bilan du projet===&lt;br /&gt;
&lt;br /&gt;
Les premières semaines de projet, nous avons commencé par appréhender les logiciels, les notions et les spécificités liés au NAO. Nous avons alors principalement lu de la documentation et exécuté les exemples afin de comprendre au mieux son fonctionnement avant de le programmer.&lt;br /&gt;
&lt;br /&gt;
Après cette première approche du NAO, nous avons réfléchi à ce qu’il était alors concrètement possible de faire pour synchroniser les deux NAO. Nous en avons discuté avec le [http://projets-imasc.plil.net/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_I second binôme du projet NAO], et nous avons décidé de les synchroniser par un événement de parole. Visuellement parlant, nous avons décidé que lorsqu’un NAO était “prêt” (et attendait alors le second NAO), il devait baisser la tête.&lt;br /&gt;
&lt;br /&gt;
Dans cette seconde partie du projet, après avoir apporté des précisions sur le cahier des charges, nous avons donc commencé à programmer le système clients/serveur. Pour que ce système fonctionne, il fallait exécuter le serveur sur un ordinateur et les clients sur les NAO. Ceci nécessitait ainsi de réaliser une cross-compilation, et de se connecter via ssh aux NAO. Après la réalisation de ce système de clients/serveur, nous avons écrit l’algorithme de synchronisation. De par la communication par TCP, les NAO ne pouvaient parfaitement être synchronisés, car l’un des deux NAO recevait nécessairement l’information après l’autre. Cependant, la synchronisation réalisée était amplement suffisante pour le reste du programme de comportement sous Choregraphe.&lt;br /&gt;
&lt;br /&gt;
Au cours de ces 10 semaines de projet, nous sommes alors parvenus à réaliser un système de clients/serveur en C++ (utilisant les librairies de C pour la partie réseau), qui permet de réaliser une synchronisation de deux NAO. Ceci correspond au cahier des charges que l’on s’était fixé au début du projet.&lt;br /&gt;
&lt;br /&gt;
===Améliorations possibles===&lt;br /&gt;
&lt;br /&gt;
Notre système clients/serveur ne peut actuellement gérer que deux NAO. Pour améliorer cela, il aurait été bien de:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; restructurer notre programme et utiliser un tableau (ou une liste) de structure de données: on pourrait par exemple créer une structure de données pour les NAO avec leur adresse IP et leur état;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; utiliser des processus légers (threads) pour le système clients/serveur, ce qui aurait amélioré l’efficacité du système et nous aurait permis de gérer facilement tous les clients potentiels.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10722</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10722"/>
				<updated>2014-03-30T19:38:10Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Projet de Coopération Nao N2N: Partie Communication/Réseau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
# Deux NAO;&lt;br /&gt;
# Un routeur;&lt;br /&gt;
# Un PC fonctionnant sous Linux.&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;br /&gt;
&lt;br /&gt;
Au cours de ce projet, nous avons pu dans un premier temps nous familiariser avec l'interface du NAO. Nous nous sommes rapidement orientés vers la programmation C++ des robots afin de comprendre leur architecture et leurs différentes fonctions.  Au cours des premières semaines, la mission principale était donc d'apprendre à utiliser un environnement de cross-compilation: ''Qibuild''.&lt;br /&gt;
Nous avons donc appris à utiliser des chaînes de compilation (''toolchains'') permettant de créer des exécutables en local afin d'utiliser le NAO à partir de notre PC. Le but du projet résidant dans un programme C++ intégré au NAO, nous nous sommes rapidement intéressés à la cross-compilation. La cross-compilation permet de créer des exécutables compréhensibles par le NAO. Cette compilation permet de compiler le projet ciblé dans un langage que le NAO pourra ensuite exécuter.&lt;br /&gt;
&lt;br /&gt;
Après avoir étudié les exemples fournis par Aldebaran, nous avons pu contrôler le NAO et récupérer certaines informations grâce à des ''NAO Keys'' (arguments de fonctions permettant de récupérer la valeur d'un certain capteur). Nous avons alors modifié ces exemples pour récupérer des données intéressantes liées au NAO (inclinaison de la tête, position de sa centrale inertielle...) et qui permettront plus tard la synchronisation des deux NAO.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite tenté d'utiliser les fonctions de reconnaissance audio du bruit et de la parole. Cependant, la reconnaissance du bruit n'est pas utilisable lorsque le NAO ou qu'un autre NAO est en mouvement à proximité car le seuil maximum de détection est atteint trop rapidement. Nous nous sommes donc plus intéressés à la reconnaissance de parole afin de se rendre compte qu'elle est assez fiable pour synchroniser les NAO. En effet, lorsque le NAO 1 parle, le NAO 2 reconnaît avec un indice de confiance de 90% ce qu'il a dit. Nous allons alors baser notre synchronisation sur cette fonction.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, nous avons décidé de créer un réseau simple afin de faire communiquer les NAO entre eux. De cette façon, nous allons pouvoir informer l'état de NAO 2 à NAO 1 et vice versa. Lorsque le NAO 1 sera prêt, on attendra que le NAO 2 soit prêt pour commencer à soulever l'objet. En accord avec l'autre groupe de projet, un NAO sera prêt lorsque sa tête sera baissée. Nous savons actuellement récupérer la position de la tête du NAO, ce qui nous facilite alors la tâche.&lt;br /&gt;
&lt;br /&gt;
La partie la plus importante restante est donc la communication réseau des NAO avec notre PC qui fera office de serveur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 6====&lt;br /&gt;
&lt;br /&gt;
Lors de cette semaine, nous avons tout d'abord cherché à réaliser un programme permettant le système client/serveur entre NAO et PC. Le système client/serveur utilise le protocole TCP, car il est important que les NAO reçoivent les bonnes données au risque de ne plus être synchronisés. Après avoir réalisé ceci, nous avons écrit les algorithmes de synchronisation pour les NAO (clients) et pour le PC (serveur). Nous avons ensuite procédé à l'intégration du système client/serveur dans les algorithmes de synchronisation précédemment écrits. Les tests ont montré qu'il y avait un problème d'algorithme, car le réseau client/serveur fonctionnait correctement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; comme le serveur lit continuellement les données et que les NAO envoient continuellement leur état, lorsqu’un NAO est prêt, lui seul reçoit la &amp;quot;bonne&amp;quot; variable de retour, alors que l’autre reçoit la variable de retour qui correspond à son état.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Nous avons donc essayé de résoudre ce problème avec un système de sémaphores (quand le premier NAO envoie une donnée d'état, il attend que le second NAO reçoive la donnée retour du serveur avant d'autoriser la réception de son côté):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; le serveur renvoie une erreur, car il ne renvoie pas la réponse au bon client...&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 7:''' résoudre le problème d'algorithme afin de permettre aux deux NAO d'être synchronisés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 7====&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié le programme afin de synchroniser correctement les deux NAO. Pour pallier le problème précédent, il a fallu réaliser un simple test afin d'éviter que la valeur envoyée par le serveur ne revienne à l'étape précédente... Nous avons aussi rajouté la récupération des adresses IP des NAO afin de pouvoir les différencier et de réaliser les bons tests pour la synchronisation.  Cette fois-ci les tests ont montré que les deux NAO étaient synchronisés. On peut tout de même noter qu'actuellement, les NAO ne sont pas parfaitement synchronisés: il y a un décalage d'une durée égale à la durée d'émission et de réception entre le serveur et le client (en effet, les données sont envoyées à un NAO, puis à l'autre, ce qui explique ce décalage).&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite de nouveau modifié le programme afin d'arrêter le client et le serveur lorsque la synchronisation est finie. Lors d'un débuggage, nous avons par ailleurs remarqué que le système client/serveur fonctionnait, mais de manière peu correcte niveau programmation... le client ouvre actuellement des sockets en continu, ce qui n'est évidemment pas ce qu'il faut faire... Nous avons donc décidé de modifier ce système afin d'avoir un programme plus propre...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 8:''' modifier le système client/serveur pour corriger le problème des sockets.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10721</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10721"/>
				<updated>2014-03-30T19:36:30Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;br /&gt;
&lt;br /&gt;
Au cours de ce projet, nous avons pu dans un premier temps nous familiariser avec l'interface du NAO. Nous nous sommes rapidement orientés vers la programmation C++ des robots afin de comprendre leur architecture et leurs différentes fonctions.  Au cours des premières semaines, la mission principale était donc d'apprendre à utiliser un environnement de cross-compilation: ''Qibuild''.&lt;br /&gt;
Nous avons donc appris à utiliser des chaînes de compilation (''toolchains'') permettant de créer des exécutables en local afin d'utiliser le NAO à partir de notre PC. Le but du projet résidant dans un programme C++ intégré au NAO, nous nous sommes rapidement intéressés à la cross-compilation. La cross-compilation permet de créer des exécutables compréhensibles par le NAO. Cette compilation permet de compiler le projet ciblé dans un langage que le NAO pourra ensuite exécuter.&lt;br /&gt;
&lt;br /&gt;
Après avoir étudié les exemples fournis par Aldebaran, nous avons pu contrôler le NAO et récupérer certaines informations grâce à des ''NAO Keys'' (arguments de fonctions permettant de récupérer la valeur d'un certain capteur). Nous avons alors modifié ces exemples pour récupérer des données intéressantes liées au NAO (inclinaison de la tête, position de sa centrale inertielle...) et qui permettront plus tard la synchronisation des deux NAO.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite tenté d'utiliser les fonctions de reconnaissance audio du bruit et de la parole. Cependant, la reconnaissance du bruit n'est pas utilisable lorsque le NAO ou qu'un autre NAO est en mouvement à proximité car le seuil maximum de détection est atteint trop rapidement. Nous nous sommes donc plus intéressés à la reconnaissance de parole afin de se rendre compte qu'elle est assez fiable pour synchroniser les NAO. En effet, lorsque le NAO 1 parle, le NAO 2 reconnaît avec un indice de confiance de 90% ce qu'il a dit. Nous allons alors baser notre synchronisation sur cette fonction.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, nous avons décidé de créer un réseau simple afin de faire communiquer les NAO entre eux. De cette façon, nous allons pouvoir informer l'état de NAO 2 à NAO 1 et vice versa. Lorsque le NAO 1 sera prêt, on attendra que le NAO 2 soit prêt pour commencer à soulever l'objet. En accord avec l'autre groupe de projet, un NAO sera prêt lorsque sa tête sera baissée. Nous savons actuellement récupérer la position de la tête du NAO, ce qui nous facilite alors la tâche.&lt;br /&gt;
&lt;br /&gt;
La partie la plus importante restante est donc la communication réseau des NAO avec notre PC qui fera office de serveur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 6====&lt;br /&gt;
&lt;br /&gt;
Lors de cette semaine, nous avons tout d'abord cherché à réaliser un programme permettant le système client/serveur entre NAO et PC. Le système client/serveur utilise le protocole TCP, car il est important que les NAO reçoivent les bonnes données au risque de ne plus être synchronisés. Après avoir réalisé ceci, nous avons écrit les algorithmes de synchronisation pour les NAO (clients) et pour le PC (serveur). Nous avons ensuite procédé à l'intégration du système client/serveur dans les algorithmes de synchronisation précédemment écrits. Les tests ont montré qu'il y avait un problème d'algorithme, car le réseau client/serveur fonctionnait correctement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; comme le serveur lit continuellement les données et que les NAO envoient continuellement leur état, lorsqu’un NAO est prêt, lui seul reçoit la &amp;quot;bonne&amp;quot; variable de retour, alors que l’autre reçoit la variable de retour qui correspond à son état.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Nous avons donc essayé de résoudre ce problème avec un système de sémaphores (quand le premier NAO envoie une donnée d'état, il attend que le second NAO reçoive la donnée retour du serveur avant d'autoriser la réception de son côté):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; le serveur renvoie une erreur, car il ne renvoie pas la réponse au bon client...&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 7:''' résoudre le problème d'algorithme afin de permettre aux deux NAO d'être synchronisés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 7====&lt;br /&gt;
&lt;br /&gt;
Nous avons modifié le programme afin de synchroniser correctement les deux NAO. Pour pallier le problème précédent, il a fallu réaliser un simple test afin d'éviter que la valeur envoyée par le serveur ne revienne à l'étape précédente... Nous avons aussi rajouté la récupération des adresses IP des NAO afin de pouvoir les différencier et de réaliser les bons tests pour la synchronisation.  Cette fois-ci les tests ont montré que les deux NAO étaient synchronisés. On peut tout de même noter qu'actuellement, les NAO ne sont pas parfaitement synchronisés: il y a un décalage d'une durée égale à la durée d'émission et de réception entre le serveur et le client (en effet, les données sont envoyées à un NAO, puis à l'autre, ce qui explique ce décalage).&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite de nouveau modifié le programme afin d'arrêter le client et le serveur lorsque la synchronisation est finie. Lors d'un débuggage, nous avons par ailleurs remarqué que le système client/serveur fonctionnait, mais de manière peu correcte niveau programmation... le client ouvre actuellement des sockets en continu, ce qui n'est évidemment pas ce qu'il faut faire... Nous avons donc décidé de modifier ce système afin d'avoir un programme plus propre...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 8:''' modifier le système client/serveur pour corriger le problème des sockets.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10637</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10637"/>
				<updated>2014-03-24T20:43:44Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;br /&gt;
&lt;br /&gt;
Au cours de ce projet, nous avons pu dans un premier temps nous familiariser avec l'interface du NAO. Nous nous sommes rapidement orientés vers la programmation C++ des robots afin de comprendre leur architecture et leurs différentes fonctions.  Au cours des premières semaines, la mission principale était donc d'apprendre à utiliser un environnement de cross-compilation: ''Qibuild''.&lt;br /&gt;
Nous avons donc appris à utiliser des chaînes de compilation (''toolchains'') permettant de créer des exécutables en local afin d'utiliser le NAO à partir de notre PC. Le but du projet résidant dans un programme C++ intégré au NAO, nous nous sommes rapidement intéressés à la cross-compilation. La cross-compilation permet de créer des exécutables compréhensibles par le NAO. Cette compilation permet de compiler le projet ciblé dans un langage que le NAO pourra ensuite exécuter.&lt;br /&gt;
&lt;br /&gt;
Après avoir étudié les exemples fournis par Aldebaran, nous avons pu contrôler le NAO et récupérer certaines informations grâce à des ''NAO Keys'' (arguments de fonctions permettant de récupérer la valeur d'un certain capteur). Nous avons alors modifié ces exemples pour récupérer des données intéressantes liées au NAO (inclinaison de la tête, position de sa centrale inertielle...) et qui permettront plus tard la synchronisation des deux NAO.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite tenté d'utiliser les fonctions de reconnaissance audio du bruit et de la parole. Cependant, la reconnaissance du bruit n'est pas utilisable lorsque le NAO ou qu'un autre NAO est en mouvement à proximité car le seuil maximum de détection est atteint trop rapidement. Nous nous sommes donc plus intéressés à la reconnaissance de parole afin de se rendre compte qu'elle est assez fiable pour synchroniser les NAO. En effet, lorsque le NAO 1 parle, le NAO 2 reconnaît avec un indice de confiance de 90% ce qu'il a dit. Nous allons alors baser notre synchronisation sur cette fonction.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, nous avons décidé de créer un réseau simple afin de faire communiquer les NAO entre eux. De cette façon, nous allons pouvoir informer l'état de NAO 2 à NAO 1 et vice versa. Lorsque le NAO 1 sera prêt, on attendra que le NAO 2 soit prêt pour commencer à soulever l'objet. En accord avec l'autre groupe de projet, un NAO sera prêt lorsque sa tête sera baissée. Nous savons actuellement récupérer la position de la tête du NAO, ce qui nous facilite alors la tâche.&lt;br /&gt;
&lt;br /&gt;
La partie la plus importante restante est donc la communication réseau des NAO avec notre PC qui fera office de serveur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 6====&lt;br /&gt;
&lt;br /&gt;
Lors de cette semaine, nous avons tout d'abord écrit un programme permettant le système client/serveur entre NAO et PC. Le système client/serveur utilise le protocole TCP, car il est important que les NAO reçoivent les bonnes données au risque de ne plus être synchronisés. Après avoir réalisé ceci, nous avons écrit les algorithmes de synchronisation pour les NAO (clients) et pour le PC (serveur). Nous avons ensuite procédé à l'intégration du système client/serveur dans les algorithmes de synchronisation précédemment écrits. Les tests ont montré qu'il y avait un problème d'algorithme, car le réseau client/serveur fonctionnait correctement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; comme le serveur lit continuellement les données et que les NAO envoient continuellement leur état, lorsqu’un NAO est prêt, lui seul reçoit la &amp;quot;bonne&amp;quot; variable de retour, alors que l’autre reçoit la variable de retour qui correspond à son état.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Nous avons donc essayé de résoudre ce problème avec un système de sémaphores (quand le premier NAO envoie une donnée d'état, il attend que le second NAO reçoive la donnée retour du serveur avant d'autoriser la réception de son côté):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; le serveur renvoie une erreur, car il ne renvoie pas la réponse au bon client...&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 7:''' résoudre le problème d'algorithme afin de permettre aux deux NAO d'être synchronisés.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10576</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10576"/>
				<updated>2014-03-16T22:30:34Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;br /&gt;
&lt;br /&gt;
Au cours de ce projet, nous avons pu dans un premier temps nous familiariser avec l'interface du NAO. Nous nous sommes rapidement orientés vers la programmation C++ des robots afin de comprendre leur architecture et leurs différentes fonctions.  Au cours des premières semaines, la mission principale était donc d'apprendre à utiliser un environnement de cross-compilation: ''Qibuild''.&lt;br /&gt;
Nous avons donc appris à utiliser des chaînes de compilation (''toolchains'') permettant de créer des exécutables en local afin d'utiliser le NAO à partir de notre PC. Le but du projet résidant dans un programme C++ intégré au NAO, nous nous sommes rapidement intéressés à la cross-compilation. La cross-compilation permet de créer des exécutables compréhensibles par le NAO. Cette compilation permet de compiler le projet ciblé dans un langage que le NAO pourra ensuite exécuter.&lt;br /&gt;
&lt;br /&gt;
Après avoir étudié les exemples fournis par Aldebaran, nous avons pu contrôler le NAO et récupérer certaines informations grâce à des ''NAO Keys'' (arguments de fonctions permettant de récupérer la valeur d'un certain capteur). Nous avons alors modifié ces exemples pour récupérer des données intéressantes liées au NAO (inclinaison de la tête, position de sa centrale inertielle...) et qui permettront plus tard la synchronisation des deux NAO.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite tenté d'utiliser les fonctions de reconnaissance audio du bruit et de la parole. Cependant, la reconnaissance du bruit n'est pas utilisable lorsque le NAO ou qu'un autre NAO est en mouvement à proximité car le seuil maximum de détection est atteint trop rapidement. Nous nous sommes donc plus intéressés à la reconnaissance de parole afin de se rendre compte qu'elle est assez fiable pour synchroniser les NAO. En effet, lorsque le NAO 1 parle, le NAO 2 reconnaît avec un indice de confiance de 90% ce qu'il a dit. Nous allons alors baser notre synchronisation sur cette fonction.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, nous avons décidé de créer un réseau simple afin de faire communiquer les NAO entre eux. De cette façon, nous allons pouvoir informer l'état de NAO 2 à NAO 1 et vice versa. Lorsque le NAO 1 sera prêt, on attendra que le NAO 2 soit prêt pour commencer à soulever l'objet. En accord avec l'autre groupe de projet, un NAO sera prêt lorsque sa tête sera baissée. Nous savons actuellement récupérer la position de la tête du NAO, ce qui nous facilite alors la tâche.&lt;br /&gt;
&lt;br /&gt;
La partie la plus importante restante est donc la communication réseau des NAO avec notre PC qui fera office de serveur.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10493</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10493"/>
				<updated>2014-03-14T08:40:50Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 5====&lt;br /&gt;
&lt;br /&gt;
Nous avons commencé par tester des exemples de détection de sons et de détection de langage:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de sons tourne autour d'une détection de seuils: le problème rencontré est que le NAO s'entend marcher et bouger, ce qui rend impossible la synchronisation grâce à ce moyen;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; la détection de parole consiste à pré-saisir une liste de mots que le NAO pourra reconnaître: après avoir effectué des tests, nous avons remarqué que le NAO détectait très bien les mots prononcés par le second NAO, mais moins bien ceux prononcés par nous.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Cette seconde solution nous permettrait alors de réaliser une synchronisation de manière facile; toutefois, nous pensons que réaliser un système client-serveur nous permettra d'avoir une marche de manœuvre plus grande pour la communication entre NAO (par exemple, si l'on fait interagir plus de deux NAO).&lt;br /&gt;
&lt;br /&gt;
C'est pour cela que nous avons commencé à réaliser un système client-serveur, avec pour clients les NAO et pour serveur un PC. Le système actuellement réalisé permet les échanges client-serveur entre deux PC. Nous allons devoir intégrer à ce programme le code nécessaire au NAO pour exécuter un programme local (donc dans le NAO).&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, nous avons réfléchi à l'algorithme simple de synchronisation que nous allons utiliser pour synchroniser les deux NAO avant qu'ils ne réalisent l'action de soulever ensemble un objet.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 6:''' intégrer l'algorithme de synchronisation et le code requis pour l'exécution du programme sur le système du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Bilan de mi-projet====&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10460</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10460"/>
				<updated>2014-03-10T18:46:28Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas nous y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10459</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10459"/>
				<updated>2014-03-10T18:45:45Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Semaine 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas s'y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10458</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=10458"/>
				<updated>2014-03-10T18:41:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 3====&lt;br /&gt;
&lt;br /&gt;
Après des réapparitions de problèmes liés à la compilation, nous avons décidé d'enquêter sur notre compilateur (qibuild) distribué par Aldebaran. Il est apparu que ce compilateur n'était pas à jour et ne convenait pas à notre version du NAO. Il nous empêchait notamment d'utiliser les commandes de déploiement du programme directement dans le NAO (deploy...). Désormais: Utilisation de '''qibuild2'''.&lt;br /&gt;
&lt;br /&gt;
Nous avons alors repris le travail précédent (compilation et test des exemples) avec ce nouveau compilateur légèrement différent mais plus fonctionnel. &lt;br /&gt;
Ensuite nous avons constitué notre architecture de travail afin de commencer à créer nos propres programmes en s'inspirant des exemples testés auparavant.&lt;br /&gt;
&lt;br /&gt;
'''Premier test avec qibuild2''': récupération des données de la centrale inertielle du NAO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un premier temps, en lançant le programme à partir du PC: Succès de la récupération des valeurs sur le terminal en temps réel;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; dans un deuxième temps, le but était d'écrire ces valeurs dans un fichier .txt afin d'en garder une trace. Nous avons pu implémenter l’exécutable de ce code directement dans le NAO grâce aux nouvelles commandes de ''qibuild2''.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons alors utilisé la cross-compilation, c'est-à-dire compiler un code afin de créer un exécutable compréhensible par différentes plate-formes (ici le NAO et le PC).&lt;br /&gt;
Ensuite, l'exécution du binaire peut se faire simplement en passant par ssh dans le NAO. Après lancement, on récupère ainsi dans un fichier .txt des valeurs de la centrale inertielle le temps de l'exécution du programme.&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 4:''' déployer un code dans le NAO permettant de tester certains capteurs afin de le faire réagir selon leurs états.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Semaine 4====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de modifier un code d'exemple fourni par Adebaran afin d'agir sur le NAO. Cependant, nous nous sommes aperçu que beaucoup de paramètres concernant les degrés de liberté du NAO devaient être modifiés afin de réaliser un simple mouvement de bras. Nous avons décidé de ne pas s'y pencher, car ce genre de mouvements est facilement réalisable via Chorégraphe...&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réfléchi à une manière simple de synchroniser le NAO (sans passer par la mémoire partagée pour le moment):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons vu que le NAO pouvait attendre la fin d'un événement réalisé par lui-même avant de réaliser une nouvelle action (par exemple, après avoir parlé);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; nous avons alors réalisé la suite d'événements suivants:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;gt; abaissement de la tête du NAO ''(récupération des valeurs liées à l'axe de la tête du NAO)''&amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;gt; réaction du NAO par la parole ''(après avoir dépassé un certain seuil lors de son mouvement de tête)''&amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;gt; mouvement quelconque du NAO ''(après l'événement de parole)'' &amp;lt;/blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 5:''' réaliser une synchronisation simple entre deux NAO, à l'aide des modules de détection de sons ou de parole.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9511</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9511"/>
				<updated>2014-02-17T11:10:08Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectifs pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9510</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9510"/>
				<updated>2014-02-17T11:09:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectif pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;br /&gt;
&lt;br /&gt;
====Semaine 2====&lt;br /&gt;
&lt;br /&gt;
Nous avons essayé de compiler plusieurs autres programmes proposés par Aldebaran:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes liés à la compilation en début de semaine, désormais réglés;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; tests en compilation simple qui agissent sur les actionneurs du NAO (sa tête, par exemple);&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; problèmes de cross-compilation: impossibilité de tester des programmes qui nécessitent d'être dans le NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectif pour la semaine 3:''' réaliser une cross-compilation afin d'agir sur les actionneurs, suivant les actions réalisées sur les capteurs du NAO et récupérer des données du NAO.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9265</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9265"/>
				<updated>2014-02-08T00:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectif pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs et qui récupèrent des données du NAO.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9264</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9264"/>
				<updated>2014-02-07T23:13:27Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectif pour la semaine 2:''' écrire des programmes de test qui agissent sur les actionneurs du NAO.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9263</id>
		<title>Robots humanoïdes 2013 groupe II</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Robots_humano%C3%AFdes_2013_groupe_II&amp;diff=9263"/>
				<updated>2014-02-07T23:13:08Z</updated>
		
		<summary type="html">&lt;p&gt;Cly : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Projet de Coopération Nao N2N: Partie Communication/Réseau==&lt;br /&gt;
&lt;br /&gt;
===Présentation du projet===&lt;br /&gt;
&lt;br /&gt;
Le projet global a pour but de réaliser une coopération entre deux robots NAO; cette coopération nécessite la synchronisation des deux humanoïdes à l’aide d’un serveur de données. Les NAO doivent donc utiliser des données communes pour se synchroniser, par exemple: déplacement d’un carton “volumineux” à deux. Ceci induit que les NAO vont devoir synchroniser leurs positions, ainsi que leurs déplacements, afin de pouvoir réaliser correctement l’action.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cahier des charges===&lt;br /&gt;
&lt;br /&gt;
- Communication entre deux robots NAO à l’aide d’un serveur de données, afin de pouvoir réaliser une coopération synchronisée entre ceux-ci.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt;  Pour cela, nous allons donc utiliser une mémoire partagée afin de communiquer les différents états possibles dans lesquels seront les NAO (attente, prêt, etc.), ainsi que les positions des NAO afin d’effectuer une bonne synchronisation lors des mouvements.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Communication entre les NAO et le routeur réalisée par WiFi: réception et envoi de données entre les NAO et le routeur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; Programmation en C++ (a priori) dans les NAO.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étapes importantes (prévisionnel)===&lt;br /&gt;
&lt;br /&gt;
# Étude approfondie de la communication NAO vers PC et PC vers NAO;&lt;br /&gt;
# Création d'une zone de mémoire partagée;&lt;br /&gt;
# Détermination des échanges à effectuer pour accomplir la tâche définie auparavant.&lt;br /&gt;
&lt;br /&gt;
===Avancement du projet===&lt;br /&gt;
&lt;br /&gt;
====Semaine 1====&lt;br /&gt;
&lt;br /&gt;
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin de mieux comprendre son fonctionnement:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise de connaissance des bibliothèques spécifiques au NAO, ainsi que des variables qui sont indispensables à son bon fonctionnement;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; prise en main des logiciels utiles et nécessaires à la programmation sur PC du NAO;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;gt; réalisation de tests avec le NAO: programmes en C++ de base pour contrôler le NAO (nous avons réussi à faire parler le NAO à l'aide d'un PC lié par câble ethernet au routeur et une connexion Wifi établie entre le routeur et le NAO).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objectif pour la semaine 2:''' écrire des programmes de tests qui agissent sur les actionneurs du NAO.&lt;/div&gt;</summary>
		<author><name>Cly</name></author>	</entry>

	</feed>