Outils pour utilisateurs

Outils du site


start:arduino:esp32:temperature

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:arduino:esp32:temperature [2021/03/16 11:31] gerardadminstart:arduino:esp32:temperature [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 27: Ligne 27:
  
 === Matériel === === Matériel ===
 +
 +
 +**ESP32 TTGO LORA 32 V2.0**
 +
 +[[https://github.com/LilyGO/TTGO-LORA32|Caracteristiques ESP32 TTGO LORA 32 V2.0]]
 +
 +{{ :start:arduino:esp32:htb1v_abbtni8kjjsszbq6z4kfxah.resized.jpg?direct&400 |}}
 +
 +** DHT 22 **
 +
 +[[https://www.didel.com/DHT22.pdf|Caractéristiques DHT22 PDF FR]]
 +
 +{{ :start:arduino:esp32:dht22-pinout-800x800.jpg?direct&300 |}}
 +
 +{{ :start:arduino:esp32:capture_du_2021-03-16_12-38-57.png?direct&600 |}}
 +
 +
 +
  
 === Branchement === === Branchement ===
 +
 +ESP32 Lora32 V2 + DHT22
 +
 +{{ :start:arduino:esp32:capture_du_2021-03-16_12-21-43.jpg?direct&400 |}}
 +
 +
 +=== Librairies à installer===
 +
 +** DHT **
 +[[https://github.com/adafruit/DHT-sensor-library| DHT-sensor-Library]]
 +
 +
 +**ESPAsyncWebServer**
 +[[https://github.com/me-no-dev/ESPAsyncWebServer|ESPAsyncWebServer.zip]]
 +
 +**AsyncTCP**
 +[[https://github.com/me-no-dev/AsyncTCP|AsyncTCP.zip]]
 +
 +**Adafruit_Sensor**
 +[[https://github.com/adafruit/Adafruit_Sensor|Adafruit_Sensor.zip]]
 +
 +
 +
  
 === Programmes === === Programmes ===
  
 +<code c ESP32_Temperature_serveur_Web.ino>
  
  
 +/*********
 +  Rui Santos
 +  Complete project details at https://randomnerdtutorials.com  
 +*********/
  
-==== Broches  ESP32 ====+// Import required libraries 
 +#include "WiFi.h" 
 +#include "ESPAsyncWebServer.h" 
 +#include <Adafruit_Sensor.h> 
 +#include <DHT.h> 
 + 
 +// Replace with your network credentials 
 +const char* ssid "xxxxxxxxxxxx"; 
 +const char* password "xxxxxxxxxxxxxx"; 
 + 
 +#define DHTPIN 13    // Digital pin connected to the DHT sensor 
 + 
 +// Uncomment the type of sensor in use: 
 +//#define DHTTYPE    DHT11     // DHT 11 
 +#define DHTTYPE    DHT22     // DHT 22 (AM2302) 
 +//#define DHTTYPE    DHT21     // DHT 21 (AM2301) 
 + 
 +DHT dht(DHTPIN, DHTTYPE); 
 + 
 +// Create AsyncWebServer object on port 80 
 +AsyncWebServer server(80); 
 + 
 +String readDHTTemperature() { 
 +  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) 
 +  // Read temperature as Celsius (the default) 
 +  float t dht.readTemperature(); 
 +  // Read temperature as Fahrenheit (isFahrenheit true) 
 +  //float t = dht.readTemperature(true); 
 +  // Check if any reads failed and exit early (to try again). 
 +  if (isnan(t)) {     
 +    Serial.println("Failed to read from DHT sensor!"); 
 +    return "--"; 
 +  } 
 +  else { 
 +    Serial.println(t); 
 +    return String(t); 
 +  } 
 +
 + 
 +String readDHTHumidity() { 
 +  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) 
 +  float h = dht.readHumidity(); 
 +  if (isnan(h)) { 
 +    Serial.println("Failed to read from DHT sensor!"); 
 +    return "--"; 
 +  } 
 +  else { 
 +    Serial.println(h); 
 +    return String(h); 
 +  } 
 +
 + 
 +const char index_html[] PROGMEM = R"rawliteral( 
 +<!DOCTYPE HTML><html> 
 +<head> 
 +  <meta name="viewport" content="width=device-width, initial-scale=1"> 
 +  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous"> 
 +  <style> 
 +    html { 
 +     font-family: Arial; 
 +     display: inline-block; 
 +     margin: 0px auto; 
 +     text-align: center; 
 +    } 
 +    h2 { font-size: 3.0rem; } 
 +    p { font-size: 3.0rem; } 
 +    .units { font-size: 1.2rem; } 
 +    .dht-labels{ 
 +      font-size: 1.5rem; 
 +      vertical-align:middle; 
 +      padding-bottom: 15px; 
 +    } 
 +  </style> 
 +</head> 
 +<body> 
 +  <h2>ESP32 Serveur DHT 22</h2> 
 +  <p> 
 +    <i class="fas fa-thermometer-half" style="color:#059e8a;"></i>  
 +    <span class="dht-labels">Temperature</span>  
 +    <span id="temperature">%TEMPERATURE%</span> 
 +    <sup class="units">&deg;C</sup> 
 +  </p> 
 +  <p> 
 +    <i class="fas fa-tint" style="color:#00add6;"></i>  
 +    <span class="dht-labels">Humidite</span> 
 +    <span id="humidity">%HUMIDITY%</span> 
 +    <sup class="units">&percnt;</sup> 
 +  </p> 
 +</body> 
 +<script> 
 +setInterval(function ( ) { 
 +  var xhttp = new XMLHttpRequest(); 
 +  xhttp.onreadystatechange = function() { 
 +    if (this.readyState == 4 && this.status == 200) { 
 +      document.getElementById("temperature").innerHTML = this.responseText; 
 +    } 
 +  }; 
 +  xhttp.open("GET", "/temperature", true); 
 +  xhttp.send(); 
 +}, 10000 ) ; 
 + 
 +setInterval(function ( ) { 
 +  var xhttp = new XMLHttpRequest(); 
 +  xhttp.onreadystatechange = function() { 
 +    if (this.readyState == 4 && this.status == 200) { 
 +      document.getElementById("humidity").innerHTML = this.responseText; 
 +    } 
 +  }; 
 +  xhttp.open("GET", "/humidity", true); 
 +  xhttp.send(); 
 +}, 10000 ) ; 
 +</script> 
 +</html>)rawliteral"; 
 + 
 +// Replaces placeholder with DHT values 
 +String processor(const String& var){ 
 +  //Serial.println(var); 
 +  if(var == "TEMPERATURE"){ 
 +    return readDHTTemperature(); 
 +  } 
 +  else if(var == "HUMIDITY"){ 
 +    return readDHTHumidity(); 
 +  } 
 +  return String(); 
 +
 + 
 +void setup(){ 
 +  // Serial port for debugging purposes 
 +  Serial.begin(115200); 
 + 
 +  dht.begin(); 
 +   
 +  // Connect to Wi-Fi 
 +  WiFi.begin(ssid, password); 
 +  while (WiFi.status() != WL_CONNECTED) { 
 +    delay(1000); 
 +    Serial.println("Connecting to WiFi.."); 
 +  } 
 + 
 +  // Print ESP32 Local IP Address 
 +  Serial.println(WiFi.localIP()); 
 + 
 +  // Route for root / web page 
 +  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ 
 +    request->send_P(200, "text/html", index_html, processor); 
 +  }); 
 +  server.on("/temperature", HTTP_GET, [](AsyncWebServerRequest *request){ 
 +    request->send_P(200, "text/plain", readDHTTemperature().c_str()); 
 +  }); 
 +  server.on("/humidity", HTTP_GET, [](AsyncWebServerRequest *request){ 
 +    request->send_P(200, "text/plain", readDHTHumidity().c_str()); 
 +  }); 
 + 
 +  // Start server 
 +  server.begin(); 
 +
 +  
 +void loop(){ 
 +   
 +
 + 
 +</code> 
 + 
 + 
 +==Ecran serveur web === 
 + 
 +{{ :start:arduino:esp32:capture_du_2021-03-16_12-45-05.png?direct&600 |}}
  
  
  
-**ESP32 TTGO LORA 32 V2.0** 
  
-{{ :start:arduino:esp32:htb1v_abbtni8kjjsszbq6z4kfxah.resized.jpg?direct&400 |}} 
  
    
/home/chanteri/www/fablab37110/data/attic/start/arduino/esp32/temperature.1615890679.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)