/* ----------------------- ESPDASH - Basic Example ----------------------- https://docs.espdash.pro/more-examples/ Skill Level: Intermediate In this example we will be creating a basic dashboard which consists of some cards and then update them in realtime ( at 3s interval ). Github: https://github.com/ayushsharma82/ESP-DASH WiKi: https://ayushsharma82.github.io/ESP-DASH/ with & ESP32 */ #include /* ESP32 Dependencies */ #include #include #include #include #include #include #include #define VERSION "28/01/2024" // test OK avec reseau définit sur Redminote et mode Wifi-STAtion const char* ssid = "Redmi4Esp32"; const char* password = "Frisco1983"; //acces via 192.168.86.145 /* Start Webserver */ AsyncWebServer server(80); /* Attach ESP-DASH to AsyncWebServer */ ESPDash dashboard(&server); #define Board " DOIT ESP32 DEVKIT V1" #define Hardware "ESP32 Rouge Vromm32 Devkitv1 30 pins" const int Led_Bleue = 2; const int Led_Rouge = 19; const int Led_Verte = 15; int dutyCycle1; int i,j,k; int timeout_counter=0; int Etat=0; #define DHTPIN 5 // Digital pin connected to the DHT sensor (ESP32 DEVKIT V1 30 pins) #define DHTTYPE DHT22 // //type of sensor in use: DHT 22 (AM2302) char Tempchar [10]; char Humidchar[10]; float t = 0.0 ; float h = 0.0 ; DHTesp dht; /* Dashboard Cards Format - (Dashboard Instance, Card Type, Card Name, Card Symbol(optional) ) */ Card temperature(&dashboard, TEMPERATURE_CARD, "Temperature", "°C"); Card humidity(&dashboard, HUMIDITY_CARD, "Humidity", "%"); Card slider(&dashboard, SLIDER_CARD, "Cde PWM Led D15", "", 0, 255); Card button1(&dashboard, BUTTON_CARD, "Test BP1"); Card button2(&dashboard, BUTTON_CARD, "Test BP2"); Card Progress(&dashboard, PROGRESS_CARD, "Progress1", "%", 0, 100); void setup() { Serial.begin(115200); Serial.print(" Config Board: ");Serial.println(Board); Serial.println(" _ESP32_DASH_test_2024.ino"); Serial.print(" Version : "); Serial.println(VERSION); Serial.print(" Hardware : ");Serial.println(Hardware); pinMode(Led_Rouge, OUTPUT); // initialize the LED pin as an output pinMode(Led_Bleue, OUTPUT); // initialize the LED pin as an output pinMode(Led_Verte, OUTPUT); digitalWrite(Led_Bleue, 0); digitalWrite(Led_Rouge, 0); digitalWrite(Led_Verte, 0); analogWriteResolution(8); Serial.println(" PWM (8b) test sur Led Verte 15"); for (dutyCycle1=0;dutyCycle1<255;dutyCycle1=dutyCycle1+25) { analogWrite(Led_Verte, dutyCycle1); delay(1000); } dutyCycle1=0; analogWrite(Led_Verte, dutyCycle1); //----- DHT11 AM2302 Sensor ---------------- Serial.println(" Sensor DHT11-AM2302 sur D5 !)"); dht.setup(DHTPIN,DHTesp::DHT22); delay(1000); t = dht.getTemperature(); if (isnan(t)) { snprintf(Tempchar,6,"%s\t"," ???"); } else { snprintf(Tempchar,6,"%3.2f\t",t); Serial.print(F(" DHT11 Temp.: ")); Serial.println(Tempchar); } h=dht.getHumidity(); if (isnan(h)) { snprintf(Humidchar,6,"%s\t"," ???"); } else { snprintf(Humidchar,6,"%2.2f\t",h); } Serial.print(F(" Humid : ")); Serial.println(Humidchar); Serial.print(" AM2302 sensor \r\n Temperature : "); Serial.print(Tempchar); Serial.print(" Humidity: "); Serial.print(Humidchar); Serial.println(" "); /* Connect WiFi */ WiFi.mode(WIFI_STA); Serial.print(" SSID : "); Serial.println(ssid); Serial.print(" PWD : "); Serial.println(password); WiFi.begin(ssid, password); j=0; do { Serial.printf("."); delay(1000); j++; } while( WiFi.waitForConnectResult() != WL_CONNECTED); if (j>16) { Serial.printf(" WiFi Failed!\n"); return; } Serial.print(" IP Address: "); Serial.println(WiFi.localIP()); /* Attach Buttons Callback */ button1.attachCallback([&](bool value){ Serial.println("BP1 Cde Led Bleue: "+String((value)?"true":"false")); button1.update(value); digitalWrite(Led_Bleue, value); dashboard.sendUpdates(); }); button2.attachCallback([&](bool value){ /* Print our new button value received from dashboard */ Serial.println("BP2 Cde Led Rouge: "+String((value)?"true":"false")); /* Make sure we update our button's value and send update to dashboard */ digitalWrite(Led_Rouge, value); button2.update(value); dashboard.sendUpdates(); }); /* Attach Slider Callback */ slider.attachCallback([&](int value){ /* Print our new slider value received from dashboard */ Serial.println("Slider PWM Led verte : "+String(value)); /* Make sure we update our slider's value and send update to dashboard */ slider.update(value); dutyCycle1=value; dashboard.sendUpdates(); }); /*27/01/2024 Attach Progress Callback */ Progress.attachCallback([&](int value){ /* Print our new slider value received from dashboard */ Serial.println("Progress: "+String(value)); /* Make sure we update our slider's value and send update to dashboard */ Progress.update(value); dashboard.sendUpdates(); }); Serial.print(" Start AsyncWebServer "); /* Start AsyncWebServer */ server.begin(); j=0; } void loop() { Serial.print( j);Serial.print(" , AM2302 Temp.="); t = dht.getTemperature(); h= dht.getHumidity(); Serial.print(String(t)); Serial.print(" , Humid.="); Serial.println(String(h)); Progress.update(j); temperature.update (t); humidity.update (h); dashboard.sendUpdates(); analogWrite(Led_Verte, dutyCycle1); /* Replace delay with 'millis interval' in your final project. */ j++; if(j>100) j=0; delay(1000); } /* * ets Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1184 load:0x40078000,len:13260 load:0x40080400,len:3028 entry 0x400805e4 WiFi Failed! ---------------- 60 17.80 53.50 BP2 Cde Led Rouge: true 61 17.80 53.50 62 17.80 53.50 BP1 Cde Led Bleue: true BP2 Cde Led Rouge: false 63 17.80 53.60 BP1 Cde Led Bleue: false */