Salve,
mi collego a quanto detto da cotestatnt in altro thread .... (oltre ad uno aperto dal sottoscritto)
La prima domanda : è possibile fare in modo che tutto il necessario stia su una eprom 24LC connessa in I2C ?
Questo perchè le pagine sono dinamiche e andare a scrivere e riscrivere sulla SPIFFS si sa bene che non produce buoni effetti dopo un bel pò di R/W.
Seconda (più che altro è una domanda/osservazione) : ho notato che anche FSBrowser utilizza la classe String, per cui a lungo andare si potrebbe arrivare (nel mio caso, essendo pagine in continuo aggiornamento) ad un blocco del sistema.
Come dovrei/potrei risolvere ?
Le pagine sono dinamiche lato browser, non nel filesystem.
Quelle rimangono invariate, sono i "dati" che il browser usa per fare il rendering della pagina a variare.
Se apri lo strumento di sviluppo del browser alla tab Rete (tasto F12) vedrai che mentre usi il webserver dell'ESP in background il browser fa tutta una serie di richieste AJAX all'esp come ad esempio lo stato del filesystem, l'elenco dei file presetni etc etc
Noto con mio grande rammarico che sono indietro anni luce, in quanto concepisco ancora il webserver come un qualcosa che invia pagine web create e basta (anno domini 1995) , mentre le nuove concezioni di scambio dati usano tecnologie a me aliene.
Metto mano ad un webserver dopo secoli ed è logico che debba prima capire che ormai si lavora con js, json ajax e tutte queste diavolerie a me quasi sconosciute.
Ho paura di essere troppo vecchio. Mi arrendo !
Grazie lo stesso.
Mai!
Guarda, si tratta solo di entrare nell'ottica giusta... io non ho mai fatto sviluppo web in vita mia, ma negli ultimi tempi mi sto divertendo un bel po' con Vue, uno strumento di sviluppo web davvero interessante soprattutto per come posso integrare il risultato finale nel mondo embedded.
Avevo intenzione di fare un mezzo tutorial/vademecum su quello che ormai ho adottato come metodo per lo sviluppo pagina/firmware, perché sinceramente non ne posso più di vedere 'sti webserver bruttissimi fatti con lo stringone chilometrico.
Come dici tu un tempo (nemmeno troppo lontano per la verità) l'approccio tipico era preparare la pagina HTML lato server e poi inviarla al browser.
Negli ultimi anni invece si tende sempre più a webpage che di fatto sono delle applicazioni a tutti gli effetti (basti pensare ai tool online di Google come Docs, Sheets! Alla fine si tratta di una pagina HTML, ma li possiamo usare come se fossero una suite office installata sul PC).
Il concetto è semplice: devi estrapolare quello che è l'interfaccia grafica da quelli che invece sono i dati da visualizzare e trattarli in modo distinto, anche dal punto di vista dello sviluppo e degli strumenti da usare: HTML, CSS e Javascript per il frontend e C++ (nel nostro caso) per il backend.
JS dal punto di vista della sintassi è molto simile al C++.
Il funzionamento poi in realtà è completamente differente essendo un linguaggio interpretato, quindi molto simile come concetto al tuo caro visual basic
Ma almeno i costrutti base sono quelli e non devi reimparare di tutto da zero (più o meno).
aaarrggh ... l'ho notato ... appena cerco di entrare in una libreria di arduino vengo subito preso a calci dal codice ...
come dici tu mai arrendersi, è vero.
debbo però prima finire 'sto progetto per il quale sto lavorando e che mi ha levato due anni di studio (musical-informatico). Sono quasi alla fine.
Appena riprendo il fiato, apparecchio un altro tavolo e mi metto a smanettare con quanto mi hai consigliato, cercando di sostituire quanto fatto finora con le famose, odiate ma purtroppo non sostituibili String infinite ...