﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://bacasable.arpitania.eu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marre2Jus</id>
	<title>Learning Lab Environnements Connectés - Contributions de l’utilisateur [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://bacasable.arpitania.eu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marre2Jus"/>
	<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Sp%C3%A9cial:Contributions/Marre2Jus"/>
	<updated>2026-04-08T11:13:08Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11327</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11327"/>
		<updated>2021-05-18T07:59:54Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* Communication carte/capteur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[image:Schémas_electrique_capteur_CO2.png|alt]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
relation maitre/esclave ainsi il faut donner les ordres au capteur via des trames de 7 octets.&lt;br /&gt;
&lt;br /&gt;
[[image : Trame_UART.PNG | alt ]]&lt;br /&gt;
&lt;br /&gt;
Trame pour réaliser la lecture de la RAM du capteur : {0xfe, 0x44, 0x00, 0x08, 0x02, 0x9f, 0x25}&lt;br /&gt;
&lt;br /&gt;
Ps : Il n'existe pas de documentation pour cette fonction sur internet.&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
&lt;br /&gt;
 int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
  int ij;&lt;br /&gt;
  //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
  uint16_t crc = 0xFFFF;&lt;br /&gt;
  String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
  // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
  for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
    crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
    for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
      if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
        crc ^= 0xA001;&lt;br /&gt;
      }&lt;br /&gt;
      else { // Else LSB is not set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
  Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
  Serial.println(crc, HEX);&lt;br /&gt;
  crc_string = String(crc, HEX);&lt;br /&gt;
  return crc;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11192</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11192"/>
		<updated>2021-05-04T07:16:03Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[image:Schémas_electrique_capteur_CO2.png|alt]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
relation maitre/esclave ainsi il faut donner les ordres au capteur via des trames de 7 octets.&lt;br /&gt;
&lt;br /&gt;
[[image : Trame_UART.PNG | alt ]]&lt;br /&gt;
&lt;br /&gt;
Trame pour réaliser la lecture de la RAM du capteur : {0xfe, 0x44, 0x00, 0x08, 0x02, 0x9f, 0x25}&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
&lt;br /&gt;
 int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
  int ij;&lt;br /&gt;
  //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
  uint16_t crc = 0xFFFF;&lt;br /&gt;
  String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
  // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
  for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
    crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
    for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
      if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
        crc ^= 0xA001;&lt;br /&gt;
      }&lt;br /&gt;
      else { // Else LSB is not set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
  Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
  Serial.println(crc, HEX);&lt;br /&gt;
  crc_string = String(crc, HEX);&lt;br /&gt;
  return crc;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Sch%C3%A9mas_electrique_capteur_CO2.png&amp;diff=11191</id>
		<title>Fichier:Schémas electrique capteur CO2.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Sch%C3%A9mas_electrique_capteur_CO2.png&amp;diff=11191"/>
		<updated>2021-05-04T07:14:58Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11172</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11172"/>
		<updated>2021-04-29T08:53:27Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* Communication carte/capteur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[image:Comparaison_carte_Psoc_Arduino.JPG|alt]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
relation maitre/esclave ainsi il faut donner les ordres au capteur via des trames de 7 octets.&lt;br /&gt;
&lt;br /&gt;
[[image : Trame_UART.PNG | alt ]]&lt;br /&gt;
&lt;br /&gt;
Trame pour réaliser la lecture de la RAM du capteur : {0xfe, 0x44, 0x00, 0x08, 0x02, 0x9f, 0x25}&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
&lt;br /&gt;
 int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
  int ij;&lt;br /&gt;
  //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
  uint16_t crc = 0xFFFF;&lt;br /&gt;
  String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
  // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
  for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
    crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
    for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
      if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
        crc ^= 0xA001;&lt;br /&gt;
      }&lt;br /&gt;
      else { // Else LSB is not set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
  Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
  Serial.println(crc, HEX);&lt;br /&gt;
  crc_string = String(crc, HEX);&lt;br /&gt;
  return crc;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11166</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11166"/>
		<updated>2021-04-29T08:33:36Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* Communication carte/capteur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[image:Comparaison_carte_Psoc_Arduino.JPG|alt]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
relation maitre/esclave ainsi il faut donner les ordres au capteur via des trames de 7 octets.&lt;br /&gt;
&lt;br /&gt;
[[image : Trame_UART.PNG | alt ]]&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
&lt;br /&gt;
 int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
  int ij;&lt;br /&gt;
  //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
  uint16_t crc = 0xFFFF;&lt;br /&gt;
  String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
  // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
  for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
    crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
    for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
      if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
        crc ^= 0xA001;&lt;br /&gt;
      }&lt;br /&gt;
      else { // Else LSB is not set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
  Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
  Serial.println(crc, HEX);&lt;br /&gt;
  crc_string = String(crc, HEX);&lt;br /&gt;
  return crc;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Trame_UART.PNG&amp;diff=11165</id>
		<title>Fichier:Trame UART.PNG</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Trame_UART.PNG&amp;diff=11165"/>
		<updated>2021-04-29T08:30:56Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11145</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11145"/>
		<updated>2021-04-28T21:01:19Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* Communication carte/capteur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[image:Comparaison_carte_Psoc_Arduino.JPG|alt]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
relation maitre/esclave ainsi il faut donner les ordres au capteur via des trames de 16 octets. (refaire le schéma sur le cahier d'Enzo au propre pour l'incruster ci-dessous)&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
&lt;br /&gt;
 int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
  int ij;&lt;br /&gt;
  //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
  uint16_t crc = 0xFFFF;&lt;br /&gt;
  String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
  // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
  for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
    crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
    for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
      if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
        crc ^= 0xA001;&lt;br /&gt;
      }&lt;br /&gt;
      else { // Else LSB is not set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
  Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
  Serial.println(crc, HEX);&lt;br /&gt;
  crc_string = String(crc, HEX);&lt;br /&gt;
  return crc;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11144</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11144"/>
		<updated>2021-04-28T20:58:46Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[image:Comparaison_carte_Psoc_Arduino.JPG|alt]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
&lt;br /&gt;
 int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
  int ij;&lt;br /&gt;
  //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
  uint16_t crc = 0xFFFF;&lt;br /&gt;
  String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
  // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
  for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
    crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
    for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
      if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
        crc ^= 0xA001;&lt;br /&gt;
      }&lt;br /&gt;
      else { // Else LSB is not set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
  Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
  Serial.println(crc, HEX);&lt;br /&gt;
  crc_string = String(crc, HEX);&lt;br /&gt;
  return crc;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Comparaison_carte_Psoc_Arduino.JPG&amp;diff=11143</id>
		<title>Fichier:Comparaison carte Psoc Arduino.JPG</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Comparaison_carte_Psoc_Arduino.JPG&amp;diff=11143"/>
		<updated>2021-04-28T20:57:36Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11142</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11142"/>
		<updated>2021-04-28T20:49:29Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* Calcul du CRC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
&lt;br /&gt;
 int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
  int ij;&lt;br /&gt;
  //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
  uint16_t crc = 0xFFFF;&lt;br /&gt;
  String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
  // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
  for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
    crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
    for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
      if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
        crc ^= 0xA001;&lt;br /&gt;
      }&lt;br /&gt;
      else { // Else LSB is not set&lt;br /&gt;
        crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
  Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
  Serial.println(crc, HEX);&lt;br /&gt;
  crc_string = String(crc, HEX);&lt;br /&gt;
  return crc;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11141</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11141"/>
		<updated>2021-04-28T20:47:43Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Organisation du travail ==&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Communication carte/capteur ===&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
=== Calcul du CRC ===&lt;br /&gt;
// Compute the MODBUS RTU CRC&lt;br /&gt;
&lt;br /&gt;
int ModRTU_CRC(byte sensor_data[], byte n1) {&lt;br /&gt;
 int ij;&lt;br /&gt;
 //Calc the raw_msg_data_byte CRC code&lt;br /&gt;
 uint16_t crc = 0xFFFF;&lt;br /&gt;
 String crc_string = &amp;quot;&amp;quot;;&lt;br /&gt;
 // for (int pos = 0; pos &amp;lt; raw_msg_data.length()/2; pos++) {&lt;br /&gt;
 for (int pos = 0; pos &amp;lt; n1; pos++) {&lt;br /&gt;
   crc ^= (uint16_t)sensor_data[pos]; // XOR byte into least sig. byte of crc&lt;br /&gt;
   for (int ij = 8; ij != 0; ij--) { // Loop over each bit&lt;br /&gt;
     if ((crc &amp;amp; 0x0001) != 0) { // If the LSB is set&lt;br /&gt;
       crc &amp;gt;&amp;gt;= 1; // Shift right and XOR 0xA001&lt;br /&gt;
       crc ^= 0xA001;&lt;br /&gt;
     }&lt;br /&gt;
     else { // Else LSB is not set&lt;br /&gt;
       crc &amp;gt;&amp;gt;= 1; // Just shift right&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 Serial.print(&amp;quot;\n&amp;quot;); // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)&lt;br /&gt;
 Serial.print(&amp;quot; CRC HEX VALUE = &amp;quot;);&lt;br /&gt;
 Serial.println(crc, HEX);&lt;br /&gt;
 crc_string = String(crc, HEX);&lt;br /&gt;
 return crc;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11140</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11140"/>
		<updated>2021-04-28T20:04:26Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* diagramme des exigeances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeances.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
=== travail de la semaine prochaine ===&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11139</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11139"/>
		<updated>2021-04-28T20:03:43Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* diagramme des exigeances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:Diagramme_des_exigeance.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
=== travail de la semaine prochaine ===&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11138</id>
		<title>PAE 2021 Contrôle de la qualité de l’air</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=PAE_2021_Contr%C3%B4le_de_la_qualit%C3%A9_de_l%E2%80%99air&amp;diff=11138"/>
		<updated>2021-04-28T20:01:56Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : /* diagramme des exigeances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 15/03/2021 : ==&lt;br /&gt;
Lecture datasheet senseair s8 residence, recherche microcontrolleur utilisé -&amp;gt; esp32&lt;br /&gt;
application -&amp;gt; sensirion my ambiance, transmition bluetooth&lt;br /&gt;
&lt;br /&gt;
Apparemment cartes PSOC,&lt;br /&gt;
&lt;br /&gt;
DIagramme des exigences:&lt;br /&gt;
 définir une valeur limite (voir différents paliers) &lt;br /&gt;
 connection bluetooth car on veut la qualité de l’air dans la pièce dans laquelle nous sommes&lt;br /&gt;
&lt;br /&gt;
Le taux idéal à l'intérieur d'un logement est d'environ 1000 ppm.&lt;br /&gt;
&lt;br /&gt;
Au-delà d'une concentration de 1400 ppm, le CO2 peut générer des maux de tête et une perte de concentration. Voici les seuils de pollution CO2 correspondant aux couleurs des jauges :&lt;br /&gt;
&lt;br /&gt;
Blanc / Très bon : Jusqu'à 800 ppm&lt;br /&gt;
&lt;br /&gt;
Jaune / Bon : 800-1200 ppm&lt;br /&gt;
&lt;br /&gt;
Orange / Moyen : 1200-1400 ppm&lt;br /&gt;
&lt;br /&gt;
Rouge / Mauvais : 1400-2000 ppm.&lt;br /&gt;
&lt;br /&gt;
Utilisation carte ESP32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== diagramme des exigeances ===&lt;br /&gt;
&lt;br /&gt;
[[image:diagramme_exigeance.jpg|alt]]&lt;br /&gt;
[[image:Définition_de_blocs.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
== 22/03/21 : ==&lt;br /&gt;
[[image:Basic shield.jpg|alt]]&lt;br /&gt;
&lt;br /&gt;
Liens: https://github.com/experimental-platform/example-co2&lt;br /&gt;
&lt;br /&gt;
package arduino programmation ESP32 : https://dl.espressif.com/dl/package_esp32_index.json&lt;br /&gt;
&lt;br /&gt;
https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all&lt;br /&gt;
&lt;br /&gt;
https://components101.com/microcontrollers/esp32-devkitc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
penser à mettre au propre le cablage (senseair S8, ESP32 devkit, bi-directionnal logic level converter) &lt;br /&gt;
&lt;br /&gt;
docu communication UART: https://www.circuitbasics.com/how-to-set-up-uart-communication-for-arduino/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pas de convertisseur de puissance pour l’instant, on passe donc par une carte Arduino pour les premiers tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== travail avant la session de la semaine prochaine ===&lt;br /&gt;
- Documentation sur la connexion uart avec arduino&lt;br /&gt;
&lt;br /&gt;
- Cablage avec un step up 3.3 to 5 v  (sur ciruito.io si possible)&lt;br /&gt;
&lt;br /&gt;
- Ecriture du code pour la transmission uart &lt;br /&gt;
&lt;br /&gt;
- recherche sur la connexion bluetooth avec la carte. &lt;br /&gt;
&lt;br /&gt;
=== travail de la semaine prochaine ===&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:D%C3%A9finition_de_blocs.jpg&amp;diff=11137</id>
		<title>Fichier:Définition de blocs.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:D%C3%A9finition_de_blocs.jpg&amp;diff=11137"/>
		<updated>2021-04-28T20:01:04Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : Définition des blocs nécessaires au projet de capteur de CO2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Définition des blocs nécessaires au projet de capteur de CO2&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Diagramme_des_exigeances.jpg&amp;diff=11136</id>
		<title>Fichier:Diagramme des exigeances.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Diagramme_des_exigeances.jpg&amp;diff=11136"/>
		<updated>2021-04-28T19:59:12Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : Diagramme des exigeances pour le projet du capteur de CO2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Diagramme des exigeances pour le projet du capteur de CO2&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Capteur_CO2.png&amp;diff=11135</id>
		<title>Fichier:Capteur CO2.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Capteur_CO2.png&amp;diff=11135"/>
		<updated>2021-04-28T19:58:16Z</updated>

		<summary type="html">&lt;p&gt;Marre2Jus : Schéma des pins du capteur senseair s8 residential&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Schéma des pins du capteur senseair s8 residential&lt;/div&gt;</summary>
		<author><name>Marre2Jus</name></author>
		
	</entry>
</feed>