<?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=Jle-guen</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=Jle-guen"/>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Jle-guen"/>
		<updated>2026-05-14T19:58:54Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4170</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4170"/>
				<updated>2013-02-22T15:51:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* La classe SQLinker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
===Le Arduino===&lt;br /&gt;
====Architecture de l'objet communiquant====&lt;br /&gt;
&lt;br /&gt;
*Un Arduino Mega 2560&lt;br /&gt;
*Un XBee&lt;br /&gt;
*Un capteur de température&lt;br /&gt;
*Un capteur de luminosité&lt;br /&gt;
*Un accéléromètre (dont les valeurs ne seront pas utilisées mais qui devait servir d'appareil supplémentaire pour la problématique de consommation)&lt;br /&gt;
&lt;br /&gt;
====Le code du Arduino====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;#include&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;XBee.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Define variables, pins..&amp;lt;/span&amp;gt;&lt;br /&gt;
 int sensorTempPin = 0;&lt;br /&gt;
 int Temp;&lt;br /&gt;
 int sensorLightPin = 1;&lt;br /&gt;
 int Light;&lt;br /&gt;
 int XPin = 2;&lt;br /&gt;
 int YPin = 3;&lt;br /&gt;
 int ZPin = 4;&lt;br /&gt;
 int XValue;&lt;br /&gt;
 int YValue;&lt;br /&gt;
 int ZValue;&lt;br /&gt;
 &lt;br /&gt;
 uint8_t values[] = { 0, 0, 0, 0 };&lt;br /&gt;
 XBee xbee =  &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBee&amp;lt;/span&amp;gt;();&lt;br /&gt;
 XBeeResponse response = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBeeResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Rx16Response rx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Rx16Response&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Tx16Request tx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Tx16Request&amp;lt;/span&amp;gt;(0x1111, values, &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;sizeof&amp;lt;/span&amp;gt;(values));&lt;br /&gt;
 TxStatusResponse txStatus = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;TxStatusResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Initialise xbee / serial&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
   Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Read the values on analog pins&amp;lt;/span&amp;gt;&lt;br /&gt;
   Light = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorLightPin);&lt;br /&gt;
   Temp = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorTempPin);&lt;br /&gt;
   //XValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(XPin);//&lt;br /&gt;
   //YValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(YPin);&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Not used&amp;lt;/span&amp;gt;&lt;br /&gt;
   //ZValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(ZPin);//&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Listens on the Xbee protocol for any packet incoming.&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
   if(xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;isAvailable&amp;lt;/span&amp;gt;()){&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Got something&amp;lt;/span&amp;gt;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Got something\n&amp;quot;);&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Break the 10-bits of information retrieved from light&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// and temperature into 2 bytes for each.&amp;lt;/span&amp;gt;&lt;br /&gt;
     values[0] = Temp &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[1] = Temp &amp;amp; 0xff;&lt;br /&gt;
     values[2] = Light &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[3] = Light &amp;amp; 0xff;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(values[0]);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Sending values to server&amp;lt;/span&amp;gt;&lt;br /&gt;
     xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;send&amp;lt;/span&amp;gt;(tx);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// After sending a tx request, we expect a status response&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// from the server&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Wait up to 5 seconds for the status response&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;(5000)) {&lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We got a response!&amp;lt;/span&amp;gt;&lt;br /&gt;
       Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;We got a response\n&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// It should be a znet tx status&amp;lt;/span&amp;gt;&lt;br /&gt;
       if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getApiId&amp;lt;/span&amp;gt;() == TX_STATUS_RESPONSE) {&lt;br /&gt;
         xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getZBTxStatusResponse&amp;lt;/span&amp;gt;(txStatus);&lt;br /&gt;
         &lt;br /&gt;
          &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// get the delivery status, the fifth byte&amp;lt;/span&amp;gt;&lt;br /&gt;
         if (txStatus.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getStatus&amp;lt;/span&amp;gt;() == SUCCESS){&lt;br /&gt;
            &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Success! Time to celebrate&amp;lt;/span&amp;gt;&lt;br /&gt;
           Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;SUCCESS! Time to celebrate\n&amp;quot;);&lt;br /&gt;
         } else {&lt;br /&gt;
           &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// The remote XBee did not receive our packet. Is it powered on?&amp;lt;/span&amp;gt;&lt;br /&gt;
          Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;The remote Xbee did not receive our packet\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     } else {&lt;br /&gt;
       &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// local XBee did not provide a timely TX Status Response -- should not happen&amp;lt;/span&amp;gt;&lt;br /&gt;
      Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Local Xbee did not provide a timely TX Status Response\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;delay&amp;lt;/span&amp;gt;(500);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Ce code fonctionne de la manière suivante:&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Une fois implémenté sur le Arduino, la fonction setup va faire démarrer le protocole XBee et le protocole Série afin de pouvoir envoyer et recevoir des messages par XBee, et d'imprimer les messages d'erreur sur le port Série s'il y a lieu.&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Cette fonction va réaliser une boucle toutes les 0.5s pour mettre a jour les données des différents capteurs et les envoyer au serveur au travers du protocole XBee. Pour plus de détails voir les commentaires expliquant chaque étape du déroulement de la boucle.&lt;br /&gt;
&lt;br /&gt;
===le programme LINKER===&lt;br /&gt;
&lt;br /&gt;
Code du programme de liaison&lt;br /&gt;
&lt;br /&gt;
ce programme en java est constitué de 5 classes&lt;br /&gt;
&lt;br /&gt;
====Le Main====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class main {&lt;br /&gt;
 &lt;br /&gt;
 	public static SQLinker linker;&lt;br /&gt;
 	public static Xbee xbee;&lt;br /&gt;
 	&lt;br /&gt;
 	public static void main(String[] args){&lt;br /&gt;
 		String address = new String(&amp;quot;jdbc:mysql://sitedb.polytech-lille.net/cdelberg?&amp;quot;);&lt;br /&gt;
 		String user = new String(&amp;quot;user=cdelberg&amp;amp;password=myLo9ufonese&amp;quot;);&lt;br /&gt;
 		String COM;&lt;br /&gt;
 		&lt;br /&gt;
 &lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We ask the user on the Communication Port to connect the XBee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		System.out.println(&amp;quot;Please enter the Communication port of the Xbee&amp;quot;);&lt;br /&gt;
 		Scanner sc = new Scanner(System.in);&lt;br /&gt;
 		COM = sc.next();&lt;br /&gt;
 		System.out.println(&amp;quot;COM port changed to: &amp;quot;+COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creation of the Variables that will be used to connect to the Database and the Xbee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		linker = new SQLinker(address, user);&lt;br /&gt;
 		linker.FillArdList();	&lt;br /&gt;
 		xbee = new Xbee(COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creating the Updates Threads&amp;lt;/span&amp;gt;&lt;br /&gt;
 		W8Thread thread1 = new W8Thread();&lt;br /&gt;
 		thread1.start();&lt;br /&gt;
 		UpTestThread thread2 = new UpTestThread();&lt;br /&gt;
 		thread2.start();&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//We now allow the user to enter a command&amp;lt;/span&amp;gt;&lt;br /&gt;
 		String command;&lt;br /&gt;
 		System.out.println(&amp;quot;vous pouvez maintenant lancer une commande si vous le souhaitez&amp;quot;);&lt;br /&gt;
 		System.out.println(&amp;quot;tapez help pour plus d'informations&amp;quot;);&lt;br /&gt;
 		boolean exit=false;&lt;br /&gt;
 		&lt;br /&gt;
 		while(exit==false){&lt;br /&gt;
 			command=sc.next();&lt;br /&gt;
 			&lt;br /&gt;
 			if(command.equals(&amp;quot;help&amp;quot;)){&lt;br /&gt;
 				System.out.println(&amp;quot;print =&amp;gt; affiche la liste des arduinos&amp;quot;);&lt;br /&gt;
 				System.out.println(&amp;quot;exit =&amp;gt; ferme le programme&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 			if(command.equals(&amp;quot;print&amp;quot;)){linker.PrintArdList();}&lt;br /&gt;
 			if(command.equals(&amp;quot;exit&amp;quot;)){exit=true;}&lt;br /&gt;
 		&lt;br /&gt;
 		}&lt;br /&gt;
 		&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//if the user ask to stop the program, it will do those final commands&amp;lt;/span&amp;gt;&lt;br /&gt;
 		sc.close();&lt;br /&gt;
 		thread1.stop();&lt;br /&gt;
 		thread2.stop();&lt;br /&gt;
 		xbee.XbeeClosing();	&lt;br /&gt;
 		//System.out.println(&amp;quot;Program finished successfully&amp;quot;);&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
le main est la racine du programme. Il va creer les ressources necessaire à la connexion a la base de donnée et au XBee connecté au PC.&lt;br /&gt;
il crée ensuite 2 threads, l'un faisant une MAJ des valeurs des Arduinos dans la base de donnée à interval régulier.&lt;br /&gt;
L'autre regarde sur la base de donnée si un utilisateur a fait une demande de MAJ, et ce toute les secondes, puis y répond.&lt;br /&gt;
&lt;br /&gt;
====La classe SQLinker====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class SQLinker {&lt;br /&gt;
  	&lt;br /&gt;
 	Connection connect;&lt;br /&gt;
 	Statement stmt;&lt;br /&gt;
 	PreparedStatement pst;&lt;br /&gt;
 	ResultSet rs;&lt;br /&gt;
 	int[] ArdList = new int[10];&lt;br /&gt;
 	int[][] ArdListMatrix = new int[10][2];&lt;br /&gt;
 	String[] table = {&amp;quot;Battery&amp;quot;, &amp;quot;Light&amp;quot;, &amp;quot;Temperature&amp;quot;, &amp;quot;Updating&amp;quot;};&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//List of variables used to connect to the database and store some informations&amp;lt;/span&amp;gt;&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Constructor, create a connection when called&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public SQLinker(String address, String user){&lt;br /&gt;
 		&lt;br /&gt;
 		try{&lt;br /&gt;
 			Class.forName(&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance();&lt;br /&gt;
 		} catch(Exception ex){&lt;br /&gt;
 			System.out.println(&amp;quot;can't register the Driver&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		try{&lt;br /&gt;
 			connect = DriverManager.getConnection(address+user);&lt;br /&gt;
 			stmt = connect.createStatement();&lt;br /&gt;
 		} catch(Exception ex){&lt;br /&gt;
 		    System.out.println(&amp;quot;connection issue&amp;quot;);&lt;br /&gt;
 			System.out.println(&amp;quot;SQLException: &amp;quot; + ex.getMessage());&lt;br /&gt;
 		}&lt;br /&gt;
 		if (connect!= null){&lt;br /&gt;
 			System.out.println(&amp;quot;connected to the database &amp;quot; + address);&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Fill a matrix with the list of Arduinos stored in the database&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void FillArdList(){&lt;br /&gt;
 		try{&lt;br /&gt;
 			rs = stmt.executeQuery(&amp;quot;SELECT Arduino FROM Arduinos&amp;quot;);&lt;br /&gt;
 			int i=0;&lt;br /&gt;
 			int m,c,d,u;&lt;br /&gt;
 			while(rs.next()){&lt;br /&gt;
 				ArdList[i] = Integer.parseInt(rs.getString(1));&lt;br /&gt;
 				m=ArdList[i]/1000;&lt;br /&gt;
 				c=(ArdList[i]-m*1000)/100;&lt;br /&gt;
 				d=(ArdList[i]-m*1000-c*100)/10;&lt;br /&gt;
 				u=(ArdList[i]-m*1000-c*100-d*10);&lt;br /&gt;
 				ArdListMatrix[i][0]=(m*10+c);&lt;br /&gt;
 				ArdListMatrix[i][1]=(d*10+u);				&lt;br /&gt;
 				i++;&lt;br /&gt;
 			}&lt;br /&gt;
 			ArdList[i]=-1;&lt;br /&gt;
 		} catch (SQLException e){&lt;br /&gt;
 			System.out.println(&amp;quot;SQLException: &amp;quot; + e.getMessage());&lt;br /&gt;
 		    System.out.println(&amp;quot;SQLState: &amp;quot; + e.getSQLState());&lt;br /&gt;
 		    System.out.println(&amp;quot;VendorError: &amp;quot; + e.getErrorCode());&lt;br /&gt;
 		} &lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//print the list of arduinos stored in the program&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void PrintArdList(){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		while(ArdList[i]!=-1){&lt;br /&gt;
 			i++;&lt;br /&gt;
 			System.out.println(&amp;quot;Code Arduino n°&amp;quot;+i+&amp;quot;: &amp;quot;+ArdList[i]);&lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Print the values of a specific arduino&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void PrintArdValues(int ard){&lt;br /&gt;
 		for(int i=0; i&amp;lt;=2;i++){&lt;br /&gt;
 			&lt;br /&gt;
 			try {&lt;br /&gt;
 				rs = stmt.executeQuery(&amp;quot;SELECT &amp;quot; +table[i]+&amp;quot; FROM Arduinos WHERE Arduino =&amp;quot;+ard);&lt;br /&gt;
 			} catch (SQLException e) {&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 			try {&lt;br /&gt;
 				while(rs.next()){&lt;br /&gt;
 					System.out.println(table[i] +&amp;quot;=&amp;quot; + rs.getString(1));&lt;br /&gt;
 				}&lt;br /&gt;
 			} catch (SQLException e) {&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//print the values of every arduino stored in the program&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void PrintAllArdValues(){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		while(ArdList[i]!=-1){&lt;br /&gt;
 			this.PrintArdValues(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//set the values obtained from an arduino to the database&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void SetArdValues(int Ard, int[] values){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		while(values[i]!=-1){&lt;br /&gt;
 			&lt;br /&gt;
 			try {&lt;br /&gt;
 				pst = connect.prepareStatement(&amp;quot;UPDATE Arduinos SET &amp;quot;+table[values[i]]+&amp;quot; = &amp;quot;+values[i+1] +&amp;quot;  WHERE Arduino =&amp;quot;+Ard);&lt;br /&gt;
 				pst.executeUpdate();&lt;br /&gt;
 			} catch (SQLException e){&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 			i+=2;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//verify if an update as been demanded by a user on the website&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public int CheckUpdate(){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		int ret=0;&lt;br /&gt;
 		while(ArdList[i]!=-1 &amp;amp;&amp;amp; ret!=1){&lt;br /&gt;
 			try {&lt;br /&gt;
 				rs = stmt.executeQuery(&amp;quot;SELECT Updating FROM Arduinos WHERE Arduino =&amp;quot;+ArdList[i]);&lt;br /&gt;
 				while(rs.next()){&lt;br /&gt;
 					ret = Integer.parseInt(rs.getString(1));&lt;br /&gt;
 				}&lt;br /&gt;
 			} catch (SQLException e) {&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 			i++;&lt;br /&gt;
 		}&lt;br /&gt;
 		return ret; &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//return 1 if update demanded&amp;lt;/span&amp;gt;&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
cette classe regroupe toutes les fonctions permettant de se connecter a une base de donnée et d'en traiter les données&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4169</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4169"/>
				<updated>2013-02-22T15:50:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* le programme LINKER */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
===Le Arduino===&lt;br /&gt;
====Architecture de l'objet communiquant====&lt;br /&gt;
&lt;br /&gt;
*Un Arduino Mega 2560&lt;br /&gt;
*Un XBee&lt;br /&gt;
*Un capteur de température&lt;br /&gt;
*Un capteur de luminosité&lt;br /&gt;
*Un accéléromètre (dont les valeurs ne seront pas utilisées mais qui devait servir d'appareil supplémentaire pour la problématique de consommation)&lt;br /&gt;
&lt;br /&gt;
====Le code du Arduino====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;#include&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;XBee.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Define variables, pins..&amp;lt;/span&amp;gt;&lt;br /&gt;
 int sensorTempPin = 0;&lt;br /&gt;
 int Temp;&lt;br /&gt;
 int sensorLightPin = 1;&lt;br /&gt;
 int Light;&lt;br /&gt;
 int XPin = 2;&lt;br /&gt;
 int YPin = 3;&lt;br /&gt;
 int ZPin = 4;&lt;br /&gt;
 int XValue;&lt;br /&gt;
 int YValue;&lt;br /&gt;
 int ZValue;&lt;br /&gt;
 &lt;br /&gt;
 uint8_t values[] = { 0, 0, 0, 0 };&lt;br /&gt;
 XBee xbee =  &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBee&amp;lt;/span&amp;gt;();&lt;br /&gt;
 XBeeResponse response = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBeeResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Rx16Response rx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Rx16Response&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Tx16Request tx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Tx16Request&amp;lt;/span&amp;gt;(0x1111, values, &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;sizeof&amp;lt;/span&amp;gt;(values));&lt;br /&gt;
 TxStatusResponse txStatus = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;TxStatusResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Initialise xbee / serial&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
   Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Read the values on analog pins&amp;lt;/span&amp;gt;&lt;br /&gt;
   Light = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorLightPin);&lt;br /&gt;
   Temp = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorTempPin);&lt;br /&gt;
   //XValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(XPin);//&lt;br /&gt;
   //YValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(YPin);&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Not used&amp;lt;/span&amp;gt;&lt;br /&gt;
   //ZValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(ZPin);//&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Listens on the Xbee protocol for any packet incoming.&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
   if(xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;isAvailable&amp;lt;/span&amp;gt;()){&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Got something&amp;lt;/span&amp;gt;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Got something\n&amp;quot;);&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Break the 10-bits of information retrieved from light&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// and temperature into 2 bytes for each.&amp;lt;/span&amp;gt;&lt;br /&gt;
     values[0] = Temp &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[1] = Temp &amp;amp; 0xff;&lt;br /&gt;
     values[2] = Light &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[3] = Light &amp;amp; 0xff;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(values[0]);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Sending values to server&amp;lt;/span&amp;gt;&lt;br /&gt;
     xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;send&amp;lt;/span&amp;gt;(tx);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// After sending a tx request, we expect a status response&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// from the server&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Wait up to 5 seconds for the status response&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;(5000)) {&lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We got a response!&amp;lt;/span&amp;gt;&lt;br /&gt;
       Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;We got a response\n&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// It should be a znet tx status&amp;lt;/span&amp;gt;&lt;br /&gt;
       if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getApiId&amp;lt;/span&amp;gt;() == TX_STATUS_RESPONSE) {&lt;br /&gt;
         xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getZBTxStatusResponse&amp;lt;/span&amp;gt;(txStatus);&lt;br /&gt;
         &lt;br /&gt;
          &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// get the delivery status, the fifth byte&amp;lt;/span&amp;gt;&lt;br /&gt;
         if (txStatus.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getStatus&amp;lt;/span&amp;gt;() == SUCCESS){&lt;br /&gt;
            &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Success! Time to celebrate&amp;lt;/span&amp;gt;&lt;br /&gt;
           Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;SUCCESS! Time to celebrate\n&amp;quot;);&lt;br /&gt;
         } else {&lt;br /&gt;
           &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// The remote XBee did not receive our packet. Is it powered on?&amp;lt;/span&amp;gt;&lt;br /&gt;
          Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;The remote Xbee did not receive our packet\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     } else {&lt;br /&gt;
       &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// local XBee did not provide a timely TX Status Response -- should not happen&amp;lt;/span&amp;gt;&lt;br /&gt;
      Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Local Xbee did not provide a timely TX Status Response\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;delay&amp;lt;/span&amp;gt;(500);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Ce code fonctionne de la manière suivante:&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Une fois implémenté sur le Arduino, la fonction setup va faire démarrer le protocole XBee et le protocole Série afin de pouvoir envoyer et recevoir des messages par XBee, et d'imprimer les messages d'erreur sur le port Série s'il y a lieu.&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Cette fonction va réaliser une boucle toutes les 0.5s pour mettre a jour les données des différents capteurs et les envoyer au serveur au travers du protocole XBee. Pour plus de détails voir les commentaires expliquant chaque étape du déroulement de la boucle.&lt;br /&gt;
&lt;br /&gt;
===le programme LINKER===&lt;br /&gt;
&lt;br /&gt;
Code du programme de liaison&lt;br /&gt;
&lt;br /&gt;
ce programme en java est constitué de 5 classes&lt;br /&gt;
&lt;br /&gt;
====Le Main====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class main {&lt;br /&gt;
 &lt;br /&gt;
 	public static SQLinker linker;&lt;br /&gt;
 	public static Xbee xbee;&lt;br /&gt;
 	&lt;br /&gt;
 	public static void main(String[] args){&lt;br /&gt;
 		String address = new String(&amp;quot;jdbc:mysql://sitedb.polytech-lille.net/cdelberg?&amp;quot;);&lt;br /&gt;
 		String user = new String(&amp;quot;user=cdelberg&amp;amp;password=myLo9ufonese&amp;quot;);&lt;br /&gt;
 		String COM;&lt;br /&gt;
 		&lt;br /&gt;
 &lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We ask the user on the Communication Port to connect the XBee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		System.out.println(&amp;quot;Please enter the Communication port of the Xbee&amp;quot;);&lt;br /&gt;
 		Scanner sc = new Scanner(System.in);&lt;br /&gt;
 		COM = sc.next();&lt;br /&gt;
 		System.out.println(&amp;quot;COM port changed to: &amp;quot;+COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creation of the Variables that will be used to connect to the Database and the Xbee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		linker = new SQLinker(address, user);&lt;br /&gt;
 		linker.FillArdList();	&lt;br /&gt;
 		xbee = new Xbee(COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creating the Updates Threads&amp;lt;/span&amp;gt;&lt;br /&gt;
 		W8Thread thread1 = new W8Thread();&lt;br /&gt;
 		thread1.start();&lt;br /&gt;
 		UpTestThread thread2 = new UpTestThread();&lt;br /&gt;
 		thread2.start();&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//We now allow the user to enter a command&amp;lt;/span&amp;gt;&lt;br /&gt;
 		String command;&lt;br /&gt;
 		System.out.println(&amp;quot;vous pouvez maintenant lancer une commande si vous le souhaitez&amp;quot;);&lt;br /&gt;
 		System.out.println(&amp;quot;tapez help pour plus d'informations&amp;quot;);&lt;br /&gt;
 		boolean exit=false;&lt;br /&gt;
 		&lt;br /&gt;
 		while(exit==false){&lt;br /&gt;
 			command=sc.next();&lt;br /&gt;
 			&lt;br /&gt;
 			if(command.equals(&amp;quot;help&amp;quot;)){&lt;br /&gt;
 				System.out.println(&amp;quot;print =&amp;gt; affiche la liste des arduinos&amp;quot;);&lt;br /&gt;
 				System.out.println(&amp;quot;exit =&amp;gt; ferme le programme&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 			if(command.equals(&amp;quot;print&amp;quot;)){linker.PrintArdList();}&lt;br /&gt;
 			if(command.equals(&amp;quot;exit&amp;quot;)){exit=true;}&lt;br /&gt;
 		&lt;br /&gt;
 		}&lt;br /&gt;
 		&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//if the user ask to stop the program, it will do those final commands&amp;lt;/span&amp;gt;&lt;br /&gt;
 		sc.close();&lt;br /&gt;
 		thread1.stop();&lt;br /&gt;
 		thread2.stop();&lt;br /&gt;
 		xbee.XbeeClosing();	&lt;br /&gt;
 		//System.out.println(&amp;quot;Program finished successfully&amp;quot;);&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
le main est la racine du programme. Il va creer les ressources necessaire à la connexion a la base de donnée et au XBee connecté au PC.&lt;br /&gt;
il crée ensuite 2 threads, l'un faisant une MAJ des valeurs des Arduinos dans la base de donnée à interval régulier.&lt;br /&gt;
L'autre regarde sur la base de donnée si un utilisateur a fait une demande de MAJ, et ce toute les secondes, puis y répond.&lt;br /&gt;
&lt;br /&gt;
====La classe SQLinker====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class SQLinker {&lt;br /&gt;
  	&lt;br /&gt;
 	Connection connect;&lt;br /&gt;
 	Statement stmt;&lt;br /&gt;
 	PreparedStatement pst;&lt;br /&gt;
 	ResultSet rs;&lt;br /&gt;
 	int[] ArdList = new int[10];&lt;br /&gt;
 	int[][] ArdListMatrix = new int[10][2];&lt;br /&gt;
 	String[] table = {&amp;quot;Battery&amp;quot;, &amp;quot;Light&amp;quot;, &amp;quot;Temperature&amp;quot;, &amp;quot;Updating&amp;quot;};&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//List of variables used to connect to the database and store some informations&amp;lt;/span&amp;gt;&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Constructor, create a connection when called&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public SQLinker(String address, String user){&lt;br /&gt;
 		&lt;br /&gt;
 		try{&lt;br /&gt;
 			Class.forName(&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance();&lt;br /&gt;
 		} catch(Exception ex){&lt;br /&gt;
 			System.out.println(&amp;quot;can't register the Driver&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		try{&lt;br /&gt;
 			connect = DriverManager.getConnection(address+user);&lt;br /&gt;
 			stmt = connect.createStatement();&lt;br /&gt;
 		} catch(Exception ex){&lt;br /&gt;
 		    System.out.println(&amp;quot;connection issue&amp;quot;);&lt;br /&gt;
 			System.out.println(&amp;quot;SQLException: &amp;quot; + ex.getMessage());&lt;br /&gt;
 		}&lt;br /&gt;
 		if (connect!= null){&lt;br /&gt;
 			System.out.println(&amp;quot;connected to the database &amp;quot; + address);&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Fill a matrix with the list of Arduinos stored in the database&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void FillArdList(){&lt;br /&gt;
 		try{&lt;br /&gt;
 			rs = stmt.executeQuery(&amp;quot;SELECT Arduino FROM Arduinos&amp;quot;);&lt;br /&gt;
 			int i=0;&lt;br /&gt;
 			int m,c,d,u;&lt;br /&gt;
 			while(rs.next()){&lt;br /&gt;
 				ArdList[i] = Integer.parseInt(rs.getString(1));&lt;br /&gt;
 				m=ArdList[i]/1000;&lt;br /&gt;
 				c=(ArdList[i]-m*1000)/100;&lt;br /&gt;
 				d=(ArdList[i]-m*1000-c*100)/10;&lt;br /&gt;
 				u=(ArdList[i]-m*1000-c*100-d*10);&lt;br /&gt;
 				ArdListMatrix[i][0]=(m*10+c);&lt;br /&gt;
 				ArdListMatrix[i][1]=(d*10+u);				&lt;br /&gt;
 				i++;&lt;br /&gt;
 			}&lt;br /&gt;
 			ArdList[i]=-1;&lt;br /&gt;
 		} catch (SQLException e){&lt;br /&gt;
 			System.out.println(&amp;quot;SQLException: &amp;quot; + e.getMessage());&lt;br /&gt;
 		    System.out.println(&amp;quot;SQLState: &amp;quot; + e.getSQLState());&lt;br /&gt;
 		    System.out.println(&amp;quot;VendorError: &amp;quot; + e.getErrorCode());&lt;br /&gt;
 		} &lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//print the list of arduinos stored in the program&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void PrintArdList(){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		while(ArdList[i]!=-1){&lt;br /&gt;
 			i++;&lt;br /&gt;
 			System.out.println(&amp;quot;Code Arduino n°&amp;quot;+i+&amp;quot;: &amp;quot;+ArdList[i]);&lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Print the values of a specific arduino&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void PrintArdValues(int ard){&lt;br /&gt;
 		for(int i=0; i&amp;lt;=2;i++){&lt;br /&gt;
 			&lt;br /&gt;
 			try {&lt;br /&gt;
 				rs = stmt.executeQuery(&amp;quot;SELECT &amp;quot; +table[i]+&amp;quot; FROM Arduinos WHERE Arduino =&amp;quot;+ard);&lt;br /&gt;
 			} catch (SQLException e) {&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 			try {&lt;br /&gt;
 				while(rs.next()){&lt;br /&gt;
 					System.out.println(table[i] +&amp;quot;=&amp;quot; + rs.getString(1));&lt;br /&gt;
 				}&lt;br /&gt;
 			} catch (SQLException e) {&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//print the values of every arduino stored in the program&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void PrintAllArdValues(){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		while(ArdList[i]!=-1){&lt;br /&gt;
 			this.PrintArdValues(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//set the values obtained from an arduino to the database&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public void SetArdValues(int Ard, int[] values){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		while(values[i]!=-1){&lt;br /&gt;
 			&lt;br /&gt;
 			try {&lt;br /&gt;
 				pst = connect.prepareStatement(&amp;quot;UPDATE Arduinos SET &amp;quot;+table[values[i]]+&amp;quot; = &amp;quot;+values[i+1] +&amp;quot;  WHERE Arduino =&amp;quot;+Ard);&lt;br /&gt;
 				pst.executeUpdate();&lt;br /&gt;
 			} catch (SQLException e){&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 			i+=2;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//verify if an update as been demanded by a user on the website&amp;lt;/span&amp;gt;&lt;br /&gt;
 	public int CheckUpdate(){&lt;br /&gt;
 		int i=0;&lt;br /&gt;
 		int ret=0;&lt;br /&gt;
 		while(ArdList[i]!=-1 &amp;amp;&amp;amp; ret!=1){&lt;br /&gt;
 			try {&lt;br /&gt;
 				rs = stmt.executeQuery(&amp;quot;SELECT Updating FROM Arduinos WHERE Arduino =&amp;quot;+ArdList[i]);&lt;br /&gt;
 				while(rs.next()){&lt;br /&gt;
 					ret = Integer.parseInt(rs.getString(1));&lt;br /&gt;
 				}&lt;br /&gt;
 			} catch (SQLException e) {&lt;br /&gt;
 				e.printStackTrace();&lt;br /&gt;
 			}&lt;br /&gt;
 			i++;&lt;br /&gt;
 		}&lt;br /&gt;
 		return ret; &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//return 1 if update demanded&amp;lt;/span&amp;gt;&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4160</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4160"/>
				<updated>2013-02-22T15:26:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* CODE DU LINKER */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
===Le Arduino===&lt;br /&gt;
====Architecture de l'objet communiquant====&lt;br /&gt;
&lt;br /&gt;
**Un Arduino Mega 2560&lt;br /&gt;
**Un XBee&lt;br /&gt;
**Un capteur de température&lt;br /&gt;
**Un capteur de luminosité&lt;br /&gt;
**Un accéléromètre (dont les valeurs ne seront pas utilisées et qui devait servir d'appareil supplémentaire pour la problématique de consommation)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;#include&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;XBee.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Define variables, pins..&amp;lt;/span&amp;gt;&lt;br /&gt;
 int sensorTempPin = 0;&lt;br /&gt;
 int Temp;&lt;br /&gt;
 int sensorLightPin = 1;&lt;br /&gt;
 int Light;&lt;br /&gt;
 int XPin = 2;&lt;br /&gt;
 int YPin = 3;&lt;br /&gt;
 int ZPin = 4;&lt;br /&gt;
 int XValue;&lt;br /&gt;
 int YValue;&lt;br /&gt;
 int ZValue;&lt;br /&gt;
 &lt;br /&gt;
 uint8_t values[] = { 0, 0, 0, 0 };&lt;br /&gt;
 XBee xbee =  &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBee&amp;lt;/span&amp;gt;();&lt;br /&gt;
 XBeeResponse response = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBeeResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Rx16Response rx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Rx16Response&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Tx16Request tx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Tx16Request&amp;lt;/span&amp;gt;(0x1111, values, &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;sizeof&amp;lt;/span&amp;gt;(values));&lt;br /&gt;
 TxStatusResponse txStatus = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;TxStatusResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Initialise xbee / serial&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
   Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Read the values on analog pins&amp;lt;/span&amp;gt;&lt;br /&gt;
   Light = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorLightPin);&lt;br /&gt;
   Temp = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorTempPin);&lt;br /&gt;
   XValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(XPin);&lt;br /&gt;
   YValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(YPin);&lt;br /&gt;
   ZValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(ZPin);&lt;br /&gt;
 &lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
   if(xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;isAvailable&amp;lt;/span&amp;gt;()){&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Got something&amp;lt;/span&amp;gt;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Got something\n&amp;quot;);&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Break the 10-bits of information retrieved from light&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// and temperature into 2 bytes for each.&amp;lt;/span&amp;gt;&lt;br /&gt;
     values[0] = Temp &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[1] = Temp &amp;amp; 0xff;&lt;br /&gt;
     values[2] = Light &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[3] = Light &amp;amp; 0xff;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(values[0]);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Sending values to server&amp;lt;/span&amp;gt;&lt;br /&gt;
     xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;send&amp;lt;/span&amp;gt;(tx);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// After sending a tx request, we expect a status response&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// from the server&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Wait up to 5 seconds for the status response&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;(5000)) {&lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We got a response!&amp;lt;/span&amp;gt;&lt;br /&gt;
       Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;We got a response\n&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// It should be a znet tx status&amp;lt;/span&amp;gt;&lt;br /&gt;
       if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getApiId&amp;lt;/span&amp;gt;() == TX_STATUS_RESPONSE) {&lt;br /&gt;
         xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getZBTxStatusResponse&amp;lt;/span&amp;gt;(txStatus);&lt;br /&gt;
         &lt;br /&gt;
          &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// get the delivery status, the fifth byte&amp;lt;/span&amp;gt;&lt;br /&gt;
         if (txStatus.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getStatus&amp;lt;/span&amp;gt;() == SUCCESS){&lt;br /&gt;
            &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Success! Time to celebrate&amp;lt;/span&amp;gt;&lt;br /&gt;
           Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;SUCCESS! Time to celebrate\n&amp;quot;);&lt;br /&gt;
         } else {&lt;br /&gt;
           &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// The remote XBee did not receive our packet. Is it powered on?&amp;lt;/span&amp;gt;&lt;br /&gt;
          Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;The remote Xbee did not receive our packet\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     } else {&lt;br /&gt;
       &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// local XBee did not provide a timely TX Status Response -- should not happen&amp;lt;/span&amp;gt;&lt;br /&gt;
      Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Local Xbee did not provide a timely TX Status Response\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;delay&amp;lt;/span&amp;gt;(500);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
====Ce code fonctionne de la manière suivante:====&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Une fois implémenté sur le Arduino, la fonction setup va faire démarrer le protocole XBee et le protocole Série afin de pouvoir envoyer et recevoir des messages par XBee, et d'imprimer les messages d'erreur sur le port Série s'il y a lieu.&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
&lt;br /&gt;
===le programme LINKER===&lt;br /&gt;
&lt;br /&gt;
Code du programme de liaison&lt;br /&gt;
&lt;br /&gt;
ce programme en java est constitué de 5 classes&lt;br /&gt;
&lt;br /&gt;
====Le Main====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class main {&lt;br /&gt;
 &lt;br /&gt;
 	public static SQLinker linker;&lt;br /&gt;
 	public static Xbee xbee;&lt;br /&gt;
 	&lt;br /&gt;
 	public static void main(String[] args){&lt;br /&gt;
 		String address = new String(&amp;quot;jdbc:mysql://sitedb.polytech-lille.net/cdelberg?&amp;quot;);&lt;br /&gt;
 		String user = new String(&amp;quot;user=cdelberg&amp;amp;password=myLo9ufonese&amp;quot;);&lt;br /&gt;
 		String COM;&lt;br /&gt;
 		&lt;br /&gt;
 &lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We ask the user on the Communication Port to connect the XBee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		System.out.println(&amp;quot;Please enter the Communication port of the Xbee&amp;quot;);&lt;br /&gt;
 		Scanner sc = new Scanner(System.in);&lt;br /&gt;
 		COM = sc.next();&lt;br /&gt;
 		System.out.println(&amp;quot;COM port changed to: &amp;quot;+COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creation of the Variables that will be used to connect to the Database and the Xbee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		linker = new SQLinker(address, user);&lt;br /&gt;
 		linker.FillArdList();	&lt;br /&gt;
 		xbee = new Xbee(COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creating the Updates Threads&amp;lt;/span&amp;gt;&lt;br /&gt;
 		W8Thread thread1 = new W8Thread();&lt;br /&gt;
 		thread1.start();&lt;br /&gt;
 		UpTestThread thread2 = new UpTestThread();&lt;br /&gt;
 		thread2.start();&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//We now allow the user to enter a command&amp;lt;/span&amp;gt;&lt;br /&gt;
 		String command;&lt;br /&gt;
 		System.out.println(&amp;quot;vous pouvez maintenant lancer une commande si vous le souhaitez&amp;quot;);&lt;br /&gt;
 		System.out.println(&amp;quot;tapez help pour plus d'informations&amp;quot;);&lt;br /&gt;
 		boolean exit=false;&lt;br /&gt;
 		&lt;br /&gt;
 		while(exit==false){&lt;br /&gt;
 			command=sc.next();&lt;br /&gt;
 			&lt;br /&gt;
 			if(command.equals(&amp;quot;help&amp;quot;)){&lt;br /&gt;
 				System.out.println(&amp;quot;print =&amp;gt; affiche la liste des arduinos&amp;quot;);&lt;br /&gt;
 				System.out.println(&amp;quot;exit =&amp;gt; ferme le programme&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 			if(command.equals(&amp;quot;print&amp;quot;)){linker.PrintArdList();}&lt;br /&gt;
 			if(command.equals(&amp;quot;exit&amp;quot;)){exit=true;}&lt;br /&gt;
 		&lt;br /&gt;
 		}&lt;br /&gt;
 		&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//if the user ask to stop the program, it will do those final commands&amp;lt;/span&amp;gt;&lt;br /&gt;
 		sc.close();&lt;br /&gt;
 		thread1.stop();&lt;br /&gt;
 		thread2.stop();&lt;br /&gt;
 		xbee.XbeeClosing();	&lt;br /&gt;
 		//System.out.println(&amp;quot;Program finished successfully&amp;quot;);&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4159</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4159"/>
				<updated>2013-02-22T15:25:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* CODE DU LINKER */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
===Le Arduino===&lt;br /&gt;
====Architecture de l'objet communiquant====&lt;br /&gt;
&lt;br /&gt;
**Un Arduino Mega 2560&lt;br /&gt;
**Un XBee&lt;br /&gt;
**Un capteur de température&lt;br /&gt;
**Un capteur de luminosité&lt;br /&gt;
**Un accéléromètre (dont les valeurs ne seront pas utilisées et qui devait servir d'appareil supplémentaire pour la problématique de consommation)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;#include&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;XBee.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Define variables, pins..&amp;lt;/span&amp;gt;&lt;br /&gt;
 int sensorTempPin = 0;&lt;br /&gt;
 int Temp;&lt;br /&gt;
 int sensorLightPin = 1;&lt;br /&gt;
 int Light;&lt;br /&gt;
 int XPin = 2;&lt;br /&gt;
 int YPin = 3;&lt;br /&gt;
 int ZPin = 4;&lt;br /&gt;
 int XValue;&lt;br /&gt;
 int YValue;&lt;br /&gt;
 int ZValue;&lt;br /&gt;
 &lt;br /&gt;
 uint8_t values[] = { 0, 0, 0, 0 };&lt;br /&gt;
 XBee xbee =  &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBee&amp;lt;/span&amp;gt;();&lt;br /&gt;
 XBeeResponse response = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBeeResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Rx16Response rx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Rx16Response&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Tx16Request tx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Tx16Request&amp;lt;/span&amp;gt;(0x1111, values, &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;sizeof&amp;lt;/span&amp;gt;(values));&lt;br /&gt;
 TxStatusResponse txStatus = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;TxStatusResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Initialise xbee / serial&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
   Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Read the values on analog pins&amp;lt;/span&amp;gt;&lt;br /&gt;
   Light = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorLightPin);&lt;br /&gt;
   Temp = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorTempPin);&lt;br /&gt;
   XValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(XPin);&lt;br /&gt;
   YValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(YPin);&lt;br /&gt;
   ZValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(ZPin);&lt;br /&gt;
 &lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
   if(xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;isAvailable&amp;lt;/span&amp;gt;()){&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Got something&amp;lt;/span&amp;gt;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Got something\n&amp;quot;);&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Break the 10-bits of information retrieved from light&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// and temperature into 2 bytes for each.&amp;lt;/span&amp;gt;&lt;br /&gt;
     values[0] = Temp &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[1] = Temp &amp;amp; 0xff;&lt;br /&gt;
     values[2] = Light &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[3] = Light &amp;amp; 0xff;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(values[0]);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Sending values to server&amp;lt;/span&amp;gt;&lt;br /&gt;
     xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;send&amp;lt;/span&amp;gt;(tx);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// After sending a tx request, we expect a status response&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// from the server&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Wait up to 5 seconds for the status response&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;(5000)) {&lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We got a response!&amp;lt;/span&amp;gt;&lt;br /&gt;
       Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;We got a response\n&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// It should be a znet tx status&amp;lt;/span&amp;gt;&lt;br /&gt;
       if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getApiId&amp;lt;/span&amp;gt;() == TX_STATUS_RESPONSE) {&lt;br /&gt;
         xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getZBTxStatusResponse&amp;lt;/span&amp;gt;(txStatus);&lt;br /&gt;
         &lt;br /&gt;
          &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// get the delivery status, the fifth byte&amp;lt;/span&amp;gt;&lt;br /&gt;
         if (txStatus.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getStatus&amp;lt;/span&amp;gt;() == SUCCESS){&lt;br /&gt;
            &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Success! Time to celebrate&amp;lt;/span&amp;gt;&lt;br /&gt;
           Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;SUCCESS! Time to celebrate\n&amp;quot;);&lt;br /&gt;
         } else {&lt;br /&gt;
           &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// The remote XBee did not receive our packet. Is it powered on?&amp;lt;/span&amp;gt;&lt;br /&gt;
          Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;The remote Xbee did not receive our packet\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     } else {&lt;br /&gt;
       &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// local XBee did not provide a timely TX Status Response -- should not happen&amp;lt;/span&amp;gt;&lt;br /&gt;
      Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Local Xbee did not provide a timely TX Status Response\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;delay&amp;lt;/span&amp;gt;(500);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
====Ce code fonctionne de la manière suivante:====&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Une fois implémenté sur le Arduino, la fonction setup va faire démarrer le protocole XBee et le protocole Série afin de pouvoir envoyer et recevoir des messages par XBee, et d'imprimer les messages d'erreur sur le port Série s'il y a lieu.&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
&lt;br /&gt;
===CODE DU LINKER===&lt;br /&gt;
&lt;br /&gt;
Code du programme de liaison&lt;br /&gt;
&lt;br /&gt;
ce programme en java est constitué de 5 classes&lt;br /&gt;
&lt;br /&gt;
Le Main&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class main {&lt;br /&gt;
 &lt;br /&gt;
 	public static SQLinker linker;&lt;br /&gt;
 	public static Xbee xbee;&lt;br /&gt;
 	&lt;br /&gt;
 	public static void main(String[] args){&lt;br /&gt;
 		String address = new String(&amp;quot;jdbc:mysql://sitedb.polytech-lille.net/cdelberg?&amp;quot;);&lt;br /&gt;
 		String user = new String(&amp;quot;user=cdelberg&amp;amp;password=myLo9ufonese&amp;quot;);&lt;br /&gt;
 		String COM;&lt;br /&gt;
 		&lt;br /&gt;
 &lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We ask the user on the Communication Port to connect the XBee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		System.out.println(&amp;quot;Please enter the Communication port of the Xbee&amp;quot;);&lt;br /&gt;
 		Scanner sc = new Scanner(System.in);&lt;br /&gt;
 		COM = sc.next();&lt;br /&gt;
 		System.out.println(&amp;quot;COM port changed to: &amp;quot;+COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creation of the Variables that will be used to connect to the Database and the Xbee&amp;lt;/span&amp;gt;&lt;br /&gt;
 		linker = new SQLinker(address, user);&lt;br /&gt;
 		linker.FillArdList();	&lt;br /&gt;
 		xbee = new Xbee(COM);&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creating the Updates Threads&amp;lt;/span&amp;gt;&lt;br /&gt;
 		W8Thread thread1 = new W8Thread();&lt;br /&gt;
 		thread1.start();&lt;br /&gt;
 		UpTestThread thread2 = new UpTestThread();&lt;br /&gt;
 		thread2.start();&lt;br /&gt;
 		&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//We now allow the user to enter a command&amp;lt;/span&amp;gt;&lt;br /&gt;
 		String command;&lt;br /&gt;
 		System.out.println(&amp;quot;vous pouvez maintenant lancer une commande si vous le souhaitez&amp;quot;);&lt;br /&gt;
 		System.out.println(&amp;quot;tapez help pour plus d'informations&amp;quot;);&lt;br /&gt;
 		boolean exit=false;&lt;br /&gt;
 		&lt;br /&gt;
 		while(exit==false){&lt;br /&gt;
 			command=sc.next();&lt;br /&gt;
 			&lt;br /&gt;
 			if(command.equals(&amp;quot;help&amp;quot;)){&lt;br /&gt;
 				System.out.println(&amp;quot;print =&amp;gt; affiche la liste des arduinos&amp;quot;);&lt;br /&gt;
 				System.out.println(&amp;quot;exit =&amp;gt; ferme le programme&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 			if(command.equals(&amp;quot;print&amp;quot;)){linker.PrintArdList();}&lt;br /&gt;
 			if(command.equals(&amp;quot;exit&amp;quot;)){exit=true;}&lt;br /&gt;
 		&lt;br /&gt;
 		}&lt;br /&gt;
 		&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//if the user ask to stop the program, it will do those final commands&amp;lt;/span&amp;gt;&lt;br /&gt;
 		sc.close();&lt;br /&gt;
 		thread1.stop();&lt;br /&gt;
 		thread2.stop();&lt;br /&gt;
 		xbee.XbeeClosing();	&lt;br /&gt;
 		//System.out.println(&amp;quot;Program finished successfully&amp;quot;);&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4158</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4158"/>
				<updated>2013-02-22T15:24:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* CODE DU LINKER */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
===Le Arduino===&lt;br /&gt;
====Architecture de l'objet communiquant====&lt;br /&gt;
&lt;br /&gt;
**Un Arduino Mega 2560&lt;br /&gt;
**Un XBee&lt;br /&gt;
**Un capteur de température&lt;br /&gt;
**Un capteur de luminosité&lt;br /&gt;
**Un accéléromètre (dont les valeurs ne seront pas utilisées et qui devait servir d'appareil supplémentaire pour la problématique de consommation)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;#include&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;XBee.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Define variables, pins..&amp;lt;/span&amp;gt;&lt;br /&gt;
 int sensorTempPin = 0;&lt;br /&gt;
 int Temp;&lt;br /&gt;
 int sensorLightPin = 1;&lt;br /&gt;
 int Light;&lt;br /&gt;
 int XPin = 2;&lt;br /&gt;
 int YPin = 3;&lt;br /&gt;
 int ZPin = 4;&lt;br /&gt;
 int XValue;&lt;br /&gt;
 int YValue;&lt;br /&gt;
 int ZValue;&lt;br /&gt;
 &lt;br /&gt;
 uint8_t values[] = { 0, 0, 0, 0 };&lt;br /&gt;
 XBee xbee =  &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBee&amp;lt;/span&amp;gt;();&lt;br /&gt;
 XBeeResponse response = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBeeResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Rx16Response rx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Rx16Response&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Tx16Request tx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Tx16Request&amp;lt;/span&amp;gt;(0x1111, values, &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;sizeof&amp;lt;/span&amp;gt;(values));&lt;br /&gt;
 TxStatusResponse txStatus = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;TxStatusResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Initialise xbee / serial&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
   Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Read the values on analog pins&amp;lt;/span&amp;gt;&lt;br /&gt;
   Light = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorLightPin);&lt;br /&gt;
   Temp = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorTempPin);&lt;br /&gt;
   XValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(XPin);&lt;br /&gt;
   YValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(YPin);&lt;br /&gt;
   ZValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(ZPin);&lt;br /&gt;
 &lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
   if(xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;isAvailable&amp;lt;/span&amp;gt;()){&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Got something&amp;lt;/span&amp;gt;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Got something\n&amp;quot;);&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Break the 10-bits of information retrieved from light&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// and temperature into 2 bytes for each.&amp;lt;/span&amp;gt;&lt;br /&gt;
     values[0] = Temp &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[1] = Temp &amp;amp; 0xff;&lt;br /&gt;
     values[2] = Light &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[3] = Light &amp;amp; 0xff;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(values[0]);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Sending values to server&amp;lt;/span&amp;gt;&lt;br /&gt;
     xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;send&amp;lt;/span&amp;gt;(tx);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// After sending a tx request, we expect a status response&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// from the server&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Wait up to 5 seconds for the status response&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;(5000)) {&lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We got a response!&amp;lt;/span&amp;gt;&lt;br /&gt;
       Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;We got a response\n&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// It should be a znet tx status&amp;lt;/span&amp;gt;&lt;br /&gt;
       if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getApiId&amp;lt;/span&amp;gt;() == TX_STATUS_RESPONSE) {&lt;br /&gt;
         xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getZBTxStatusResponse&amp;lt;/span&amp;gt;(txStatus);&lt;br /&gt;
         &lt;br /&gt;
          &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// get the delivery status, the fifth byte&amp;lt;/span&amp;gt;&lt;br /&gt;
         if (txStatus.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getStatus&amp;lt;/span&amp;gt;() == SUCCESS){&lt;br /&gt;
            &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Success! Time to celebrate&amp;lt;/span&amp;gt;&lt;br /&gt;
           Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;SUCCESS! Time to celebrate\n&amp;quot;);&lt;br /&gt;
         } else {&lt;br /&gt;
           &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// The remote XBee did not receive our packet. Is it powered on?&amp;lt;/span&amp;gt;&lt;br /&gt;
          Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;The remote Xbee did not receive our packet\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     } else {&lt;br /&gt;
       &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// local XBee did not provide a timely TX Status Response -- should not happen&amp;lt;/span&amp;gt;&lt;br /&gt;
      Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Local Xbee did not provide a timely TX Status Response\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;delay&amp;lt;/span&amp;gt;(500);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
====Ce code fonctionne de la manière suivante:====&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Une fois implémenté sur le Arduino, la fonction setup va faire démarrer le protocole XBee et le protocole Série afin de pouvoir envoyer et recevoir des messages par XBee, et d'imprimer les messages d'erreur sur le port Série s'il y a lieu.&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
&lt;br /&gt;
===CODE DU LINKER===&lt;br /&gt;
&lt;br /&gt;
Code du programme de liaison&lt;br /&gt;
&lt;br /&gt;
ce programme en java est constitué de 5 classes&lt;br /&gt;
&lt;br /&gt;
Le Main&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
public class main {&lt;br /&gt;
&lt;br /&gt;
	public static SQLinker linker;&lt;br /&gt;
	public static Xbee xbee;&lt;br /&gt;
	&lt;br /&gt;
	public static void main(String[] args){&lt;br /&gt;
		String address = new String(&amp;quot;jdbc:mysql://sitedb.polytech-lille.net/cdelberg?&amp;quot;);&lt;br /&gt;
		String user = new String(&amp;quot;user=cdelberg&amp;amp;password=myLo9ufonese&amp;quot;);&lt;br /&gt;
		String COM;&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We ask the user on the Communication Port to connect the XBee&amp;lt;/span&amp;gt;&lt;br /&gt;
		System.out.println(&amp;quot;Please enter the Communication port of the Xbee&amp;quot;);&lt;br /&gt;
		Scanner sc = new Scanner(System.in);&lt;br /&gt;
		COM = sc.next();&lt;br /&gt;
		System.out.println(&amp;quot;COM port changed to: &amp;quot;+COM);&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creation of the Variables that will be used to connect to the Database and the Xbee&amp;lt;/span&amp;gt;&lt;br /&gt;
		linker = new SQLinker(address, user);&lt;br /&gt;
		linker.FillArdList();	&lt;br /&gt;
		xbee = new Xbee(COM);&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//Creating the Updates Threads&amp;lt;/span&amp;gt;&lt;br /&gt;
		W8Thread thread1 = new W8Thread();&lt;br /&gt;
		thread1.start();&lt;br /&gt;
		UpTestThread thread2 = new UpTestThread();&lt;br /&gt;
		thread2.start();&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//We now allow the user to enter a command&amp;lt;/span&amp;gt;&lt;br /&gt;
		String command;&lt;br /&gt;
		System.out.println(&amp;quot;vous pouvez maintenant lancer une commande si vous le souhaitez&amp;quot;);&lt;br /&gt;
		System.out.println(&amp;quot;tapez help pour plus d'informations&amp;quot;);&lt;br /&gt;
		boolean exit=false;&lt;br /&gt;
		&lt;br /&gt;
		while(exit==false){&lt;br /&gt;
			command=sc.next();&lt;br /&gt;
			&lt;br /&gt;
			if(command.equals(&amp;quot;help&amp;quot;)){&lt;br /&gt;
				System.out.println(&amp;quot;print =&amp;gt; affiche la liste des arduinos&amp;quot;);&lt;br /&gt;
				System.out.println(&amp;quot;exit =&amp;gt; ferme le programme&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if(command.equals(&amp;quot;print&amp;quot;)){linker.PrintArdList();}&lt;br /&gt;
			if(command.equals(&amp;quot;exit&amp;quot;)){exit=true;}&lt;br /&gt;
		&lt;br /&gt;
		}&lt;br /&gt;
		&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;//if the user ask to stop the program, it will do those final commands&amp;lt;/span&amp;gt;&lt;br /&gt;
		sc.close();&lt;br /&gt;
		thread1.stop();&lt;br /&gt;
		thread2.stop();&lt;br /&gt;
		xbee.XbeeClosing();	&lt;br /&gt;
		//System.out.println(&amp;quot;Program finished successfully&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4157</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=4157"/>
				<updated>2013-02-22T15:24:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Réalisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
===Le Arduino===&lt;br /&gt;
====Architecture de l'objet communiquant====&lt;br /&gt;
&lt;br /&gt;
**Un Arduino Mega 2560&lt;br /&gt;
**Un XBee&lt;br /&gt;
**Un capteur de température&lt;br /&gt;
**Un capteur de luminosité&lt;br /&gt;
**Un accéléromètre (dont les valeurs ne seront pas utilisées et qui devait servir d'appareil supplémentaire pour la problématique de consommation)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;#include&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;XBee.h&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Define variables, pins..&amp;lt;/span&amp;gt;&lt;br /&gt;
 int sensorTempPin = 0;&lt;br /&gt;
 int Temp;&lt;br /&gt;
 int sensorLightPin = 1;&lt;br /&gt;
 int Light;&lt;br /&gt;
 int XPin = 2;&lt;br /&gt;
 int YPin = 3;&lt;br /&gt;
 int ZPin = 4;&lt;br /&gt;
 int XValue;&lt;br /&gt;
 int YValue;&lt;br /&gt;
 int ZValue;&lt;br /&gt;
 &lt;br /&gt;
 uint8_t values[] = { 0, 0, 0, 0 };&lt;br /&gt;
 XBee xbee =  &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBee&amp;lt;/span&amp;gt;();&lt;br /&gt;
 XBeeResponse response = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;XBeeResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Rx16Response rx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Rx16Response&amp;lt;/span&amp;gt;();&lt;br /&gt;
 Tx16Request tx = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;Tx16Request&amp;lt;/span&amp;gt;(0x1111, values, &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;sizeof&amp;lt;/span&amp;gt;(values));&lt;br /&gt;
 TxStatusResponse txStatus = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;TxStatusResponse&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Initialise xbee / serial&amp;lt;/span&amp;gt;&lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
   Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;begin&amp;lt;/span&amp;gt;(9600);&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: blue;&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;()&lt;br /&gt;
 {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Read the values on analog pins&amp;lt;/span&amp;gt;&lt;br /&gt;
   Light = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorLightPin);&lt;br /&gt;
   Temp = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(sensorTempPin);&lt;br /&gt;
   XValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(XPin);&lt;br /&gt;
   YValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(YPin);&lt;br /&gt;
   ZValue = &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;analogRead&amp;lt;/span&amp;gt;(ZPin);&lt;br /&gt;
 &lt;br /&gt;
   xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;();&lt;br /&gt;
 &lt;br /&gt;
   if(xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;isAvailable&amp;lt;/span&amp;gt;()){&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Got something&amp;lt;/span&amp;gt;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Got something\n&amp;quot;);&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Break the 10-bits of information retrieved from light&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// and temperature into 2 bytes for each.&amp;lt;/span&amp;gt;&lt;br /&gt;
     values[0] = Temp &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[1] = Temp &amp;amp; 0xff;&lt;br /&gt;
     values[2] = Light &amp;gt;&amp;gt; 8 &amp;amp; 0xff;&lt;br /&gt;
     values[3] = Light &amp;amp; 0xff;&lt;br /&gt;
     Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(values[0]);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Sending values to server&amp;lt;/span&amp;gt;&lt;br /&gt;
     xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;send&amp;lt;/span&amp;gt;(tx);&lt;br /&gt;
     &lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// After sending a tx request, we expect a status response&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// from the server&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Wait up to 5 seconds for the status response&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;readPacket&amp;lt;/span&amp;gt;(5000)) {&lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// We got a response!&amp;lt;/span&amp;gt;&lt;br /&gt;
       Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;We got a response\n&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
        &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// It should be a znet tx status&amp;lt;/span&amp;gt;&lt;br /&gt;
       if (xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getApiId&amp;lt;/span&amp;gt;() == TX_STATUS_RESPONSE) {&lt;br /&gt;
         xbee.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getResponse&amp;lt;/span&amp;gt;().&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getZBTxStatusResponse&amp;lt;/span&amp;gt;(txStatus);&lt;br /&gt;
         &lt;br /&gt;
          &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// get the delivery status, the fifth byte&amp;lt;/span&amp;gt;&lt;br /&gt;
         if (txStatus.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;getStatus&amp;lt;/span&amp;gt;() == SUCCESS){&lt;br /&gt;
            &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// Success! Time to celebrate&amp;lt;/span&amp;gt;&lt;br /&gt;
           Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;SUCCESS! Time to celebrate\n&amp;quot;);&lt;br /&gt;
         } else {&lt;br /&gt;
           &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// The remote XBee did not receive our packet. Is it powered on?&amp;lt;/span&amp;gt;&lt;br /&gt;
          Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;The remote Xbee did not receive our packet\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     } else {&lt;br /&gt;
       &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;// local XBee did not provide a timely TX Status Response -- should not happen&amp;lt;/span&amp;gt;&lt;br /&gt;
      Serial.&amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;print&amp;lt;/span&amp;gt;(&amp;quot;Local Xbee did not provide a timely TX Status Response\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
   &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;delay&amp;lt;/span&amp;gt;(500);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
====Ce code fonctionne de la manière suivante:====&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
Une fois implémenté sur le Arduino, la fonction setup va faire démarrer le protocole XBee et le protocole Série afin de pouvoir envoyer et recevoir des messages par XBee, et d'imprimer les messages d'erreur sur le port Série s'il y a lieu.&lt;br /&gt;
=====Fonction &amp;lt;span style=&amp;quot;color: purple;&amp;quot;&amp;gt;loop&amp;lt;/span&amp;gt;():=====&lt;br /&gt;
&lt;br /&gt;
===CODE DU LINKER===&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3751</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3751"/>
				<updated>2012-11-28T22:34:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Etat de l'art */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3750</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3750"/>
				<updated>2012-11-28T22:33:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Etat de l'art */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autres techno sont encore en phase de développement, comme les batteries lithium-Air d'IBM, les piles au graphène utilisant la chaleur pour produire de l’énergie (plutôt de l'energy harvesting pour le coup). Comme ces technologies sont encore en phase de développement, elles n’apparaîtrons pas sur le marché avant au moins 10 ans.&lt;br /&gt;
&lt;br /&gt;
http://www.metro.co.uk/tech/news/897731-technology-companies-charge-towards-next-generation-battery-future&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* technologies adaptée à notre usage:&lt;br /&gt;
&lt;br /&gt;
comme je l'ai rappelé plus haut, ce PFE tourne principalement autour d'Arduino. ces plates-formes nécessitant une tension d'alimentation supérieure à 7V, le choix le plus intéressant reste les piles rechargeable.&lt;br /&gt;
&lt;br /&gt;
Seulement, il existe plusieurs types de piles rechargeables. dans l'usage qu'il en sera fait, et si ces batteries sont couplées à des technologies de récupération d'énergie, il est important de choisir des piles Lithium-Ion.&lt;br /&gt;
En effet, ces piles sont les plus intéressantes pour plusieurs raisons:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tout d'abord, elles sont insensibles à l'effet mémoire. du coup elles ne perdent pas de leur capacité de stockage d’énergie au cours du temps.&lt;br /&gt;
le circuit intégré à ces piles empêche toute surtension lors de la charge.&lt;br /&gt;
elles peuvent être rechargée en même temps qu'elles sont utilisées.&lt;br /&gt;
dans une époque ou la pollution est un sujet préoccupation, ces piles sont moins dangereuse pour l’environnement que leurs homologues au nickel-Cadmium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
le seul problème pourrais venir du fait qu'elles ne supporte pas bien la chaleur, mais à moins de les coller à un radiateur, il ne devrais pas y avoir de soucis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3749</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3749"/>
				<updated>2012-11-28T22:09:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Etat de l'art */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Energy Harvesting ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mosquino:&lt;br /&gt;
&lt;br /&gt;
''Mosquino'' est un matériel compatible avec le développement logiciel et dérivé de ''Arduino'', il permet de récupérer de l'énergie des sources ambiantes (chaleur, luminosité, vibrations)&lt;br /&gt;
Il n'est destiné qu'aux faibles consommations électriques et n'est encore qu'en phase de développement, il n'a pas encore été véritablement testé. &amp;lt;br/&amp;gt;&lt;br /&gt;
http://tim.cexx.org/?page_id=760&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Breakout board BOB-o&amp;lt;sub&amp;gt;994&amp;lt;/sub&amp;gt;6 :&lt;br /&gt;
&lt;br /&gt;
Cette carte utilise le collecteur d'énergie piezoelectrique LTC&amp;lt;sub&amp;gt;35&amp;lt;/sub&amp;gt;88 de Linear Technologies et permet non seulement de récupérer l'énergie piezoélectrique mais aussi l'énergie solaire. Initialement prévu pour fonctionner à faible voltage, la capacité de sortie peut-être dimensionnée pour recevoir une salve de courant de sortie plus élevée. &amp;lt;br/&amp;gt;&lt;br /&gt;
https://www.sparkfun.com/products/9946&lt;br /&gt;
&lt;br /&gt;
=== batteries ===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
nouvelles technologies: &lt;br /&gt;
&lt;br /&gt;
ces dernières années, de nouvelles technologies sont apparues, sans être encore réellement utilisées. je pense notamment aux batteries contenues dans des câbles: &lt;br /&gt;
http://phys.org/news/2012-09-lg-chem-cable-batteries-reshape.html&lt;br /&gt;
&lt;br /&gt;
ainsi qu'aux batteries ultra fines dévellopées par thinergy: &lt;br /&gt;
http://www.infinitepowersolutions.com/products.html&lt;br /&gt;
&lt;br /&gt;
Néanmoins, les tensions pouvant etre délivrées par ces technologies naissantes sont loin de pouvoir alimenter le materiel qui nous interresse, à savoir des Arduino (necessitant une alimentation comprise entre 7V-12V)&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3538</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3538"/>
				<updated>2012-10-23T13:26:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Planning prévisionnel provisoire (jusqu'à la pré-soutenance) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3537</id>
		<title>Objets communiquants et gestion de l'énergie</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Objets_communiquants_et_gestion_de_l%27%C3%A9nergie&amp;diff=3537"/>
				<updated>2012-10-23T13:25:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : -&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Planning prévisionnel provisoire (jusqu'à la pré-soutenance)===&lt;br /&gt;
&lt;br /&gt;
Ce planning pourrait être amené à être modifié.&lt;br /&gt;
&lt;br /&gt;
'''''I) Etat de l'art''''' ( ~2-3 semaines)&lt;br /&gt;
&lt;br /&gt;
-Energy harvesting (Calvin)&lt;br /&gt;
&lt;br /&gt;
-Batteries (Justin)&lt;br /&gt;
&lt;br /&gt;
'''''II) Mesure de puissance des différents appareil Arduino''''' ( ~2 semaines)&lt;br /&gt;
&lt;br /&gt;
'''''III) Confronter théorie/réalité''''' ( ~1 semaine)&lt;br /&gt;
-estimer consommation de puissance&lt;br /&gt;
&lt;br /&gt;
-vérifier en pratique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Amené à être ajouté:'''&lt;br /&gt;
&lt;br /&gt;
Mesure du Arduino de sa propre consommation.&lt;br /&gt;
&lt;br /&gt;
Mesure de la consommation du code (?)&lt;br /&gt;
&lt;br /&gt;
Applications:&lt;br /&gt;
-Envoi des valeurs de l'Arduino au serveur.&lt;br /&gt;
&lt;br /&gt;
-Interface web pour interagir avec l'objet.&lt;br /&gt;
&lt;br /&gt;
== Etat de l'art ==&lt;br /&gt;
&lt;br /&gt;
=== Mesure de la consommation énergétique ===&lt;br /&gt;
&lt;br /&gt;
WSIM permet la simulation de capteurs sans fil. Il permet notamment d'estimer la consommation électrique http://wsim.gforge.inria.fr/index.html&lt;br /&gt;
Pour l'instant il ne fonctionne qu'avec des microcontrolleurs TI. Le support des AVR est en cours.&lt;br /&gt;
L'estimation de la consommation énergétique utilise esimu http://esimu.gforge.inria.fr/index.html&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Liste du matériel à acheter ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=2104</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=2104"/>
				<updated>2012-04-16T13:55:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Neuf,Cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
Toute la partie du code C détectant les tags fonctionnent correctement.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application. &lt;br /&gt;
&lt;br /&gt;
De plus, la base de données à été mise à jour.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.&lt;br /&gt;
&lt;br /&gt;
==== Cinquième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
==== Sixième séance ====&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.&lt;br /&gt;
le code permettant de realiser une requette dans la base de donnée a été créé mais avec la librairie manquante, il est impossible de la tester.&lt;br /&gt;
debut de recherches sur la cross-compilation, pour installer mysql-connector.&lt;br /&gt;
&lt;br /&gt;
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.&lt;br /&gt;
==== Septième séance ====&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons continué à améliorer notre application Web. En effet, nous avons associé à chaque vêtement une photo le représentant. De plus nous avons commencé à améliorer son esthétique. &lt;br /&gt;
&lt;br /&gt;
Au niveau de la foxboard, nous avons continué d'essayer d'y installer la librairie mysql-connector.&lt;br /&gt;
&lt;br /&gt;
==== Huitième séance ====&lt;br /&gt;
&lt;br /&gt;
Lors de cette huitième séance, nous avons terminé les fondations du site web, reste à programmer les différentes options restante.&lt;br /&gt;
la foxboard est toujours en cours d'installation de la librairie manquante. et a terminé à la fin de la séance, alors que le PC n'étais plus accessible a cause d'une MAJ systeme.&lt;br /&gt;
&lt;br /&gt;
==== Neuvième séance ====&lt;br /&gt;
&lt;br /&gt;
A la fin de cette séance, le programme de liaison entre la penderie et la base de donnée est terminé. Ainsi, lorsqu'un vêtement est passé devant la phidget, le tag du vêtement est envoyé vers la base de donnée, ainsi qu'un indice indiquant qu'une mise a jour a été effectuée. un problème demeure cependant, la librairie phidget provoque d'énormes fuites mémoires, rendant le programme inutilisable sur la foxboard dont la RAM est très vite saturée.&lt;br /&gt;
en attendant de trouver la source des fuites, le programme de liaison sera lancé sur un PC.&lt;br /&gt;
&lt;br /&gt;
le site web, quand a lui, arrive a maturité, il se recharge maintenant de façon automatique, de façon a détecter un changement d'état de la BDD, qui aurais été provoqué par la foxboard.&lt;br /&gt;
&lt;br /&gt;
==== Neuvième Bis séance ====&lt;br /&gt;
Le site récupère maintenant la température de la ville et la stocke dans une variable.&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=2103</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=2103"/>
				<updated>2012-04-16T13:54:35Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
Toute la partie du code C détectant les tags fonctionnent correctement.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application. &lt;br /&gt;
&lt;br /&gt;
De plus, la base de données à été mise à jour.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.&lt;br /&gt;
&lt;br /&gt;
==== Cinquième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
==== Sixième séance ====&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.&lt;br /&gt;
le code permettant de realiser une requette dans la base de donnée a été créé mais avec la librairie manquante, il est impossible de la tester.&lt;br /&gt;
debut de recherches sur la cross-compilation, pour installer mysql-connector.&lt;br /&gt;
&lt;br /&gt;
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.&lt;br /&gt;
==== Septième séance ====&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons continué à améliorer notre application Web. En effet, nous avons associé à chaque vêtement une photo le représentant. De plus nous avons commencé à améliorer son esthétique. &lt;br /&gt;
&lt;br /&gt;
Au niveau de la foxboard, nous avons continué d'essayer d'y installer la librairie mysql-connector.&lt;br /&gt;
&lt;br /&gt;
==== Huitième séance ====&lt;br /&gt;
&lt;br /&gt;
Lors de cette huitième séance, nous avons terminé les fondations du site web, reste à programmer les différentes options restante.&lt;br /&gt;
la foxboard est toujours en cours d'installation de la librairie manquante. et a terminé à la fin de la séance, alors que le PC n'étais plus accessible a cause d'une MAJ systeme.&lt;br /&gt;
&lt;br /&gt;
==== Neuvième séance ====&lt;br /&gt;
&lt;br /&gt;
A la fin de cette séance, le programme de liaison entre la penderie et la base de donnée est terminé. Ainsi, lorsqu'un vêtement est passé devant la phidget, le tag du vêtement est envoyé vers la base de donnée, ainsi qu'un indice indiquant qu'une mise a jour a été effectuée. un problème demeure cependant, la librairie phidget provoque d'énormes fuites mémoires, rendant le programme inutilisable sur la foxboard dont la RAM est très vite saturée.&lt;br /&gt;
en attendant de trouver la source des fuites, le programme de liaison sera lancé sur un PC.&lt;br /&gt;
&lt;br /&gt;
le site web, quand a lui, arrive a maturité, il se recharge maintenant de façon automatique, de façon a détecter un changement d'état de la BDD, qui aurais été provoqué par la foxboard.&lt;br /&gt;
&lt;br /&gt;
==== Neuf,Cinquième séance ====&lt;br /&gt;
Le site récupère maintenant la température de la ville et la stocke dans une variable. &lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1913</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1913"/>
				<updated>2012-04-04T15:32:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Huitième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
Toute la partie du code C détectant les tags fonctionnent correctement.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application. &lt;br /&gt;
&lt;br /&gt;
De plus, la base de données à été mise à jour.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.&lt;br /&gt;
&lt;br /&gt;
==== Cinquième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
==== Sixième séance ====&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.&lt;br /&gt;
le code permettant de realiser une requette dans la base de donnée a été créé mais avec la librairie manquante, il est impossible de la tester.&lt;br /&gt;
debut de recherches sur la cross-compilation, pour installer mysql-connector.&lt;br /&gt;
&lt;br /&gt;
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.&lt;br /&gt;
==== Septième séance ====&lt;br /&gt;
==== Huitième séance ====&lt;br /&gt;
&lt;br /&gt;
Lors de cette huitième séance, nous avons terminé les fondations du site web, reste à programmer les différentes options restante.&lt;br /&gt;
la foxboard est toujours en cours d'installation de la librairie manquante. et a terminé à la fin de la séance, alors que le PC n'étais plus accessible a cause d'une MAJ systeme.&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1907</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1907"/>
				<updated>2012-04-04T15:25:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
Toute la partie du code C détectant les tags fonctionnent correctement.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application. &lt;br /&gt;
&lt;br /&gt;
De plus, la base de données à été mise à jour.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.&lt;br /&gt;
&lt;br /&gt;
==== Cinquième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
==== Sixième séance ====&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.&lt;br /&gt;
le code permettant de realiser une requette dans la base de donnée a été créé mais avec la librairie manquante, il est impossible de la tester.&lt;br /&gt;
debut de recherches sur la cross-compilation, pour installer mysql-connector.&lt;br /&gt;
&lt;br /&gt;
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.&lt;br /&gt;
==== Septième séance ====&lt;br /&gt;
==== Huitième séance ====&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1841</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1841"/>
				<updated>2012-03-28T12:37:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Sixième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
Toute la partie du code C détectant les tags fonctionnent correctement.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application. &lt;br /&gt;
&lt;br /&gt;
De plus, la base de données à été mise à jour.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.&lt;br /&gt;
&lt;br /&gt;
==== Cinquième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
==== Sixième séance ====&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.&lt;br /&gt;
le code permettant de realiser une requette dans la base de donnée a été créé mais avec la librairie manquante, il est impossible de la tester.&lt;br /&gt;
debut de recherches sur la cross-compilation, pour installer mysql-connector.&lt;br /&gt;
&lt;br /&gt;
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1840</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1840"/>
				<updated>2012-03-28T12:35:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
Toute la partie du code C détectant les tags fonctionnent correctement.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application. &lt;br /&gt;
&lt;br /&gt;
De plus, la base de données à été mise à jour.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.&lt;br /&gt;
&lt;br /&gt;
==== Cinquième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
==== Sixième séance ====&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.&lt;br /&gt;
&lt;br /&gt;
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1838</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1838"/>
				<updated>2012-03-28T12:30:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Sixième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
Le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
Ceci permettra au final de dire quel vêtement a été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
Toute la partie du code C détectant les tags fonctionnent correctement.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne l'application Web, nous avons continué à créer les différentes pages de notre application. &lt;br /&gt;
&lt;br /&gt;
De plus, la base de données à été mise à jour.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons cherché une solution pour intégrer la météo et récupérer la température et le temps pour ensuite les exploiter.&lt;br /&gt;
&lt;br /&gt;
==== Cinquième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance, nous avons continué à créer notre application WEB, nous y avons insérer un clavier pour que l'utilisateur qui sera devant l'écran puisse saisir des informations. De plus, nous avons réussi à modifier les informations de la base de données pour que plus tard nous arrivions à mettre à jour la présence ou pas d'un vêtement dans la penderie.&lt;br /&gt;
&lt;br /&gt;
==== Sixième séance ====&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons installer la phidgets  sur la penderie et nous avons réussi à communiquer à distance avec la foxboard. De plus nous sommes capables à distance de détecter le passage d'un tag devant la RFID.&lt;br /&gt;
&lt;br /&gt;
Nous avons du plus mis en ligne notre application web afin de pouvoir l'utiliser sur n'importe quel poste. Nous avons également essayer l'écran tactile pour voir si les liens fonctionnant avec le tactile.&lt;br /&gt;
&lt;br /&gt;
Du coté de la foxboard, la majeure partie du temps a servi a installer diverses librairies, et s'est terminé par l'impossibilité d'installer la librairie mysql connector, essentielle afin de faire la connection entre la phidget et la base de données&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1684</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1684"/>
				<updated>2012-03-07T17:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
&lt;br /&gt;
ceci permettra au final de dire quel vêtement à été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
toute la partie du code C détectant les tags fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1683</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1683"/>
				<updated>2012-03-07T17:42:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard.&lt;br /&gt;
ceci permettra au final de dire quel vêtement à été retiré de la penderie.&lt;br /&gt;
toute la partie du code C détectant les tags fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1682</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1682"/>
				<updated>2012-03-07T17:42:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Séances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard. &lt;br /&gt;
&lt;br /&gt;
ceci permettra au final de dire quel vêtement à été retiré de la penderie.&lt;br /&gt;
&lt;br /&gt;
toute la partie du code C détectant les tags fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1681</id>
		<title>E-Wardrobe</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=E-Wardrobe&amp;diff=1681"/>
				<updated>2012-03-07T17:28:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
Le but de notre projet est de créer une penderie intelligente : une E-Wardrobe.&lt;br /&gt;
Elle sera capable de référencer tous les vêtements qu'elle contient et de savoir ceux qui sont présents et ceux qui manquent. &lt;br /&gt;
De plus, grâce à une application implanté sur un écran tactile, elle conseillera l'utilisateur sur la meilleure tenues à porter en fonction de la météo et de la coordination des couleurs. Elle sera par exemple capable de lui dire si deux vêtements ne vont pas ensemble ou si la tenue est trop légère par rapport au temps qu'il fait dehors.&lt;br /&gt;
&lt;br /&gt;
Pour référencer les différents habits, nous allons utiliser le protocole RFID.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
&lt;br /&gt;
=== Matériel requis ===&lt;br /&gt;
&lt;br /&gt;
* Vestiaire (donné)&lt;br /&gt;
* Shield NFC (donné)&lt;br /&gt;
* Ecran tactile (disponible)&lt;br /&gt;
* Arduino (donné)&lt;br /&gt;
* Phidget RFID (donnée)&lt;br /&gt;
* FoxBoard (disponible)&lt;br /&gt;
&lt;br /&gt;
=== Matériel à acheter ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet==&lt;br /&gt;
&lt;br /&gt;
=== Objectifs suggérés par les encadrants ===&lt;br /&gt;
&lt;br /&gt;
=== Réalisations concrètes ===&lt;br /&gt;
&lt;br /&gt;
=== Séances ===&lt;br /&gt;
&lt;br /&gt;
==== Première séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant notre première séance, nous avons cherché avec les professeurs d'électronique une meilleure solution pour le RFID que la carte Phidgets. Nous sommes parti sur une carte RFID de type Q5M005 du constructeur Lextronic. Cette solution fonctionne avec le système arduino. &lt;br /&gt;
&lt;br /&gt;
Nous avons, par conséquent cherché une librairie RFID compatible avec le arduino. Nous en avions trouvé une mais en fin de séance nous nous sommes rendus compte qu'elle ne fonctionne pas avec la liaison RS232. Par conséquent nous sommes actuellement à la recherche de la bonne librairie. Dans le cas échéant, nous en élaborons une nous même grâce à la datasheet du composant Q5M005.&lt;br /&gt;
&lt;br /&gt;
Nous voulions pendant la séance savoir si le composant est capable de gérer plusieurs tags simultanément. Si on se rend compte que se n'est pas possible nous pensons commander le RFID référencé : H1M005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autre chose, la plaque d'essai que nous possédons actuellement étant trop petite, nous aurions besoin d'une de taille plus grande, par exemple celle ci: http://www.conrad.fr/platine_enfichable_p_48674_49170_842903_216846&lt;br /&gt;
&lt;br /&gt;
[Alex] Ca tombe bien, nous en avons en stock, vous pouvez de plus en utiliser plusieurs (il y a des clips pour les assembler [/Alex]&lt;br /&gt;
&lt;br /&gt;
==== Deuxième séance ====&lt;br /&gt;
&lt;br /&gt;
Objectif : Trouver une solution pour la RFID.&lt;br /&gt;
&lt;br /&gt;
Travail effectué : Avec les professeurs d'électronique, nous avons continué à essayer d'utiliser le composant Q5M005. Comme nous avions besoin de connaitre les différents identifiants des tags que nous avons à disposition, nous avons cherché à installer la RFID phidgets. Nous avons eu quelques difficultés avec Linux et les versions de librairies disponibles sur le site de Phidgets. Nous nous sommes rendus compte que la librairie qui fonctionne est la &amp;quot;libphidget_2.1.7.20101222&amp;quot;. Une fois la bonne librairie installer, nous avons compilé un exemple de programme c permeetant de lire et d'afficher les tags présents près de l'antenne RFID. &lt;br /&gt;
&lt;br /&gt;
La première compilation ne fonctionnait pas car il manquait dans le code la déclaration d'une des variables. Une fois ce problème résolu, nous avons pu récupérer les différents identifiants et voyant que le Phidget fonctionnait correctement, nous avons décidé de rester pour le moment sur cette technologie de RFID.&lt;br /&gt;
&lt;br /&gt;
En fin de projet, nous essayerons d'exploiter l'autre technologie qui a une plus grande portée.&lt;br /&gt;
&lt;br /&gt;
==== Troisième séance ====&lt;br /&gt;
&lt;br /&gt;
Pendant cette séance nous avons tout d'abord conçu un schéma explicatif de notre projet pour savoir les différents programmes et liaisons que nous avons besoin de réaliser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schéma.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes donc répartis les tâches. &lt;br /&gt;
&lt;br /&gt;
Delphine : création de la base de données et de l'application Web.&lt;br /&gt;
&lt;br /&gt;
Justin : Gestion de la lecture des Tags et de la communication Foxboard &amp;lt;-&amp;gt; page php changement d'état.&lt;br /&gt;
&lt;br /&gt;
==== Quatrième séance ====&lt;br /&gt;
&lt;br /&gt;
le 07/03/2012, nous avons cherché, et trouvé, une librairie (mysql connector/C) permettant de modifier la base de donnée depuis le code C tournant sur la foxboard. ceci permettra au final de dire quel vêtement à été retiré de la penderie.&lt;br /&gt;
toute la partie du code C détectant les tags fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Résultats ===&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1408</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1408"/>
				<updated>2011-06-06T10:47:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sujet =&lt;br /&gt;
le sujet se trouve a la page: http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
=objectifs=&lt;br /&gt;
== objectif de séance 1: ==&lt;br /&gt;
*creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
&lt;br /&gt;
*creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
&lt;br /&gt;
*comprendre ce que on doit faire avec FPGA&lt;br /&gt;
&lt;br /&gt;
*realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
&lt;br /&gt;
== objectif de séance 2: ==&lt;br /&gt;
*lancer le code C via le script&lt;br /&gt;
&lt;br /&gt;
*realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
== objectif de scéance 3: ==&lt;br /&gt;
*recuperer la mesure du sonar et l'afficher&lt;br /&gt;
&lt;br /&gt;
*transferer le script sur une foxboard et tester&lt;br /&gt;
&lt;br /&gt;
*tests avec la partie electronique&lt;br /&gt;
       Non accompli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partie FPGA: =&lt;br /&gt;
== Schéma global de notre sujet ---Contrôle de sonar: ==&lt;br /&gt;
                           [[Fichier:Schema global.jpg]]&lt;br /&gt;
== Schéma électronique du FPGA ==&lt;br /&gt;
[[Fichier:Sonar2.PNG]]&lt;br /&gt;
== Des fonctions de chaque parties ==&lt;br /&gt;
1) Pour obtenir une signale de 40KHz, on utilise quatre CDIV en série qui divisent l’origine fréquence 50MHz. &lt;br /&gt;
                                               &lt;br /&gt;
                                                    50M/5/10/5/5=40K&lt;br /&gt;
&lt;br /&gt;
                                  [[Fichier:40khz.PNG]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Au niveau d’émettre ce signale de 40KHz en 5 périodes, on utilise un compteur pour compter le nombre des périodes et aussi un comparateur. Si la valeur du compteur est supérieure à 5, GT=1, donc on ne peut pas continuer à émettre ce signale.   &lt;br /&gt;
&lt;br /&gt;
                                [[Fichier:Emission.PNG]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Au niveau de la réception, dès que le signale est réceptionné, il va donner un signal monté aux deux D flip-flops, alors on peut afficher la valeur du compteur. Comme on utilise un compteur de 8 bits, la valeur maximum qu’il compte par seconde est 255, donc on met la fréquence du compteur à 250Hz, alors il n’y a pas de risque du dépassement mais moins précis pour calculer la distance.    &lt;br /&gt;
&lt;br /&gt;
                                 [[Fichier:Reception.PNG]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Comme le taux de rafraîchissement de la mesure sera fixé à 1 seconde, donc on utilise un compteur de 16 bits alimenté par une fréquence de 33,333Hz, car ''2^15/33,333=0.98s''. Après on redonner le commande d’émission. Et à la fin ce compteur remet à zéro. &lt;br /&gt;
&lt;br /&gt;
                                [[Fichier:1seconde.jpg]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Partie analogique: =&lt;br /&gt;
== Schéma théorique ==&lt;br /&gt;
* On doit utiliser des amplificateurs opérationnels pour augmenter ou diminuer le courrant pendant l’émission et la receptiont du signale.(non réaliser pratiquement)&lt;br /&gt;
&lt;br /&gt;
                                [[Fichier:Ap.JPG]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Partie Informatique=&lt;br /&gt;
&lt;br /&gt;
tout le travail effectué dans la partie informatique fut réalisé sur l'ordinateur N°11&lt;br /&gt;
&lt;br /&gt;
==1ere séance==&lt;br /&gt;
création d'un programme C demandant une valeur à l'utilisateur et faisant bouger le servomoteur en conséquence.&lt;br /&gt;
&lt;br /&gt;
programme basé sur les programmes d'exemple fourni.&lt;br /&gt;
&lt;br /&gt;
puis j'ai commencé à créer l'ébauche d'un script javascript avec l'aide de tutoriaux trouvés sur le site du zér0.&lt;br /&gt;
&lt;br /&gt;
==2eme séance==&lt;br /&gt;
Modification du code c pour passer la valeur de rotation par paramètre.&lt;br /&gt;
&lt;br /&gt;
création de la page php appelant le programme servo avec la valeur fournie par l'utilisateur sur le script.&lt;br /&gt;
&lt;br /&gt;
début de la phase de création de la partie réception de la valeur fournie par le sonar.&lt;br /&gt;
&lt;br /&gt;
==3eme séance==&lt;br /&gt;
&lt;br /&gt;
fin de la page php permettant de récupérer la valeur fournie par le sonar.&lt;br /&gt;
&lt;br /&gt;
modification du script afin d'afficher la valeur récupérée.&lt;br /&gt;
&lt;br /&gt;
chargement du script sur la foxboard&lt;br /&gt;
&lt;br /&gt;
Test du programme à partir de la foxboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Programme Fonctionnel'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=divers=&lt;br /&gt;
script Foxboard:&lt;br /&gt;
http://172.26.79.111/script.html&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1323</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1323"/>
				<updated>2011-05-27T14:27:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sujet =&lt;br /&gt;
le sujet se trouve a la page: http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= objectif de séance 1: =&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
&lt;br /&gt;
= objectif de séance 2: =&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
= objectif de scéance 3: =&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
-transferer le script sur une foxboard et tester&lt;br /&gt;
-tests avec la partie electronique&lt;br /&gt;
&lt;br /&gt;
script Foxboard:&lt;br /&gt;
http://172.26.79.111/script.html&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1322</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1322"/>
				<updated>2011-05-27T14:26:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sujet =&lt;br /&gt;
le sujet se trouve a la page: http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= objectif de séance 1: =&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
&lt;br /&gt;
= objectif de séance 2: =&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
= objectif de scéance 3: =&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&lt;br /&gt;
-transferer le script sur une foxboard et tester&lt;br /&gt;
-tests avec la partie electronique&lt;br /&gt;
&lt;br /&gt;
script Foxboard:&lt;br /&gt;
http://172.26.79.111/script.html&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1321</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1321"/>
				<updated>2011-05-27T14:25:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sujet =&lt;br /&gt;
le sujet se trouve a la page: http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= objectif de séance 1: =&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
= objectif de séance 2: =&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
= objectif de scéance 3: =&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-transferer le script sur une foxboard et tester&lt;br /&gt;
        en attente&lt;br /&gt;
-tests avec la partie electronique&lt;br /&gt;
        en attente&lt;br /&gt;
&lt;br /&gt;
script Foxboard:&lt;br /&gt;
http://172.26.79.111/script.html&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1320</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1320"/>
				<updated>2011-05-27T14:18:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sujet =&lt;br /&gt;
le sujet se trouve a la page: http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 1:'''&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 2:'''&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
'''objectif de scéance 3:'''&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-transferer le script sur une foxboard et tester&lt;br /&gt;
        en attente&lt;br /&gt;
-tests avec la partie electronique&lt;br /&gt;
        en attente&lt;br /&gt;
&lt;br /&gt;
script Foxboard:&lt;br /&gt;
http://172.26.79.111/script.html&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1319</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1319"/>
				<updated>2011-05-27T14:17:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;le sujet se trouve a la page: http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 1:'''&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 2:'''&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
'''objectif de scéance 3:'''&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-transferer le script sur une foxboard et tester&lt;br /&gt;
        en attente&lt;br /&gt;
-tests avec la partie electronique&lt;br /&gt;
        en attente&lt;br /&gt;
&lt;br /&gt;
script Foxboard:&lt;br /&gt;
http://172.26.79.111/script.html&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1318</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1318"/>
				<updated>2011-05-27T14:12:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 1:'''&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 2:'''&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
'''objectif de scéance 3:'''&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-transferer le script sur une foxboard et tester&lt;br /&gt;
        en attente&lt;br /&gt;
-tests avec la partie electronique&lt;br /&gt;
        en attente&lt;br /&gt;
&lt;br /&gt;
script Foxboard:&lt;br /&gt;
http://172.26.79.111/script.html&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1192</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1192"/>
				<updated>2011-05-20T15:59:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 1:'''&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
'''objectif de séance 2:'''&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
'''objectif de scéance 3:'''&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&lt;br /&gt;
&lt;br /&gt;
script:&lt;br /&gt;
file:///usr/src/sonar/script.html?&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1190</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1190"/>
				<updated>2011-05-20T15:59:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
objectif de séance 1:&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-comprendre ce que on doit faire avec FPGA&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-realiser une periode de une second pour le compteur remettre à 0&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
objectif de séance 2:&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-realiser l'émission et la reception avec FPGA&lt;br /&gt;
&lt;br /&gt;
objectif de scéance 3:&lt;br /&gt;
-recuperer la mesure du sonar et l'afficher&lt;br /&gt;
&lt;br /&gt;
script:&lt;br /&gt;
file:///usr/src/sonar/script.html?&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1166</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1166"/>
				<updated>2011-05-18T16:03:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
objectif de séance 1:&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
objectif de séance 2:&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
script:&lt;br /&gt;
file:///usr/src/sonar/script.html?&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1165</id>
		<title>Contrôle de sonar, groupe A</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Contr%C3%B4le_de_sonar,_groupe_A&amp;diff=1165"/>
				<updated>2011-05-18T16:02:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jle-guen : Page créée avec « objectif de séance 1: -creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence         objectif accompli -creer un script ja... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;objectif de séance 1:&lt;br /&gt;
-creer un code C demandant une position à l'utilisateur et faisant tourner le servomoteur en consequence&lt;br /&gt;
        objectif accompli&lt;br /&gt;
-creer un script javascript demandant une position à l'utilisateur&lt;br /&gt;
        objectif accompli&lt;br /&gt;
&lt;br /&gt;
objectif de séance 2:&lt;br /&gt;
-lancer le code C via le script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
script:&lt;br /&gt;
file:///usr/src/sonar/script.html?&lt;br /&gt;
&lt;br /&gt;
Biblio:&lt;br /&gt;
http://www.xul.fr/xml-ajax.html#ajax-construction&lt;br /&gt;
http://blog.pascal-martin.fr/post/Un-premier-appel-Ajax-avec-Prototype&lt;/div&gt;</summary>
		<author><name>Jle-guen</name></author>	</entry>

	</feed>