Espace de stockage?

Accueil Forums ESP8266 / ESP32 Espace de stockage?

Étiqueté : , ,

7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #2955
    Rolf Ziegler
    Maître des clés

    Dans l’exemple « Telecommande.ino », la variable qui contient la page HTML est extrême. Elle contient une page, des boutons, du javascript… Au secours! ce n’est pas maintenable.

    Pour faire un développement avec plusieurs page, un code correctement façonné, il convient de bien séparer les choses. Peut-on stocker la partie HTML, le JS voir les images dans une structure de fichier?

    La clarté de l’ensemble y gagnerait fortement.

    #2964
    franic
    Maître des clés

    Tout à fait, le but était de montrer la faisabilité, et je ne voulais pas m’étendre au fonctionnement de l’HTML, du javascript etc. lors de l’atelier ESP. Ceci est uniquement un exemple qui avait pour but de rester concentré sur le fonctionnement de l’ESP.

    Il y aura certainement un ou des ateliers sur HTML, CSS, Javascript ….

     

    #2966
    Rolf Ziegler
    Maître des clés

    Je précise ma demande: il y a 2 parties identifiables: le code C/C++ et du contenu WEB. L’idéal serait de pouvoir modifier (et charger, ce qui est long) séparément les pages WEB. Et le code aurait la structure suivante:

    - initialisation


    - boucle infinie
    -- service WEB
    -- traitements

    Le service WEB ouvre un espace de stockage, lit le fichier et écrit son contenu sur WEB_SERVER.send(200, « text/html », html);

    Idéalement, on a le chargement du code exécutable et le chargement de pages WEB séparé, dans des espace de stockage séparés. Ainsi, la modification rapide de la page ne demande pas de recharger le tout.

    Dans le projet de la barrette, c’est même un loader qui était proposé pour charger la ou les pages modifiées. Ce qui était bien pratique pour les petites modifs rapidement mises à jour.

    #2967
    Rolf Ziegler
    Maître des clés

    Il y effectivement 2 exemples dans la librairie ESP8266 qui répondent à ta demande. Malheureusement ces exemples utilisent les fonctions FS (Fichiers intégrés dans l’ESP) ou SD (carte SD à la place de la mémoire flash). Ces exemples indiquent comment intégrer un système de fichier pour mettre en place une structure de fichiers séparés. Malheureusement, les exemples sont beaucoup plus compliqués que l’exemple utilisé par Laurent. Ce dernier est probablement la manière la plus simple de mettre en place un serveur WEB ultra simple sur ESP.

    A étudier: SDWebServer.ino et FSBrowser.ino les 2 se trouvent dans les exemples sous ESP8266WebServer

    et à trouver un exemple simple avec 2-3 fichiers dont un « /index.htm »

    Je crois qu’il existe également un mode OTA (over the air update) qui permet de remplacer les fichiers tels que « /index.htm » par connexion wifi, donc sans devoir flasher avec un câble. Ce dernier est utilisé dans les relais SONOFF.

     

    • Cette réponse a été modifiée le il y a 7 années et 3 mois par Rolf Ziegler.
    #2990
    Nicolas Jeanmonod
    Participant

    J’ai mis sur GitHub une démo basique de l’utilisation du système de fichiers de l’ESP :

    https://github.com/NicHub/ouilogique-ESP8266-Arduino/tree/master/simple-websocket

    #3019
    Rolf Ziegler
    Maître des clés

    Dans l’exemple que tu donnes, une inclusion ne passe pas:

    [code]

    Time 1.5.0 de Michael Margolis
    http://playground.arduino.cc/code/time
    Disponible dans le gestionnaire de bibliothèques de l’IDE Arduino
    (rechercher “Timekeeping functionality for Arduino”)

    [/code]

    J’ai essayé avec <Time.h> au lieu de <TimeLib.h> mais ça génère d’autres erreurs. J’ai eu beau fouiller sur les sites/forom ect., ce n’est pas décrit de manière claire ce qu’il faut faire.

    Solution: dans le menu Croquis->Inclure une bibliothèque->Gérer les biliothèques, ajouter Time by Michael Margolis, TimeAlarms. Et aussi NTPClient, NTPClientLib.

    Concernant Time.h, celui de la bibliothèque se contente d’inclure TimeLib.h. Tout est dit…

     

    • Cette réponse a été modifiée le il y a 7 années et 2 mois par Rolf Ziegler.
    #3070
    Nicolas Jeanmonod
    Participant

    C’est bizarre que tu aies eu tous ces ennuis. Je viens de tester avec l’IDE Arduino v1.8.1 sur Windows 10 et ça fonctionne comme sur Mac OS (que j’utilise normalement).

    Bon finalement tu as réussi à t’en sortir, donc c’est tout bon !

     

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.