14/ 06 /2024

Test Module ESP32 Wroom ESP 32

* Hardware ESP32
* Application ESP32 : 5 charts + 4 gauges + 1 slider ( avec HigCharts library) (30/01/2024)
* Test #1 librairie DASH (avec EPS32 rouge wroom32 devkit V1 30 pins)
* Test #2 librairie DASH (ESP32 + BMP05+DS18B20+OLED)



 


Hardware ESP32 devkit V1 30 pins:

ESP32 + BMP05 + AM2302 (=DHT11) + DS18B20 + OLED LCD + MCP23017+ UART + WIFI
Description Module ESP32 2x15 pins

images/t_ESP32 Multi Chart_Gauges_slider_2024_05_prototype.gif images/t_Schema_ESP32_Charts_Cpt_DS18B20_BMP085_AM2302_MSP2307_OLED_2024.gif

prototype pour test

schema 20240531



Connection sur reseau Smartphone Redminote 11
Point d'acces Wifi_Mobile
Hot spot portable
Appareils connectés : 2
ASUS_CM6431 ....20:68:9d:04:2b:cf
esp32-5472F4 .......7c:9e:bd:54:72:f4

Reseau activé
sur PC ASUS CM6341 WIN10


SSID : Redmi Note 11
Protocole : Wi-Fi 4 (802.11n)
Type de sécurité : WPA2 - Personnel
Bande passante réseau : 2,4 GHz
Canal réseau : 2
Adresse IPv4 : 192.168.15.35
Serveurs DNS IPv4 : 212.27.40.241
212.27.40.240
Fabricant : Ralink Technology, Corp.
Description : 802.11n Wireless LAN Card
Version du pilote : 5.0.57.1
Adresse physique (MAC) : 20-68-9D-04-2B-CF

PC : scanner wifi

propriété : Redmi Note 11






Test #1 librairie DASH
(avec EPS32 rouge wroom32 devkit V1 30 pins)

28/01/2024


Declaration d'un reseau Hotspot sur mon Phone Reglo Mobile Note 11
SSID : Redmi Note 11
PWD : xxxxxxxx
. IP Address: 192.168.86.145
avec ESP32 Rouge
. IP Address: 192.168.86.30 avec ESP32 Bleu

Test de la
librairie DASH , en mode Free ,...... mode Pro payant 99€

Hardware

ESP32 Rouge wroom32 DevkitV1 30 pins .. au bout de son cable USB
Micro Breaboard pour cabler le AM2302 et les 2 les Rouge et Verte
..alimentation 3,3V prélevée sur l'ESP32
la Led board bleue est sur l' ESP32

images/t_ESP32_Test_DASH_prototype_2024-0128.gif

1er test


Declaré avec Arduino v1.8.19 comme :
#define Board " DOIT ESP32 DEVKIT V1"

1er test minimaliste :
Led Bleue . .(inbuilt) sur D2 en tout ou rien,.... commande via BP1
Led Rouge.. sur pin D19 en tout ou rien, ....commande via BP2
Led Vert ..sur D18 .....commande PWM ...............via Slider "Cde PWM Led D15"
Module AM2302 Mesures Humidity,Temperature sur pin D5
Alimenté via 3,3V du module .

L'usage de cette librarie est vraiment facile et ne demande pas d'effort intelectuel ..

SOFTWARE

Je suis parti de l'exemple Basis fournit sur github , et rajouté ensuite les autres éléments
sans difficulté notable

Utilisation de 7 cards + 1 chart (element de visualisation dans la page web crée automatiquement).

Card temperature(&dashboard, TEMPERATURE_CARD, "Temperature", "°C");
Card humidity(&dashboard, HUMIDITY_CARD, "Humidité", "%");
Card slider(&dashboard, SLIDER_CARD, "PWM Led Verte", "", 0, 1023);
Card button1(&dashboard, BUTTON_CARD, "Cde Led Bleue BP1");
Card button2(&dashboard, BUTTON_CARD, "Cde Led Rouge BP2");
Card Progress(&dashboard, PROGRESS_CARD, "Progression", "%", 0, 100);
Card card1(&dashboard, GENERIC_CARD, "Indice i");

Affichage de valeurs reeles issue du capteur AM2302 ( temper et humidité) au lieu de valeurs simulées.
Commande réelle des Led Bleue et Rouge via respectivement les BP1 et BP2.
Rajout d'un compteur J...évoluant à chaque tour de boucle (Loop) dans la limite de 0 à 100
pour Affichage d'un bargraph progression (0 à 100%)
Recuperation valeur d'un Slider (0 à 255) pour consigne PWM Led Verte
Rajout Chart (initial, en dur , sur 7 jours) modifié pour 60 datas .. config axes X par programme

