Wifinfo, connexion réseau impossible
-
Pour tester si le problème vient du nodemcu (défectueux ?) ou des paramètres de configuration (erronés ?), j'ai chargé un petit script de test, voir ci-dessous avec le résultat, test réalisé à 80MHz.
Le nodemcu se connecte bien sans problème. J'en déduis qu'il y a un problème de configuration dans le script WifInfo ?// **********************************************************************************
// Include Arduino header
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
//
// Gestion de la mise à jour du firmware via le WiFi (Over The Air)
#include <ArduinoOTA.h>
//
// Simulation de la mémoire EEPROM
#include <EEPROM.h>
//
/*- WL_NO_SHIELD = 255, // for compatibility with WiFi Shield library
WL_IDLE_STATUS = 0,
WL_NO_SSID_AVAIL = 1,
WL_SCAN_COMPLETED = 2,
WL_CONNECTED = 3,
WL_CONNECT_FAILED = 4,
WL_CONNECTION_LOST = 5,
WL_DISCONNECTED = 6
*/
const char* ssid = "yyyyyyyyy";
const char* password = "xxxxxxxxx";//IPAddress staticIP(192,168,1,22);
//IPAddress gateway(192,168,1,9);
//IPAddress subnet(255,255,255,0);void setup(void)
{
Serial.begin(115200);
Serial.println();Serial.printf("Connecting to %s\n", ssid);
WiFi.begin(ssid, password);
Serial.printf("Connection status 1 : %d\n", WiFi.status());
//WiFi.config(staticIP, gateway, subnet);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected, IP address: ");
Serial.println(WiFi.localIP());
if (WiFi.status() == WL_CONNECTED)
{
uint8_t macAddr[6];
WiFi.macAddress(macAddr);
Serial.printf("Connected, mac address: %02x:%02x:%02x:%02x:%02x:%02x\n", macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]);
}
Serial.printf("Connection status 2 : %d\n", WiFi.status());
// Lecture du hostname et changement
Serial.printf("Default hostname: %s\n", WiFi.hostname().c_str());
//WiFi.hostname("ESP_Linky");
//Serial.printf("New hostname: %s\n", WiFi.hostname().c_str());
}
void loop() {}
Résultat sur le moniteur série :
87
Connecting to yyyyyyyyy
scandone
Connection status 1 : 6
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 3
cnt
..
connected with yyyyyyyyy, channel 2
dhcp client start...
...ip:192.168.2.125,mask:255.255.255.0,gw:192.168.2.1
.
Connected, IP address: 192.168.2.125
Connected, mac address: 84:f3:eb:18:39:24
Connection status 2 : 3
Default hostname: ESP_183924
pm open,type:2 0 - WL_NO_SHIELD = 255, // for compatibility with WiFi Shield library
-
Bonjour,
Dans ton sketch de test, tu fais une boucle infinie jusqu'à obtenir la connexion …
Dans Wifinfo, la tentative de connexion est limitée à 5 secondes, au delà on passe en mode AP …
Je te suggère (comme certains l'ont déjà fait par ailleurs), d'augmenter ce délai et de le passer à 10 ou 30 s …
c'est dans le fichier WifInfo.ino, fonction WifiHandleConn() …
voir cette boucle :
timeout = 50; // 50 * 200 ms = 5 sec time out
// 200 ms loop
while ( ((ret = WiFi.status()) != WL_CONNECTED) && timeout )
{
// Orange LED
LedRGBON(COLOR_ORANGE);
delay(50);
LedRGBOFF();
delay(150);
--timeout;
}passer la variable timeout à 100 ou à 300 et re tester …
-
Merci pour cette réponse.
J'avais déjà essayé de passer le timeout à 30s sans succès.
Dans le sketch de test, la connexion est obtenue en 3s (6 '.' envoyés en print).
Je peux essayer à nouveau avec un long timeout mais je doute un peu (?) -
Damned, je viens de tenter de charger (pour la 2ème fois) WifInfo sur le Nodemcu, mais ce coup ci sans succès (!)
Pour être plus sûr, je viens de repartir de la configuration de S. Remy
https://github.com/sremy91/LibTeleinfo
Je refais une compilation/vérification avec l'IDE Arduino, je téléverse puis je charge les fichiers les fichiers pour la partie serveur avec Esp8266 sktech data upload ...
Mais cette fois, je ne détecte plus le SSID du nodemcu (!) ... donc plus de page web de configuration.
Je ne suis pas super familier de l'IDE Arduino pour cette configuration.
Comment puis-je faire pour débugger WifInfo ? -
Tu peux debugger facilement en le branchant au port USB de ton PC via le moniteur série de l'arduino IDE par contre il faut que tu commentes ces lignes :
Dans Wifinfo.ino :
#ifdef DEBUG_SERIAL1
Serial.begin(1200, SERIAL_7E1);
Serial.swap();
#endifDans Wifinfo.h, change :
#define DEBUG_SERIAL Serial1
par
#define DEBUG_SERIAL SerialTu auras alors le debug sur le moniteur série.
N'oublie de faire l'inverse pour récupérer les informations de ton compteur
Seb@stien
-
Ok, j'ai recompilé et téléversé le code en mode DEBUG comme indiqué par Seb3d.
Je récupère le bavardage que j'ai un peu de mal à interpréter. Le module ne part toujours pas en mode AP mais je crois comprendre qu'il se connecte au réseau local en mode STA.
Voici ci-dessous le début des messages (identifiants masqués) avant le cyclage sur ":urch 49, 49" .... C'est un peu long mais si cela vous permet de lire dans les entrailles de poisson (?)SDK:2.2.1(cfd48f3)/Core:2.4.2/lwIP:2.0.3(STABLE-2_0_3_RELEASE/glue:arduino-2.4.1-13-g163bb82)/BearSSL:6d1cefc
SPIFFSImpl: allocating 512+240+1400=2152 bytes
SPIFFSImpl: mounting fs @300000, size=fb000, block=2000, page=100
SPIFFSImpl: mount rc=0
Good CRC, not set!
========== SDK Saved parameters Start
Mode: STA
PHY mode: N
Channel: 2
AP id: 0
Status: 1
Auto connect: 1
SSID (9): xxxxxxxxx
Passphrase (11): xxxxxxxxxxx
BSSID set: 0
========== SDK Saved parameters End
Connecting to: SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
wata_2013Print::write(data,len) should be overridden for better efficiency
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
with key 'SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
wata;062013SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
'...
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
sta config unchangedscandone
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 4
cntconnected with xxxxxxxxx, channel 2
dhcp client start...
ip:192.168.2.125,mask:255.255.255.0,gw:192.168.2.1
Waited SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
200SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
ms
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
Connected!
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
IP address : SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
192.168.2.125
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
MAC address : SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
84:F3:EB:18:39:24
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
StaticRequestHandler: path=/font uri=/font isFile=0, cache_header=max-age=86400
StaticRequestHandler: path=/js uri=/js isFile=0, cache_header=max-age=86400
StaticRequestHandler: path=/css uri=/css isFile=0, cache_header=max-age=86400
===== Wifi
ssid :xxxxxxxxx
psk :xxxxxxxxxxx
host :WifInfo-183924
ap_psk :
ap_retrycount:150
OTA auth :OTA_WifInfo
OTA port :8266
Config : DEBUG
===== Emoncms
host :emoncms.org
port :80
url :/input/post.json
key :
node :0
freq :0===== Jeedom
host :jeedom.local
port :80
url :/jeedom/plugins/teleinfo/core/php/jeeTeleinfo.php
key :
compteur :
freq :0===== Domoticz
host :192.168.2.50
port :8080
url :/json.htm
user :
password :
idx_txt :73
idx_p1sm :71
idx_crt :72
idx_elec :0
idx_kwh :0
idx_pct :0
freq :0
HTTP server started
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
SPIFFS_close: fd=1
:urn 49
:urch 49, 49
pm open,type:2 0
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49
:urch 49, 49Philippe
-
@Phi13 said in Wifinfo, connexion réseau impossible:
Et quand tu vas sur l'IP : 192.168.2.125 tu n'as rien ? (http://192.168.2.125)Seb@stien
-
Je ne comprends pas tout
Effectivement, en allant sur 192.168.2.125, j'ai le serveur Wifinfo (je pensais qu'il n'était dispo que sur 192.168.4.1 .... ou c'est uniquement que pour la première utilisation ?)
Cela voudrait dire que mon module fonctionne ?
(je ne vois pas le retour d'info sur Domoticz car j'ai déconnecté l'ESP8266 de mon tableau electrique et de la téléinfo ...)
... bizarre.... -
@Phi13 said in Wifinfo, connexion réseau impossible:
Je ne comprends pas tout
Effectivement, en allant sur 192.168.2.125, j'ai le serveur Wifinfo (je pensais qu'il n'était dispo que sur 192.168.4.1 .... ou c'est uniquement que pour la première utilisation ?)Lors de la première utilisation le module se met en mode AP, crée son propre réseau WIFI et a lui même l'adresse IP 192.168.4.1 … tu te connectes sur son réseau WIFI, et avec ton navigateur en adressant 192.168.4.1, tu tombes sur le serveur web embarqué … tu configures ton propre SSID, ta clé et le système redémarre et acquière une adresse sur ton propre réseau WIFI (ici 192.168.2.125) …
Par la suite, si un jour il ne capte pas ton réseau WIFI, ou s'il ne parvient pas à s'y connecter (par exemple suite à changement de la clé), il se remettra en mode AP …
Ça semble fonctionner …
-
C'est magique !
Merci pour les explications. Je vais recompiler en mode "normal" et tester la transmission vers Domoticz.
Bonne soirée -
COOL
Ca marche, je récupère bien les valeurs dans Domoticz ...
Yessssss
Merci à vous tous pour votre travail et votre aide !
Philippe