Go Down

Topic: Webbino - Server web "dinamico" per Arduino (Read 56706 times) previous topic - next topic

SukkoPera

"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

As_Needed

MY PWS!
http://forum.arduino.cc/index.php?topic=413560.0
http://meteoflaminia.zapto.org:4600

As_Needed

Allora, per adesso, non vedo nessun problema, si carica almeno il triplo più velocemente! Ovviamente appena il sito risponde avviene il caricamento veloce, se c'è qualcosa che non rallenta il loop comunque, è un caricamento quasi istantaneo ;) Nel mio caso come già detto in precedenza sarebbe da isolare l'anemometro, facendolo gestire da un'altra MCU e non dalla stessa che si occupa del sito.
Comunque per ora, un bel lavoro sukko questa beta :)
MY PWS!
http://forum.arduino.cc/index.php?topic=413560.0
http://meteoflaminia.zapto.org:4600

SukkoPera

#93
Nov 22, 2016, 02:43 pm Last Edit: Nov 22, 2016, 02:48 pm by SukkoPera
Io oggi sono a casa con la febbre e ne sto approfittando per testare su ENC28J60 e va alla grande anche lì!

Volevo testare anche la DigiFi ma la Seriale USB-CDC mi sta facendo impazzire >:(.

EDIT: Fixati warning.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

gpb01

Si, ma sul WiFi hai dei problemi nel rispondere alla HTTP GET ...
... ho messo in trace Wireshark e, mentre la HTTP GET parte corettamente, da te NON mi sembra arrivino risposte corrette.

Ti allego il file di cattura così, se ti scarichi Wireshark lo puoi importare ed esaminare.

Guglielmo
Search is Your friend ... or I am Your enemy !

SukkoPera

In effetti arrivano boiate. Vedo di capire, per quanto continui a sembrarmi tutto OK a livello di codice :smiley-confuse:.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

gpb01

Se ti può servire ti mando il file di cattura dell'esempio standard di Arduino WiFiWebServer che interrogato spedisce indietro il valore delle porte analogiche ... guarda la differenza ... ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

SukkoPera

#97
Nov 22, 2016, 03:28 pm Last Edit: Nov 22, 2016, 03:30 pm by SukkoPera
Scusa @gpb01, poi ti prometto che non ti rompo più le scatole, puoi provare a rendere il metodo flushBuffer() così:
Code: [Select]
void WebClientWifi::flushBuffer () {
if (avail > 0) {
DPRINT (F("Flushing "));
DPRINT (avail);
DPRINTLN (F(" bytes to client"));

#ifndef WEBBINO_NDEBUG
size_t written =
#endif
internalClient.write ((const uint8_t *) buf, avail);
DPRINT (F("Actually flushed: "));
DPRINT (written);
DPRINTLN (F(" bytes"));
avail = 0;
}
}


? Almeno vediamo se i byte vengono scritti o meno, perché se li passo alla write() e questa non li invia, non saprei che farci.

Con ESP standalone:
Code: [Select]
New client
Request for "/index.html?state=on"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.0"
Flushing 256 bytes to client
Actually flushed: 256 bytes
Flushing 256 bytes to client
Actually flushed: 256 bytes
Processing replacement tag: "ST_ON_CHK"
Replacement is: "checked"
Processing replacement tag: "ST_OFF_CHK"
Replacement is: ""
Flushing 197 bytes to client
Actually flushed: 197 bytes
Client disconnected


"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

gpb01

#98
Nov 22, 2016, 03:35 pm Last Edit: Nov 22, 2016, 03:39 pm by gpb01
... ecco il risultato ... c'è evidentemente un problema ...

Code: [Select]
Webbino 0.9.0
Trying to get an IP address through DHCP
FW Version: 1.1.0
Connecting to AP: xxxxxxxxx
Joined AP, local IP address: 192.168.1.172
DHCP configuration done:
- IP: 192.168.1.172
- Netmask: 255.255.255.0
- Default Gateway: 192.168.1.1
Pages available in flash memory:
0. /index.html
Tags available:
New client
Request for "/index.html"
Flushing 256 bytes to client
Actually flushed: 0 bytes
Flushing 238 bytes to client
Actually flushed: 0 bytes
Client disconnected
New client
Request for "/index.html"
Flushing 256 bytes to client
Actually flushed: 0 bytes
Flushing 238 bytes to client
Actually flushed: 0 bytes
Client disconnected
New client
Request for "/index.html"
Flushing 256 bytes to client
Actually flushed: 0 bytes
Flushing 238 bytes to client
Actually flushed: 0 bytes
Client disconnected
New client
Request for "/index.html"
Flushing 256 bytes to client
Actually flushed: 0 bytes
Flushing 238 bytes to client
Actually flushed: 0 bytes
Client disconnected

Guglielmo

P.S. Occhio che hai lasciato una riga a metà nel codice (se non si è in debug) "size_t written ="
Search is Your friend ... or I am Your enemy !

gpb01

#99
Nov 22, 2016, 03:39 pm Last Edit: Nov 22, 2016, 03:40 pm by gpb01
... scusa, io QUI vedo che la sintassi della WiFi.write() richiede solo un parametro, il carattere da trasmettere ... dove hai trovato due parametri (puntatore e size) ?

Guglielmo
Search is Your friend ... or I am Your enemy !

SukkoPera

C'è un overload:

Code: [Select]
  virtual size_t write(uint8_t);
  virtual size_t write(const uint8_t *buf, size_t size);


E peraltro quella a singolo parametro richiama l'altra:
Code: [Select]
size_t WiFiClient::write(uint8_t b) {
 return write(&b, 1);
}


"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

gpb01

#101
Nov 22, 2016, 03:46 pm Last Edit: Nov 22, 2016, 03:46 pm by gpb01
C'è un overload ...
Aha ... ok, non ero andato a guardare dentro la libreria ... come al solito il reference e carente ...  :smiley-confuse:

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01

Scusa ... ma written chi lo aggiorna ? ? ?

Non dovrebbe essere:  written = internalClient.write ((const uint8_t *) buf, avail); ?

Guglielmo
Search is Your friend ... or I am Your enemy !

SukkoPera

Infatti è così, a dispetto della strana sintassi con quell'#ifdef in mezzo :D.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

gpb01

#104
Nov 22, 2016, 03:52 pm Last Edit: Nov 22, 2016, 03:52 pm by gpb01
Infatti è così, a dispetto della strana sintassi con quell'#ifdef in mezzo :D.
:o :o :o ... come diavolo fa a funzionare ? ? ?

E' un #ifndef WEBBINO_NDEBUG ed io HO definito WEBBINO_NDEBUG !

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up