Buonasera a tutti.
Sto provando a realizzare un web server con una scheda ESP8266 Node MCU 1.0, con il fine di raccogliere dati da più sensori di temperatura e compilare una pagina web con tali dati.
In realtà questo è il primo step di un progetto più complesso, che sfrutterà a pieno le potenzialità di questo fantastico progetto realizzato da SukkoPera ( ancora complimenti a te per quanto fatto

.
La scheda di sviluppo è quasi totalmente definita, ed il codice che gestisce gli aspetti "offline" del device è ad un buon punto, con un pannello OLED, moduli RTC ,sensori di campo e data logger che fanno il loro lavoro egregiamente.
L'integrazione con il webbino, permetterà la condivisione dei dati raccolti e processati su una rete LAN interna.
Purtroppo mi sono "bloccato" nella fase di configurazione della libreria del webbino, specificatamente nella sotto-componente che dovrebbe gestire la pagina web caricata precedentemente su una scheda microSD da 4GB.
Se la pagina viene caricata nella main root della scheda, non si ottiene alcuna risposta dal server.
Ovvero la pagina non viene letta dal browser (Edge, Chrome o Opera che sia).
Mentre se si tiene la pagina nella memoria flash del NodeMCU ( rispettando quando spiegato da Sukko nel suo tutorial per l'utilizzo dello script in Phyton) tutto funziona correttamente. Anche la procedura del TAG replacement.
Per entrambe le prove ho utilizzato i file .htm o html incluse negli esempi, prima ancora di provare quella che sto programmando io stesso per il mio scopo. Diciamo che in questa prima fase primordiale mi interessa "solo" settare il tutto affinché funzioni, il programma sia della pagina che del controllore vero e proprio devono ancora essere ultimati.
HW utilizzato:-NodeMCU ESP8266 V1.0
-DHT22 + OLED 0.96 + RTC + SD card reader
Librerie utilizzate dal compilatore [debug_webbino_lib]-In allegato vi ho inserito un file di testo, con l'out dell'IDE per quanto concerne le librerie usate nel progetto, giusto per completezza, visto che mi era venuto un dubbio anche su quelle;
Output Serial monitor [debug_webbino_sd]-In allegato vi ho inserito anche un secondo file di testo, con la risposta che il server dovrebbe inviare al client, una volta elaborata la richiesta in HTTP. Ho diviso il file in due parti, una NOK (SD mode) e l'altra OK (Flash LITTLEFS).
Si nota chiaramente come nel primo caso, vengano inviati al clienti centinaia di byte, che popolano poi il codice html sul PC. Mentre nel secondo caso, i byte "flushati" sono solo e SEMPRE 44. Come se non leggesse la pagina sorgente da cui compilare il client.write().
@Sukko, per comodità e per tirare fuori i dati, mi sono permetto di attivare qualche riga di DPRINT nella funzione flushBuffer().
Memoria utilizzata [debug_webbino_mem]-Terzo ed ultimo file di testo in allegato, contiene i dati relativi alla MEM utilizzata in entrambi i casi, non ci vedo nulla di strano a mio avviso, ma preferisco per completezza condividere con voi che siete più esperti di me, anche questi dati.
Ultime due info, credo utili. Ho provato a cambiare SD, a scollegare tutte le periferiche i2c e spi con conseguente "pulitura" del codice sull'IDE, cambiare browser e formato della scheda SD, ma non cambia nulla.
Inoltre, a volte, mentre aggiorno la pagina dal browser, mi và in crash il NodeMCU e si resetta da solo.....Tale fenomeno accade sia con il metodo Flash, che con il metodo SD.
Chiedo scusa anticipatamente, per la lunghezza del post. Ma volevo darvi tutti i dati in mio possesso per aiutarmi a risolvere il problema.
Grazie ancora e buon lavoro.
Francesco