Bonjour hbachetti, je suis un étudiant en BTS et je travail actuellement sur un ESP32. Pourriez vous peut etre jetez un œil à mon utilisation du spiffs car il ne fonctionne pas. j'ai beau chercher partout impossible de le faire fonctionner.
Voila mon problème, d'abord je tiens a informer que je travail sur windows avec VScode, j'utilise le module PlatformIO car j'ai compris de l'utilisation de SPIFFS se faisais bien avec se module.
Mon travail consiste a faire communiquer une horloge RTC d'un ESP32 avec le navigateur d'un utilisateur se connectant au wifi de l'ESP32. En bref le navigateur dois envoyé l'heure sous forme de formulaire pour mettre a jour l'heure et la date de l'ESP32.
Voici se que j'ai (main.cpp et index.html):
#include <WiFi.h>
#include <SPIFFS.h>
#include <ESPAsyncWebServer.h>
#include <Adafruit_I2CDevice.h>
#include <SPI.h>
const char* ssid = "notre AP";
const char* password = "MotdepasseAP";
AsyncWebServer server(80);
void setup()
{
Serial.begin(9600);
Serial.println("\n[*] Creating AP");
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password);
Serial.print("[+] AP Created with IP Gateway ");
Serial.println(WiFi.softAPIP());
Serial.println("\nConnected to WiFi");
IPAddress myIP = WiFi.softAPIP();
Serial.print("Adresse IP de l'AP : ");
Serial.println(myIP);
if (!SPIFFS.begin(true)) {
Serial.println("Erreur lors de l'initialisation du système de fichiers SPIFFS");
return;
}
server.begin();
server.on("/html", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(SPIFFS, "/index.html", "text/html");
});
server.on("/page2", HTTP_GET, [](AsyncWebServerRequest *request) {
String html2 = "<html><body>";
html2 += "<h1>Nouvelle page</h1>";
request->send(200, "text/html", html2);
});
}
void loop() {
// rien à faire dans la boucle loop() lors de l'utilisation d'un serveur Web
}
<!DOCTYPE html>
<html lang="fr">
<head>
<link rel="shortcut icon" href="#">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ESP32 RTC Sync</title>
</head>
<body onload="syncTime()">
<h1>Syncing time with ESP32</h1>
<script>
function syncTime() {
var currentTime = new Date();
var date = currentTime.toISOString().slice(0,10);
var time = currentTime.toISOString().slice(11,19);
var xhr = new XMLHttpRequest();
xhr.open("POST", "/setTime", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("date=" + date + "&time=" + time);
}
</script>
</body>
</html>
le wifi fonctionne correctement mais envoie sur une page vierge, comme s'il n'arrivais pas a lire le fichier.html
'/page' elle s'affiche correctement
Je suppose que le schéma de partitionnement est correct ?
Je sais faire cela avec ARDUINO IDE (menu Outils / Partition Scheme), pas avec PlatformIO.
SPIFFS.begin() ne génère pas d'erreur ?
je vais essayer avec arduino IDE ca sera sans doute plus simple pour vous et moi je pense.
y'aurais t'il un autre moyen de communiquer car étant nouvel utilisateur je n'est droit qu'a 3 reponses
Bonjour à vous,
Petite précision mais non des moindres, l'IDE Arduino dernière mouture (2.3.2) ne gère pas SPIFFS.
Il faut installer la version 1.8.19 qui elle, fonctionne très bien pour ce genre d'usage.
@+
re-bonjour, désolé d'envahir tout les sujet mais étant nouvel utilisateur je peut envoyer que 3 réponses par sujet, aurez vous un autre moyen de communiquer ?
Enfin sur arduino IDE j'ai d'installer le plugin et placer dans les outils comme dit mais data uploader n'apparais toujours pas
Peut-être mais on ne squatte pas le fil de discussion de ces petits camarades c'est totalement improductif car tu fais travailler les gens 2 fois et on a n'a pas un historique complet des échanges.
La bonne solution aurait été de créer un fil de discussion dédié à ton problème.
Mais comme on le disait dans notre précédente discussion avec hbachetti :
Petite précision mais non des moindres, l'IDE Arduino dernière mouture (2.3.2) ne gère pas SPIFFS.
Il faut installer la version 1.8.19 qui elle, fonctionne très bien pour ce genre d'usage.
@+
j'ai installé le pugin et l'ai plaér dans le dossier tools d'arduino IDE mais l'outil Data Uploader n'apparait pas, je ne peux donc pas utilisé le SPIFFS.
j'ai vraiment suivie a la lettre les tutos écrits et vidéos mais rien à faire ca n'apparait pas.
De l'aide serais super, merci
Tu installe IDE 1.8.19,
tu copie le fichier esp32fs.jar ici
C:\Users\Alain\Documents\Arduino\tools\ESP32FS\tool\esp32fs.jar
bien sûr tu remplace Alain par ton répertoire perso...
ET tu lis bien les posts au dessus, j'ai testé le code que je t'ai donné au dessus et ca fonctionne....