Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Stabilità connessione app - modulo
#1
Ciao,
con il mio kit3 cactus sto riscontrando da più tempo che la connessione tra modulo e telefono non è stabile, sia in wifi che da remoto.
In pratica capita a volte che avviando l'app non ci si riesca proprio a collegarsi al modulo. Poi magari dopo 5 minuti si collega. Oppure se sono collegato con l'app aperta e per qualche motivo si scollega (e compare la scritta reconneting) a volte si riconnette subito altrimenti devo sempre aspettare 4 - 5 minuti.

Da vostre esperienze che mi dite?
Reply
#2
Ciao Dok,
io fossi in te, controllerei in primis i jumper che vanno sui fili rx tx (che non siano interrotti).
Controlla se il tuo indirizzo ip cambia spesso, questo potrebbe comportare i tempi d'attesa che hai descritto finchè il cloud aggiorna l'ip.
infine proverei a caricare un altro sketch con un altro pannello e vedere se il problema persiste in modo da escludere che non sia un errore di sketch compilato male.
Ciao
Enzo
Reply
#3
Possedendo il kit 3 non ci sono collegamenti sui fili rx tx è già tutto assemblato insieme. Il problema che ogni tanto si verifica, lo fa come descritto anke in wifi locale e gli indirizzi IP sono statici. Lo sketch credo centri poco, quello che però volevo sapere è se qualcuno come me ha notato che qualche volta quando si tenta di connettersi, il collegamento non va a buon fine, ma temporeggiando qualche secondo poi ritorna a funzionare.
Reply
#4
Da diverse prove effettuate e controllando i file log dell'access point a cui il modulo era collegato, notavo che il modulo spesso e volentieri si scollegava e si ricollegava. Cambiando la configurazione da N a G la connessione risultava più stabile. Ho deciso comunque di provare un'altra marca di access point e ho visto che anche in N la connessione era stabile, quindi deduco che se qualcuno ha riscontrato i miei stessi problemi iniziali il fatto era dovuto ad una qualche incompatibilità tra modulo e access point.
Reply
#5
Ciao,
colgo l'occasione per ricordare che se la tensione che fornisce la presa USB è sotto 5V (per esempio 4.8V) il regolatore di tensione 3.3V a bordo della scheda TOP03 potrebbe lavorare male e fornire una tensione al modulo wifi e all'arduino più bassa di 3.3V.

Lo stesso ragionamento vale se si usa l'adattatore ADP-01 + SCF-01, ma in questo caso si può ovviare cortocircuitando il diodo di protezione a bordo dell'adattore (evitando così la caduta di tensione ai suoi capi).
Reply
#6
Succede anche a me....va spesso in "reconnecting"...
In realtà lo fa se chiudo l'App e poi la riapro, non riesce più a riagganciare
Avevo pensato al FW vecchio ma lo fa anche con il nuovo
....Avevo pensato anche ad una incompatibilità con l'iPhone ....
se ti serve da fuori casa e non si riconnette non hai soluzioni. ... se sei a casa puoi provare a spegnere il modulo e sperare nella riconnessione
Anche io in classe N ( router fibra Telecom 100mega)
Reply
#7
(06-19-2016, 02:14 PM)Enzo147 Wrote: Ciao Dok,
io fossi in te, controllerei in primis i jumper che vanno sui fili rx tx (che non siano interrotti).
Controlla se il tuo indirizzo ip cambia spesso, questo potrebbe comportare i tempi d'attesa che hai descritto finchè il cloud aggiorna l'ip.
infine proverei a caricare un altro sketch con un altro pannello e vedere se il problema persiste in modo da escludere che non sia un errore di sketch compilato male.
Ciao
Enzo

Il kit 3 è in realtà come hardware di base una cactus micro, questo è il datasheet: https://github.com/AprilBrother/cactus-m...o-rev2.pdf
Di che jumper stai parlando ?
Reply
#8
Ciao romoloman,
mi era sfuggito che aveva un kit 3.
Chiedo scusa per l'errore. 
Era riferito nel caso usasse il kit 1.
Saluti
Reply
#9
(12-23-2016, 09:34 PM)migreco Wrote: Succede anche a me....va spesso in "reconnecting"...
In realtà lo fa se chiudo l'App e poi la riapro, non riesce più a riagganciare
Avevo pensato al FW vecchio ma lo fa anche con il nuovo
....Avevo pensato anche ad una incompatibilità con l'iPhone ....
se ti serve da fuori casa e non si riconnette non hai soluzioni. ... se sei a casa puoi provare a spegnere il modulo e sperare nella riconnessione
Anche io in classe N ( router fibra Telecom 100mega)

Ciao migreco,
ti confermo che non ci sono incompatibilità con l'iPhone e quasi certamente non è questione del firmware miupanel. Sono certo che se indaghiamo riusciamo a spiegare anche il tuo problema.

