J'utilise une carte ESP32 qui me permet de faire de l’acquisition de données (capteur de force) et d'afficher les informations sur une page web. Pour mes besoins, je fais une acquisition à environ 80 Hz (80 points par secondes) . Les données sont stockées sur une carte SD. J'ai choisi une carte SD externe car le fichier peut devenir volumineux (1 minute de mesures représente plus de 52'000 caractères. Je n'ai pas de problème pour écrire les données mais si je veux lire les données cela se complique... Aujourd'hui j'utilise le code suivant:
Je récupère le json en javascript pour afficher un graphique et permettre à l'utilisateur d'enregistrer les données.
Le problème, passé 25 secondes de mesure l'esp32 plante car la string "buffer" devient trop grande... Ma technique n'est donc pas adaptée. Je pensais à envoyer le fichier de la carte SD sur la page web mais je bloque. Je ne trouve pas d'exemple... Avez vous des pistes?
J'imagine que cette ligne correspond à la lecture d'une ligne du fichier. Ne serait il pas plus simple d'envoyer le contenu ligne par ligne?
Tu envoies d'abord l'entête 'graph' puis chaque ligne et l'accolade de fin.
Merci pour cette recherche! J'ai aussi cherché mais je n'ai pas trouvé ces informations. Concernant le premier lien, j'utilise cette méthode pour mes pages web et mes fichier css et javascript mais cela fonctionne avec SPIFFS (mémoire de l'esp32). Le deuxième semble être une bibliothèque qui copie ce que fait SPIFFS mais pour une carte SD externe. Une très bonne piste que je vais étudier.
Concernant la lecture du fichier les informations sont mises les une après les autres donc le fichier est lu en une fois! Je peux changer avec du ligne par ligne mais cela risque d'être très long. Pour une minute j'ai environ 4800 lignes que je dois envoyer et traiter. La vitesse avec le navigateur pour traiter une requête varie mais est environ de 0.05 seconde ce qui va faire 240 secondes... C'est très long. Je me trompe peut être dans la vitesse du navigateur mais je pense que ce n'est pas trop loin...
Et cela fonctionne!!! Je mets 192.168.1.250/test et le contenu de mon fichier test.txt (qui est sur ma carte SD) est affiché sur ma page! Donc il me reste plus que de trouver comment traiter ce fichier avec javascript!