Non è detto che se ci colleghiamo con ESP alla rete WiFi di casa, internet sia presente.
Sapete, per caso, se c'è modo di saperlo?
Un po' come in windows, quando alla connessione WiFi succede che appare il messaggio "Internet non presente"
Una chiamata ntp per avere l'ora...
Se fallisce è probabile che ti manchi internet
Un messaggio ad un telegram bot
Magari un ping a google
O un nslookup...
Vero, la chiamata all' NTP già la faccio, quindi se non mi risponde significa che non ho internet.
Pensavo che ci fosse un sistema più a "basso livello", che so, una lettura di una portante (sono residui del mio cervello di ex radioamatore analogico).
E' che su alcuni miei macchinari collegati via RS485 al cloud succede che sono in rete wifi, il cliente vede sul touchscreen la potenza del segnale in dB (quindi teoricamente lo scambio dati tra ESP8266 e PLC via rs485 funziona) ma non si connettono al cloud (mentre il mio che ho qui in prova si connette, quindi il cloud funziona) e non so di chi è la colpa...
Molti router, per esempio hanno un massimo di connessioni: e se la macchina del cliente non si connettesse perché ha segnale wifi ma non ha connessione?
Boh
Credo che tu ci abbia preso, ma non so aiutarti...
Dipende se la gestione del wifi è "casereccia" o con policy dedicate.
Parlando di ambito industriale dubito ci siano captive portal ed altre simili facezie, io direi di fare un ping ad un ntp server a caso.
Oppure appunto "aggiornare" l'ora sempre tramite ntp e in caso negativo mandare messaggio a video.
Altra possibilità, ma bisogna interagire con il gestore dell'infrastruttura IT del cliente, verificare quanti dispositivi supporta il router o l'access point di turno.
... io uso la tecnica del "ping" a 8.8.8.8 ... tempo di risposta medio 13 msec ... è uno dei server DNS di Google
Guglielmo
Ho visto in giro che ci sono vari esempi, librerie eccetera: non esiste una semplicissima riga per fare un ping, una volta che sono connesso alla rete wifi?
Su ESP32 (ho abbandonato da tempo gli ESP8266) io faccio semplicemente la #include della libreria ESP32Ping.h e poi chiamo la Ping.ping(indirizzo, no_ping) e verifico se è andata a buon fine o meno.
Guglielmo
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.