Rev 19/02/2024

Tests Modules WIFI ESP8266-HW-341A ( avec ecran Oled Inclus !)

Description Module
Bad Sample Code
Analyser bus I2C
Programme de Test #1 ...OK
......
Resultats sur OLED Display
......
Resulat sur terminal YAT
Programme de Test #2 avec capteur AM2302
.....
Hardware : Prototype sur breadboard
.....
Software
.....
Resulats :Page Web et terminal YAT
Test en WIFI (sur 3 modules)
à suivre ...



Module ESP8266 HW-341A, 2x 15 =30 pins USB type C


Référence : Cde Ali Express chez AITEXM ROBOT Choice Store
ESP8266 NodeMCU interfacing with SSD1306 OLED
Carte de développement NodeMCU ESP8266 avec écran OLED 0.96 ",
technologie de pilote CH340 pour pigments Ardu37 IDE/Micropython
côut : 10,86€ pour 3 modules (port compris) !



ATTENTION , l'affichage présente une inversion de repère D5 et D6 .... (Pins definition error)
et donc le Sample code proposé NE MARCHE PAS ...


nota :
La Docu est livrée sous forme d'images !
Le module livré affiche déja le contenu ci-dessus ..et ne fait RIEN d'autre ..Aucun message via USB (UART) lors du reset.
Le module WIFI est activé .. reseau visible ..mais utile à quoi ??
ESP module pastille JAUNE



Reseau ESP8266 apparait ici, en Bleu ..
Connected, mac address: 08:F9:E0:75:5F:2B

Un nouveau test fait le 27/04/2024 ..
Aucune connection Wifi , car pas de reseau Wifi ESP détecté ?
... PAS de connection 192.168.0.110 !


Because : modif du Password ON_AIR2024 le 20/02/2024 !
Recompilation *.ino avec le bon PWD --> connection page web 192.168.0.110 ..OK



Connectique pour Tests

Uniquement avec un cordon USB A--- USB C pour connection entre PC et module ESP.
L'USB assume l'alimentation du module .. le telechargement ..l'UART virtuel pour la fonction Terminal YAT

images/t_nodemcu_esp8266_pinout.gif
doute sur affectation Pin D5 et D6 !  



Verif : USB via driver CH341 !





Test #1 chargement du programme



avec Sample Code fourni -> RIEN sur l'ecran OLED !

Gros doute sur la definition PINS I2C

Pour lever ce doute, Usage d'un autre module original ( non modifié) et qui donc affiche des messages sur l'OLED SSD1306
pour verifier les signaux I2C .

ATTENTION : vu l'espacement important des 2 rangées de 15 pins ( 1 ") sur ce module, il faut
soit une Grande Breadboard , soit 2 petites ,pour pouvoir inserer ce module
et utiliser , les pins D5 et D6
..afin de raccorder par exemple, mon analyser logic .
* module Pastille JAUNE


MODULE #1 : ESP8266_HW-341A
BOARD : NodeMCU 1.0 (ESP_12E Module) nodemcuv2
ESP8266 NodeMCU with SSD1306 OLED included
Repere: pastille Jaune

Reseau WIFI : ESP_755F2B

info sur reset :
SDK:2.2.2-dev(38a443e)
/Core:3.1.2=30102000
/lwIP:STABLE-2_1_3_RELEASE
/glue:1.2-65-g06164fb
/BearSSL:b024386


Version : 14-02-2024
Test sur Module #1
Jaune ( avant modif programme!)

SSID : ESP_755F2B
Protocole : 802.11g
Type de sécurité : Ouvrir
Bande passante réseau : 2,4 GHz
Canal réseau : 1
Adresse IPv4 : 192.168.4.2
..etc..
avec scanner WIFI coté PC ASUS WIN10, parametres WIFI




USAGE de l' ANALYSER LOGIQUE SQA50 , en protocole I2C

images/t_SQA_test_I2C_ESP8266_HW-364A_Orange_with_OLED_2024-0214.gif

On voit bien que SCL est sur D6 pin GPIO12, et SDA pin GPIO14
Je trouve bizarre que ce soit les pins SPI par defaut qui soient utilisées comme I2C Software !
Conclusion:
La configuration du Sample Code fourni , est erronée : SCL et DATA croisées dans la config I2C!

