NODEMCU (ESP8266 E12) disconnessione dalla rete.

Buongiorno a tutti, sto realizzando un semplice progetto con un NODEMCU (ESP8266 E12), per accendere e spegnere il relè da remoto e va alla grande, il problema invece nasce dal fatto che dopo qualche minuto il modulo si disconnette dalla rete. Pensando fosse un difetto del modulo , l'ho sostituito con uno nuovo, ma da lo stesso problema. IL PROBLEMA che sto ponendo è relativo appunto alla disconnessione del modulo e se si può ovviare a livello di software Ringrazio fin d'ora eventuali suggerimenti.
immagine di riferimento

Ricordo sempre che questo è il forum di Arduino.cc dove si fornisce assistenza per problemi relativi a problematiche che coinvolgono Arduino, i suoi collegamenti e la sua programmazione.

Quindi, ben vengano domande che riguardano moduli ESP8266 collegati ad Arduino, ma domande per moduli che nulla hanno a che vedere con Arduino, prodotti da altri produttori che hanno semplicemente utilizzato/sfruttato l'IDE per sviluppare un loro "core" e facilitare la programmazione delle loro schede, come le schede NodeMcu, sarebbe bene che venissero poste al produttore. Grazie.

Guglielmo

P.S.: Ciò non toglie che, se qualcuno avesse la risposta al tuo quesito, sicuramente cercherà di aiutarti :wink:

gpb01 anche questa volta hai ragione! Ho presupposto sbagliando. Mi ritiro in buon ordine chiedendo scusa!

filosonos:
gpb01 anche questa volta hai ragione! Ho presupposto sbagliando. Mi ritiro in buon ordine chiedendo scusa!

Nessun problema e ripeto quanto già scritto ...
... se qualcuno avrà la risposta al tuo quesito, sicuramente cercherà di aiutarti :wink:

Guglielmo

Aggiungi questa riga in setup()
potrebbe risolvere il tuo problema.

WiFi.setAutoReconnect(true);

busco:
Aggiungi questa riga in setup()
potrebbe risolvere il tuo problema.

WiFi.setAutoReconnect(true);

Potrebbe risolvere, anche se ....
... su un lotto di alcune decine, ne ho anche io una che continua a disconnetersi di sua iniziativa e ... non c'è WiFi.setAutoReconnect(true) che tenga ::slight_smile:

L'ho semplicemente buttata ... :smiley:

Guglielmo

grazie del consiglio, utilizzerò quella riga e vi faccio sapere. Ho letto in rete (prima di giungere qui) che è un difetto di questo modulo ma che qualcuno lo ha risolto via software, ma le righe che suggerivano le avevo già nel listato che avevo realizzato (copiato). Ringraziandovi della disponibilità, vado a provare .

adesso funziona e sto cercando un altro problema che ovviamente non sto ad esporre qui, per non essere recidivo, ma girando ho trovato questo link "Using analog input on NodeMCU ESP8266 - Microcontrollers - Arduino Forum", e di argomentazioni simili se ne trovano diverse, solo che io non mastico altre lingue, cavandomela appena con l'italiano :slight_smile: Grazie per l'aiuto ed a risentirci.

filosonos:
adesso funziona e sto cercando un altro problema che ovviamente non sto ad esporre qui, per non essere recidivo ...

... ormai hai fatto 30, facciamo 31 ... dicci quale problema hai e vediamo se è di rapida soluzione :grin:

Guglielmo