Personalmente ho alcuni moduli connessi ormai da mesi 24h su 24 attraverso cloud miupanel e non ho mai riscontrato "impossibilità di connessione". L'unico punto delicato potrebbe essere quello della gestione di un eventuale reset indesiderato del modulo wifi (dovuto a mille fattori, come sottotensioni, cariche eletrostatiche, collegamenti lenti etc..) che provocherebbe la perdita del pannello con conseguente schermata vuota nera. Ma questo evento è facilmente risolvibile andando a monitorare la ricezione del messaggio $RES (che il modulo wifi trasmette al microcontrollore qualche istante dopo il suo reset) reinviando il pannello con lo stato aggiornato. Sul sito miupanel.com vedi questa pagina:

http://www.miupanel.com/Examples/Panel-r...dule-Reset

Relativamente alla velocità di connessione, lo scambio dati tra App e Modulo wifi è così ottimizzato, che basta anche una connessione lentissima per consentire la connessione. Una volta mi sono anche collegato in 3G con il telefono a velocità limitatissima (causa esaurimento "giga") senza problemi.

Tornando alla tua scheda TOP03. Mi confermi che alimentazione stai usando?  In caso, prova a mettere un condensatore tra i pin VCC e GND della TOP03 (equivale a metterlo in uscita al regolatore 3.3V a bordo) in modo da aiutare il regolatore a superare buchi di tensioni o assorbimenti anomali. Infatti, i sintomi che descrivi (riconessione dopo 4-5 minuti etc.., modulo che si disconnette e riconnette all'access point) sono un chiaro indizio di problemi di alimentazione.

Un'altra nota: se abiliti la connessione deil modulo al cloud miuPanel e disabiliti l'opzione "auto open port" (nota per chi non lo sapesse: si fa dal menù configurazione dell'app), non serve modificare nessuna impostazione sul proprio router e non serve preoccuparsi delle porte di comunicazione.

Ciao
Reply
#10
Chicca di come reinviare il pannello in caso di reset del modulo:
Prendendo l'esempio originale per comandare un relè tramite arduino uno:
Code:
void setup() {

 // Initialize Serial Port
 Serial.begin(57600);
 
 // Let uPanel start
 delay(3000);

 // Discharge old partial messages
 Serial.println("");
 
 // Send The Panel (A LED and a Switch)
 Serial.println("$P:D!282;T*15:Arduino Relay;=*20/L1G:0:Relay;/+*10W1:0;");

 // Initialize digital output pin
 digitalWrite(8, 1);
 pinMode(8,OUTPUT);
 
}

String Msg;

void loop() {
 
 int c;
 while ((c = Serial.read()) > '\n') Msg += (char) c;  // Read incoming chars, if any, until new line
 if (c == '\n')                                       // is the message complete?
 {
   if (Msg.equals("#W10")) {digitalWrite(8,1); Serial.println("#L10");}    // Turn OFF LED 1 and Relay if switch is OFF
   if (Msg.equals("#W11")) {digitalWrite(8,0); Serial.println("#L11");}    // Turn ON LED 1 and Relay if switch is ON
   Msg = "";
 }
   
}
Basta aggiungere questa stringa: 
Code:
if (Msg.equals("$RES")){delay(100);Serial.println("$P:D!282;T*15:Arduino Relay;=*20/L1G:0:Relay;/+*10W1:0;");}

in questa maniera verrà reinviato il pannello nel caso il messaggio sulla seriale risulta essere $RES.

Lo sketch finale si dovrà presentare cosi':

Code:
void setup() {

 // Initialize Serial Port
 Serial.begin(57600);
 
 // Let uPanel start
 delay(3000);

 // Discharge old partial messages
 Serial.println("");
 
 // Send The Panel (A LED and a Switch)
 Serial.println("$P:D!282;T*15:Arduino Relay;=*20/L1G:0:Relay;/+*10W1:0;");

 // Initialize digital output pin
 digitalWrite(8, 1);
 pinMode(8,OUTPUT);
 
}

String Msg;

void loop() {
 
 int c;
 while ((c = Serial.read()) > '\n') Msg += (char) c;  // Read incoming chars, if any, until new line
 if (c == '\n')                                       // is the message complete?
 {
   if (Msg.equals("#W10")) {digitalWrite(8,1); Serial.println("#L10");}    // Turn OFF LED 1 and Relay if switch is OFF
   if (Msg.equals("#W11")) {digitalWrite(8,0); Serial.println("#L11");}    // Turn ON LED 1 and Relay if switch is ON
   if (Msg.equals("$RES")) {delay(100);Serial.println("$P:D!282;T*15:Arduino Relay;=*20/L1G:0:Relay;/+*10W1:0;");} // invia nuovamente il pannello in caso di reset .
   
   Msg = "";
 }
   
}
Spero possa tornarvi utile.
Ciao
Enzo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)