I2C speed :
Mesures sur #1 Jaune avec nouveau programme

sans modif u8g2.setBusClock .. donc par defaut
D6 SCL periode 22µS ON 130µS OFF = 152 µS => 7.5Khz

Mesures sur #1 Jaune avec u8g2.setBusClock(600000);
D6 SCL periode 6.0µS ON , 9.6µS OFF = 15.6 µS => 64.1 Khz



Test #2 :Nouveau code de test

Arduino Board selection

images/t_ESP8266_Arduino_Board.gif

//Test1_ESP8266_HW-341A
#include <Arduino.h>
//https://www.arduino.cc/reference/en/libraries/u8g2/
#include <U8g2lib.h> // version 2.23.15 installed
#include <Wire.h>
// adresse I2C = 0x78
// voir nodemcu_esp8266_pinout.jpg
#define SCL 12 // D6 GPIO12
#define SDA 14 // D5 GPIO14


#define VERSION "14-02-2024"
#define MODULE "ESP8266_HW-341A"
#define BOARD "NodeMCU 1.0 (ESP_12E Module) nodemcuv2"

//Version Originale proposée sur le site vendeur
//U8G2_SSD1306_128x64_NONAME_F_SW_I2C
//u8g2(U8G2_R0,/'clock='/14,/'data='/12,U8X8_PIN_NONE); <-- erreur !!!
/*
Erreur sur Affichage original LCD !!!!
Hello World
IM ESP8266 OLED!
D5 GPIO 12 SCL ..
erreur c'est D6 !
D6 GPIO 14 SDA ..
erreur c'est D5 !
*/

//U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /*data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,SCL,SDA, U8X8_PIN_NONE);

#define LED_Bleue 2 // led bleue (pull Up) interne au module Lolin
int i,j,k;
long L1;
byte nombreDePeripheriquesTrouves = 0;

uint32_t getBusClock(void);
void setBusClock(uint32_t clock_speed);

void setup()
{
Serial.begin(115200);
Serial.println("\r\n");
Serial.print(" MODULE : ");
Serial.println(MODULE);
Serial.print(" BOARD : ");
Serial.println(BOARD);
Serial.println(F(" ESP8266 NodeMCU with SSD1306 OLED included\r\n"));
Serial.print(" Version : ");
Serial.println(VERSION);
Serial.println(" <U8g2lib.h> version 2.23.15 installed");
Serial.println(" D5=SDA=GPIO14 D6=SCL=GPIO12 I2C@=0x78");
Serial.println(".");
//L1=u8g2.getBusClock();
//Serial.println(L1);
u8g2.setBusClock(600000);
u8g2.setI2CAddress(0x78);
pinMode(LED_Bleue, OUTPUT); //
digitalWrite(LED_Bleue, LOW);
delay(1000);
digitalWrite(LED_Bleue, HIGH);
delay(1000);

u8g2.begin();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_7x14B_tf);
u8g2.drawStr(20, 14," L1 "); // Display resolution is 64 x 128
u8g2.drawStr(30, 28," L2 ");
u8g2.drawStr(40, 42," L3 ");
u8g2.drawStr(50, 60," L4 ");
u8g2.sendBuffer();
delay(3000);
j=0;
}

void loop (void)
{
u8g2.setFont(u8g2_font_7x14B_tf);
u8g2.clearBuffer();
u8g2.drawStr(0,14,"Hello Chaps");
u8g2.drawStr(10,28,"Test ESP8266 ");
u8g2.drawStr(10,42,"I2C @0x78 ");
u8g2.drawStr(10,56,"D5=SDA D6=SCL");
u8g2.sendBuffer();
delay(3000);
digitalWrite(LED_Bleue, LOW);
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_ncenR18_tf ); // Font size 18
u8g2.drawStr(0,18,"12345");
u8g2.drawStr(0,40,"67890");
u8g2.drawStr(0,62,"ABCDE");
u8g2.sendBuffer();
digitalWrite(LED_Bleue, HIGH);
delay(3000);
j++;
Serial.println(j);
}



Resultats :



Nota :
la config WIFI est écrasée !
Messages récupérés via l' UART ( terminal YAT via USB link COM15)


YAT terminal
SDK:2.2.2-dev(38a443e)
/Core:3.1.2=30102000
/lwIP:STABLE-2_1_3_RELEASE
/glue:1.2-65-g06164fb
/BearSSL:b024386