ah ah ah non voglio infierire, ma giusto per la cronaca spiego cosa sto cercando di fare.
Il progetto di per se è moltissimamente semplice, "gestione remota di un recinto elettrico per animali." Realizzato con arduino + ethernet è stato già realizzato, ma utilizzarlo in campagna sarebbe stato più laborioso ed oneroso, quindi ecco che la scelta cade su questo modulo NODE MCU E12. Quando si controlla il recinto per riparazione necessita staccare il circuito di alimentazione , in quanto il recinto è attraversato da 6000/7000 volts -0A. dato che può risultare lontano dal guasto la batteria, con il celulare si può, ma non si ha la certezza che il relè abbia funzionato realmente. quindi con un partitore sulla porta analogica si controlla la corrente che si prende all'uscità del relè. il problema che NODEMCU gestisce solamente il pin "A0", differentemente da arduino e per questo non riesco ad andare avanti, ho trovato alcuni spunti , ma non sono riuscito a capirne una.... resistenza. Questo è tutto! Notte a tutti da Francesco!

Come da REGOLAMENTO, punto 15 e seguenti, NON si può parlare di tensioni oltre la "bassissima tensione", quindi, lasciamo perdere il recinto ad alta tensione e concentriamoci sul relè che communta immagino la batteria ... da quanti volt è questa batteria? Una normale 12V o 24V ?

Guglielmo

era giusto per dare l'idea, difatti non bisogna intervenire sull'alta tensione! la batteria è una 12v 24A con pannellino solare

NODEMCU gestisce solamente il pin "A0", differentemente da arduino e per questo non riesco ad andare avanti

E perchè non ti basta un solo ingresso analogico ?
E comunque per controllare se una tensione è presente puoi anche usare un ingresso digitale

filosonos:
era giusto per dare l'idea, difatti non bisogna intervenire sull'alta tensione! la batteria è una 12v 24A con pannellino solare

Come ti ha indicato Brunello, ti basta un qualsiasi pin digitale ed un semplice "partitore di tensione" ...
... tu hai un segnale a 12V, lo devi portare a 3V ... un paio di resistenze in serie tra il +12V ed la massa e prendi il segnale al centro, se i 12V sono presenti, avrai un segnale HIGH, se assenti avrai un segnale LOW. :wink:

Guglielmo

P.S.: magari, per sicurezza, si può aggiungere anche uno Zener per tagliare eventuali segnali oltre i 3V ... ::slight_smile:

Ho pulito il thread dai vari messaggi per l'utente "doppio" (dilettante) ora rimosso ... riprendiamo quindi la discussione da qui :slight_smile:

Guglielmo

che casino che ho combinato, grazie Guglielmo

Salve a tutti belli e brutti... Mi sembra giusto e doveroso da parte mia esplicarvi il prosieguo di questa discussione che penso sia arrivata alla conclusione in quanto credo di aver risolto il problema della disconnessione del modulo dal Router.
Non so se la procedura sia molto ortodossa, ma fra alcuni giorni di test spero di poter dire che è andata a buon fine al 100%.
Praticamente, caricata la libreria "#include <ESP8266Ping.h>", impostando millis() per tot minuti, (circa ogni 30 min.) fa un ping al router con "Ping.ping(remote_ip)" nel caso trova un errore si riconnette con "WiFi.begin(ssid, password);" però ho anche trovato un'altra opzione che non mi sembra molto adeguata in quanto riavvia il modulo con "ESP.restart();" e credo che questa opzione si possa utilizzare in seguito per altri problemi. Sperando nella chiarezza della mia esposizione, :confused: vi auguro la buona serata :sweat_smile:

Francesco

Grazie per la condivisione

Dopo due giorni di funzionamento posso dire che il progetto VA!
Bisogna alimentare il Nodemcu con un alimentatore 5v utilizzando i pin VIN e GND e gli altri moduli che andate ad inserire, (relay o quant0altro) con un alimentatore separato, con il GND in comune.
Francesco

filosonos:
Praticamente, caricata la libreria "#include <ESP8266Ping.h>", impostando millis() per tot minuti, (circa ogni 30 min.) fa un ping al router con "Ping.ping(remote_ip)" nel caso trova un errore si riconnette con "WiFi.begin(ssid, password);"

... buono a sapersi, grazie della condivisione :slight_smile:

Guglielmo