Espace de stockage?
Accueil › Forums › ESP8266 / ESP32 › Espace de stockage?
- Ce sujet contient 6 réponses, 4 participants et a été mis à jour pour la dernière fois par Nicolas Jeanmonod, le il y a 7 années et 11 mois.
-
AuteurMessages
-
14 janvier 2017 à 21:47 #2955Rolf ZieglerMaî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.
15 janvier 2017 à 11:52 #2964franicMaître des clésTout à 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 ….
15 janvier 2017 à 15:47 #2966Rolf ZieglerMaître des clésJe 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.
16 janvier 2017 à 18:44 #2967Rolf ZieglerMaître des clésIl 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 8 années par Rolf Ziegler.
28 janvier 2017 à 15:45 #2990Nicolas JeanmonodParticipantJ’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
7 février 2017 à 23:04 #3019Rolf ZieglerMaître des clésDans 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 11 mois par Rolf Ziegler.
8 février 2017 à 14:16 #3070Nicolas JeanmonodParticipantC’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 !
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.