MODULE : ESP8266_HW-341A
BOARD : NodeMCU 1.0 (ESP_12E Module) nodemcuv2
ESP8266 NodeMCU with SSD1306 OLED included

Version : 14-02-2024
<U8g2lib.h> version 2.23.15 installed
D5=SDA=GPIO14 D6=SCL=GPIO12 I2C@=0x78
.
0
1
2
3




Test #3 avec capteur AM2302 :Temperature et Humidité
rev 27/04/2024

Montage
Hardware:
#define SCL 12 // D6 GPIO12
#define SDA 14 // D5 GPIO14
#define LED_Bleue 2 //led bleue (pull Up) interne au module ESP
#define LED_Verte 18 //D3 LED at GPIO 0 --> led verte (pull Down)
#define LED_Rouge 15 //D8 LED at GPIO 15 --> led Rouge (pull Down)
#define BP1 13 //D7 BP at GPIO 13 <-- BP tire au Gnd

#define DHTTYPE DHT22 ; // DHT type (DHT11, DHT22)
int DHTPIN = 5 ; // GPIO D1 <-- Broche du capteur AM2

nota: les leds ne sont pas installées.., ni le BMP085

images/t_Proto_ESP8266_OLED_AM2302_2024-0218.gif



Software Test #3:

Arduino code :
(rev 27/04/2024)
Test3_ESP8266_HW-341A_2024.ino
Avec Script Java et page HTML incluse dans le code .

D:/_ESP8266_avec_OLED_HW-364A_2024/Test3_ESP8266_HW-341A_2024/consigne_javascript_2-BP_ok.html
Test javascript seul : /
consigne_javascript_2-BP_ok.html ..OK

Pour l'affichage OLED, tenir compte de la Hauteur et largeur des caracteres
pour avoir un positionnement correct des textes et variables affichées



Résultats :

L'ESP est bien vu sur mon réseau WIFI FreeBox ON_AIR2024
Module 1 Pastille JAUNE : Mac @
: 08:F9:E0:75:5F:2B

Nota : compilation AVEC option Debug Serial ..Enabled

SDK:2.2.2-dev(38a443e)/Core:3.1.2=30102000
/lwIP:STABLE-2_1_3_RELEASE/glue:1.2-65-g06164fb/BearSSL:b024386


MODULE : ESP8266_HW-341A
BOARD : NodeMCU 1.0 (ESP_12E Module) nodemcuv2
ESP8266 NodeMCU with SSD1306 OLED included

Test2_ESP8266_HW-341A_2024-0216 18-02-2024
<U8g2lib.h> version 2.23.15 installed
D5=SDA=GPIO14,D6=SCL=GPIO12,I2C@=0x78,AM2302 sur D1=GPIO5

ESP getCoreVersion : 3.1.2
ESP getSdkVersion : 2.2.2-dev(38a443e)

Init E/S
A0 analog, Init E/S
LED_Bleue 2 interne au module ESP
LED_Verte =D3 LED at GPIO 0
LED_Rouge = D8 LED at GPIO 15
BP1 = D7 BP at GPIO 13
Test 3 leds
DHT11 Temp : 19.80 Humid : 55.80 ; A0 : 16

Attend connection Wifi STAtion
fpm close 3
mode : sta(08:f9:e0:75:5f:2b)
add if0
.....scandone
state: 0 -> 2 (b0)
.state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 3
cnt
..
connected with ON_AIR2024, channel 11
ip:
192.168.0.110,mask:255.255.0.0,gw:192.168.0.254
ip:192.168.0.110,mask:255.255.0.0,gw:192.168.0.254
.
Version :10.3.0
Connected to ON_AIR2024
IP address: 192.168.0.110
Default hostname: ESP-755F2B
Connected, mac address: 08:F9:E0:75:5F:2B
Gateway IP: 192.168.0.254
Subnet mask: 255.255.0.0
DNS #1, #2 IP: 212.27.40.241 , 212.27.40.240.
HTTP server started
0/1 ; DHT11 Temp.: 19.90 ; Humid : 57.10 ; A0 : 9 , Consigne =00000
0/2 ; DHT11 Temp.: 19.90 ; Humid : 57.00 ; A0 : 9 , Consigne =00000

