P.S. Sono io che sono arretrato
Perché poi quando sukko ha fatto il merged io ero ancora con la versione con i branch, ma alla fine è uguale, solo che adesso è tutto incluso.
Comunque possibile che ti va ancora lento? A me come hai visto si carica velocissima la pagina, poi ci mette un po' a rispondere per colpa di quel maledetto ciclo for, ma quella è colpa mia ![]()
A 64 quanto consuma ?
Mi sembra un po' esagerato, usi lo shield Ethernet ufficiale? Al momento non ho niente sotto mano e non posso fare test comunque.
Ho uno shield comprato su internet, credo sia uno di concorrenza. Comunque non penso sia questo il problema perché quando compilo, compilo sul mio computer senza collegarlo ad arduino.... può essere qualche libreria? Ricordo di avere scaricato pstring o qualcosa di genere all inizio che serviva a webbino o ricordo male?
Sukko ...
... ho scaricato ed installato la 0.9.1git e la situazione è decisamente migliorata (ho lasciato il buffer di default a 64 bytes).
Solo che hai ancora un problema ... quando si accavallano delle richieste ...
Il browser, specie la prima volta, ti chiede la pagina e il favicon ... tu invii la pagina, fai il disconnect, arriva un New client e ... resti li appeso.
Se si aspettano i timeout e il Client disconnect ... bene o male il tutto funziona ...
Guglielmo
P.S.: Sto usando Google Chrome su macOS e la scheda WiFi
Update ...
... LedControl funziona correttamente e non sbaglia un colpo !
Webbino 0.9.1git
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:
0. ST_ON_CHK
1. ST_OFF_CHK
2. WEBBINO_VER
New client
Request for "/index.html"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.1git"
Processing replacement tag: "ST_ON_CHK"
Replacement is: ""
Processing replacement tag: "ST_OFF_CHK"
Replacement is: "checked"
Client disconnected
New client
Request for "/index.html?state=on"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.1git"
Processing replacement tag: "ST_ON_CHK"
Replacement is: "checked"
Processing replacement tag: "ST_OFF_CHK"
Replacement is: ""
Client disconnected
New client
Request for "/index.html?state=off"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.1git"
Processing replacement tag: "ST_ON_CHK"
Replacement is: ""
Processing replacement tag: "ST_OFF_CHK"
Replacement is: "checked"
Client disconnected
New client
Request for "/index.html?state=on"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.1git"
Processing replacement tag: "ST_ON_CHK"
Replacement is: "checked"
Processing replacement tag: "ST_OFF_CHK"
Replacement is: ""
Client disconnected
New client
Request for "/index.html?state=off"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.1git"
Processing replacement tag: "ST_ON_CHK"
Replacement is: ""
Processing replacement tag: "ST_OFF_CHK"
Replacement is: "checked"
Client disconnected
New client
Request for "/index.html?state=on"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.1git"
Processing replacement tag: "ST_ON_CHK"
Replacement is: "checked"
Processing replacement tag: "ST_OFF_CHK"
Replacement is: ""
Client disconnected
New client
Request for "/index.html?state=off"
Processing replacement tag: "WEBBINO_VER"
Replacement is: "0.9.1git"
Processing replacement tag: "ST_ON_CHK"
Replacement is: ""
Processing replacement tag: "ST_OFF_CHK"
Replacement is: "checked"
Client disconnected
... quindi riguarda l'esempio SimpleServer e cosa può creare il problema ... :![]()
Guglielmo
Grazie per aver preso a cuore la cosa, gpb, ma tigggiuro che fatico a comprendere quel che sta succedendo :o.
Innanzitutto, con l'upgrade a 0.9.1git non doveva cambiare assolutamente niente, perché il backend per il Wifi era l'unico che aveva GIÀ il buffering, come si può notare dalla tua osservazione riguardo al fatto che passavo alla write() un array + lunghezza invece che un solo carattere.
Le modifiche della 0.9.1git consistono nell'avere spostato il buffer ad un livello più alto (nella classe Webclient), in modo che funzioni per tutti i backend, ma il codice è esattamente quello che prima era in AllWiFi.h, con praticamente zero modifiche, per cui di fatto con le schede Wifi non mi aspettavo cambiasse niente!
Inoltre, SimpleServer non fa assolutamente niente che non faccia anche LedControl, dato che è l'esempio più basilare, che non usa nessuna funzione "particolare", su cui si basano tutti gli altri, aggiungendo una feature o l'altra.
Ti giuro, mi sento perso
.
L'unica cosa che volevo suggerirti era di provare con diverse dimensioni del buffer: 8, 16, 32, 128... Magari quel chip wireless è un po' schizzinoso su come gli vanno passati i dati?
SukkoPera:
.... L'unica cosa che volevo suggerirti era di provare con diverse dimensioni del buffer: 8, 16, 32, 128... Magari quel chip wireless è un po' schizzinoso su come gli vanno passati i dati?
Oggi non ci sono ... ma appena rientro contavo di fare tali prove ...
Indubbiamnete ... NON ci si capisce un ... tubo ... :![]()
Guglielmo
Ciao Sukkopera,
mi è arrivato l'esp8266 01, è sto provando la tua lib.V 0.9.0 con una UNO con il file di esempio SimpleServer, ma durante la compilazione mi richiede la lib. "PString.h", ecco il log:
In file included from /Users/Dimix/Documents/Arduino/libraries/Webbino/src/Webbino.h:21:0,
from /var/folders/wc/gc_4vxx97z12_rs9brm_qklm0000gn/T/arduino_modified_sketch_119112/SimpleServer.ino:20:
/Users/Dimix/Documents/Arduino/libraries/Webbino/src/WebbinoCore/WebServer.h:28:21: fatal error: PString.h: No such file or directory
#include <PString.h>
^
compilation terminated.
Uso la libreria Webbino alla versione 0.9.0 nella cartella: /Users/Dimix/Documents/Arduino/libraries/Webbino
exit status 1
Errore durante la compilazione per la scheda Arduino/Genuino Uno.
La lib. in questione non la hai inclusa , o per qualche motivo questo errore lo da solo a me perché dovevo scaricarla e fare l'Include della lib.
Giusto, puoi scaricarla qui: PString | Arduiniana
OK grazie.
Ciao Sukkopera,
sto incontrando qualche problema a far funzionare l'esp8266 modello 01, ho meglio a utilizzare lui con la tua lib, mi spiego:
Sto utilizzando una UNO orig. con un conv. dei liv 5v 3.3v collegato all'ESP con lo schema in allegato.
Caricato Simpleserver dal serial monitor, tenta di chiedere un IP e dopo 5 tentavi timeout mi visualizza che non può inizializzare l'ESP.
Io pensando che avessi sbagliato qualcosa ho ricontrollato i coll. e per prova ho scritto un semplice sketch per utilizzare i comandi AT standard per vedere se l'ESP rispondeva ,lo sketch in allegato.
Utilizzando il mio sketch ho visto che la versione ESP è la seguente:
AT versioo:0.21.0.0
SDK version:0.9.5
lo ho settato in Wi-Fi mode 3 e data il comando AT+CWJAP per connettermi alla mia rete e ho visto che si connette.
Sicuramente c'è qualcosa che dimentico di controllare ma se hai qualche idea e 2 dritte da consigliarmi...
esp8266_simple.ino (945 Bytes)
Vedo che in quello sketch usi una SoftwareSerial sui pin 8 e 9: hai corretto di conseguenza gli esempi di Webbino, che mi pare usino 6 e 7 di default?
Controlla anche la velocità, Webbino va a 9600 di default, e comunque a 115200 la SoftwareSerial non è affidabile.
Si ho corretto anche l'esempio ma ho provato anche con i pin configurati di default.
Sai la cosa strana ora che me lo hai detto sulla velocità della seriale sul mio ESP, e che con lo sketch che ho fatto per provarlo , risponde sulla SoftwareSerial solo se setto la comunicazione con lui a 115200.... e lascio la seriale a 9600, ok ogni tanto spara nelle risposte ai comandi AT dei caratteri strani ma esegue i comandi.
Vuoi vedere che mi hanno spedito un ESP con firmware datato, perché leggendo il megatopic sull'ESP i primi modelli avevano qualche problema nel Firmware proprio nella seriale e che comunicavano solo a 115200.
Ruzzo un altro pò e vedo che scopro...
Ho comunque grazie !
Sì, ti consiglio di abbassare la velocità del tuo ESP a 9600 e di aggiornarne magari il firmware. Per tutto ciò basta un adattatore seriale.
Hai comunque provato l'esempio cambiando anche la velocità?
@Vespucci,
alcuni moduli vanno a 9600, altri a 115200, dipende dal firmware AT, ma la velocità si può cambiare con gli opportuni comandi AT. Mai sentito parlare di problemi particolari con la seriale ma potrebbe essere. E' la velocità di default che è cambiata ma non inficia il funzionamento a velocità diverse.
Vero che dipende dal firmware ma, come dice @Vespucci, 9600 era il default nelle versioni più vecchie del firmware AT, mentre ad un certo punto è diventata 115200. Purtroppo, come dicevo sopra, la SoftwareSerial non è affidabile a questa velocità, per cui, a meno di non avere una Mega o una Leonardo, il mio consiglio è di abbassare la velocità del modulo a 9600, cosa comunque più che adeguata per la maggior parte delle necessità Arduinistiche.
Questo si può fare con un banale comando AT, ma ATTENZIONE: molte procedure riportano il comando AT+IPR=9600 che però ha il piccolo effetto collaterale di RENDERE INUTILIZZABILE IL MODULO, a meno di non riflasharci il firmware (e questo bug è lì da almeno un anno senza che abbiano fatto alcunché >:(). Fortunatamente esiste un comando alternativo, che è quello che dovete usare:
AT+UART_DEF=9600,8,1,0,0
Ecco, si, quel bug me lo ricordo e mi pare proprio che l'hai segnalato tu.
Ok risolto aggiornando il firmware dell'esp ora va .
A proposito del grande webbino e del grande sukko
Qualcuno ha provato webbino con la 1.8.0? Dovrei farlo tra non molto