le source programme 1er Test : _ESP32_DASH_test_2024-0128.ino
Version avec Chart :
_ESP32_DASH_test_2024-0205.ino

La page Web obtenue :

images/t_DASH_webpage_running_avec_chart_60_OK_2024-0205.gif


Le deroulement sur YAT terminal








Test #2 librairie DASH :

Hardware :
Rajout sortie sur Led_BLeue.. pin
15 ( Led_Board=Led bleue sur le module ESP)
Rajout Sonde OWS DS18B20#3 ... pin
4
Rajout capteur de Pression BMP085.. bus I2C SCL= pin
22 ...SDA pin 21
Rajout Ecral OLED SD1306 128x32 monocrhome (sur bus I2C @0x3C)

images/t_Prototype_ESP32_Bleu_DASH_test_2024-0611.gif images/t_Prototype_ESP32_Bleu_DASH_test_zoom_2024-0609.gif

images/t_Prototype_ESP32_Bleu_DASH_test_OLED_2024-0611.gif
Prototype avec DS18B20,BMP805, LCD

Zoom sur prototype


Card temperature2(&dashboard, TEMPERATURE_CARD, "Ds18B20", "°C");
pour afficher la valeur numérique DS18B20
Card button3(&dashboard, BUTTON_CARD, "Cde Led Bleue BP3");
Commande réelle de Led Bleue (15) via BP3 et Led Board 2 via BP1.
Chart TemperChart(&dashboard, BAR_CHART, "Temper DS18B20(°C)");

pour Affichage d'un bargraph Pression (950 à 1050 mbar)
Nota : la version d'essai de DASH ne permet pas de personaliser l'affichage...
.. la Led Board bleue clignote aussi toutes les 4 boucles ( main loop)

Sonde DS18B20 #3 :
attention ID code direct dans le code !
DeviceAddress sensor1 = { 0x28,0xFF, 0xAA, 0x56, 0xC1, 0x38, 0x14, 0x01};
Scan devices on OWS BUS
i= 0
ROM = 0x28, 0xAA, 0x56, 0xC1, 0x38, 0x14, 0x01, 0x40
Chip = DS18B20
DS18B20 = 25.25

Test presence Devices sur le bus I2C
void check_if_exist_I2C();
I2C device found at address 0x3C OLED SSD1306
I2C device found at address 0x77 BMP 085 Pression
Trouve 2 devices sur le Bus I2C


Test presence capteur pression
Sensors begin
Press. 980 mBar

Test OLED
SSD1306 allocation OK
Ligne 1 .. affiche l'adresse IP
Ligne 2 : Affiche

Problematique
pour le rafraichissement des valeurs sur l'OLED SSD1306 :
Mode d'ecriture en XOR au lieu de Remplacer le contenu..=>
affichage baveux !
solutions : effacer tout l'ecran avant d'ecrire => mais flickering tres iportant
alternative :
effacement partiel via rectangle noir . on s'en contentera !
effcement ligne #03 (la 4em) via display.fillRect(0, 24, 128,32, BLACK);

J'ai essayé de modifier , à partir de :
C:\Users\Paul\AppData\Local\Arduino15\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp
void Adafruit_SSD1306::clearDisplay(void)
{
memset(buffer, 0, WIDTH * ((HEIGHT + 7) / 8));
}

par un effacement de ligne :
void Adafruit_SSD1306::clearLx(int16_t x)
{
int16_t a,b;
a1= buffer + WIDTH * x ; // first buffer adress
b1= a1 +127; // last buffer adress
memset(a1,0,b1 );
}

j'obtiens
assert failed: spinlock_acquire spinlock.h:122 (result == core_id || result == SPINLOCK_FREE)
..laissé tombé ..je garde l'option Rectangle Noir
voir
https://forum.arduino.cc/t/oled-characters-drifting-over-time/937913

sinon fonctionnement OK
Le Rafraichissement est tres rapide ( delay 1000mS)

En résumé :
Mise en oeuvre tres Rapide
La version free est limitée , on ne peut pas modifier la taille, position des objets dans la page web
(et forcémént pas d'acces aux items de la version pro)


Terminal YAT (COM11 115200bds)



La page Web obtenue : 192.168.10.30

images/t_Capture_ESP32_Bleu_DASH_test_2024-0613.gif

rafraichissement : every 3 secondes
...sur event ..<= 1sec


Software 2em Test :
_ESP32_Bleu_DASH_test_2024-0614.ino







paulfjujo@free.fr


retour à l'index general