[String] '<html lang ... 0xf080f0; ': Reallocating large String(171 -> 232 bytes)
[String] '<html lang ... #000088; }': Reallocating large String(232 -> 330 bytes)
[String] '<html lang ... ht:40px;} ': Reallocating large String(330 -> 436 bytes)
[String] '<html lang ... } </style>': Reallocating large String(436 -> 467 bytes)
[String] '<html lang ... vascript">': Reallocating large String(467 -> 482 bytes)
[String] '<html lang ... r Consigne': Reallocating large String(482 -> 518 bytes)
[String] '<html lang ... pRequest()': Reallocating large String(518 -> 542 bytes)
[String] '<html lang ... insVite(){': Reallocating large String(542 -> 585 bytes)
[String] '<html lang ... nsigne - 1': Reallocating large String(585 -> 644 bytes)
[String] '<html lang ... = Consigne': Reallocating large String(644 -> 686 bytes)
[String] '<html lang ... ', true) }': Reallocating large String(686 -> 708 bytes)
[String] '<html lang ... lusVite(){': Reallocating large String(708 -> 733 bytes)
[String] '<html [Warning: Maximal number of characters per line exceeded!
Check the line break settings in [
Terminal > Settings > Text]
or increase the limit in [Terminal > Settings > Advanced].]
Led Bleue : 1
Led Verte : 0

[String] '<html lang ... 0xf080f0; ': Reallocating large String(171 -> 232 bytes)
..etc ...
[String] '<html lang ... lusVite(){': Reallocating large String(708 -> 733 bytes)
[String] '<html [Warning: Maximal number of characters per line exceeded! Check the
line break settings in [
Terminal > Settings > Text] or increase the limit in [Terminal >
Settings > Advanced].]
Led Bleue : 0
Led Verte : 0

[String] '<html lang ... 0xf080f0; ': Reallocating large String(171 -> 232 bytes)
[String] '<html lang ... #000088; }': Reallocating large String(232 -> 330 bytes)

sans le debug.. (compilation Debug Serial .disabled)

4/24 ; DHT11 Temp.: 20.40 ; Humid : 56.00 ; A0 : 9 , Consigne =00000
4/25 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 16 , Consigne =00000
4/26 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 9 , Consigne =00000
4/27 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 9 , Consigne =00000
4/28 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 9 , Consigne =00000
4/29 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 15 , Consigne =00000
4/30 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 9 , Consigne =00000
4/31 ; DHT11 Temp.: 20.40 ; Humid : 55.20 ; A0 : 16 , Consigne =00000
5/32 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 9 , Consigne =00000
6/33 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 9 , Consigne =00000
6/34 ; DHT11 Temp.: 20.40 ; Humid : 55.90 ; A0 : 16 , Consigne =00000



sur terminal YAT Page web sur PC ASUS et................. test OK sur appli javascript seule !


Problemo : pas possible de recupérer la Consigne ( Javascript)
Alors que le code java ,tout seul , est bien OK.





..A suivre avec Web socket






WIFI tests sur 2 autres modules NEUFs ,non modifiés


Test sur Module #2 ...pastille Orange
ESP8266 HW-364A avec LCD OLED ... OK
meme affichage sur LCD , mais


Reseau Wifi ! ESP_D2823A

infos avec Wifi Scanner :
ESP_D2823A;
Mac @: 86-F3-EB-D2-82-3A;
-54 dBm;92%;
Infrastructure;b, g;1;
2.4 GHz;2.412 GHz;
20 MHz;1x1;WEP;
WEP;Open;No;
54 Mbps;1 Mbps;

sur PC ASUS :
Se connecter sur ESP_D2823A
Propriétés :

SSID : ESP_D2823A
Protocole : 802.11g
Type de sécurité : Ouvrir
Bande passante réseau : 2,4 GHz
Canal réseau : 1
Adresse IPv4 : 192.168.4.2
........etc...


---------------------------------------------------------------------------------------


Test sur Module #3 ......pastille BLEUE
ESP8266 HW-364A avec LCD OLED ... OK
meme affichage que le module #1 et~#2, mais
Wifi Scanner : ESP_75AEB9;
Mac @ : 0A-F9-E0-75-AE-B9;



---------------------------------------------------------------------------------------



paulfjujo@free.fr