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
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
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 :
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)
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
rafraichissement
: every 3 secondes
...sur event ..<= 1sec
Software 2em Test :
_ESP32_Bleu_DASH_test_2024-0614.ino