Go Down

Topic: (en test) enregistreur de données Gps moto (Read 1 time) previous topic - next topic

niermou

Il te faut donc une page pour récupérer les fichiers ?
J'ai fait ce genre de chose pour un ESP32 :

https://bitbucket.org/henri_bachetti/mpp-console-logger/src

Regarde l'exemple ESP32-sdfat-http-server.

Pour un ESP8266 cela doit être légèrement différent (l'accès aux fichiers SD) mais pas trop.

Code: [Select]

  server.on("/", HTTP_GET, handleRoot);
  server.on("/logs", HTTP_GET, handleLogs);


La fonction handleRoot affiche un lien LOGS url = /logs

La fonction handleLogs() traite les URLs /logs

Le serveur affiche la liste des fichiers présents à la racine, permet de les visualiser ou télécharger.

Cela aide ou pas ?

je rajoute dans void setup ?
la soif de connaissance est l'élixir de jouvence

hbachetti

L'exemple permet d'afficher et récupérer des fichiers texte. Le CSV est du texte.
Ce serai mieux de l'afficher sous forme de table mais dans un premier temps, cela devrait suffire.
Ce n'est pas grand chose d'ajouter un bouton "supprimer".
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

Quote
je rajoute dans void setup ?
bien sûr, sauf que tu as déjà :

Code: [Select]
  server.on("/", HTTP_GET, handleRoot);
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

niermou

non j'ai: server.on("/", handleRoot);
la soif de connaissance est l'élixir de jouvence

niermou

comme ca
Code: [Select]
void setup() {
  // serveur
  delay(1000);
  Serial.begin(115200);
  Serial.println();
  Serial.print("Configuring access point...");
  /* You can remove the password parameter if you want the AP to be open. */
  WiFi.softAP(ssid, password);

  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  server.on("/", HTTP_GET, handleRoot);
  server.on("/logs", HTTP_GET, handleLogs);
  server.begin();
  Serial.println("HTTP server started");
la soif de connaissance est l'élixir de jouvence

hbachetti

Les deux méthodes existent :

Code: [Select]

  void on(const String &uri, THandlerFunction handler);
  void on(const String &uri, HTTPMethod method, THandlerFunction fn);

  server.on("/", handleRoot);
  server.on("/", HTTP_GET, handleRoot);


Je préfère préciser HTTP_GET.
C'est Ok.

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

niermou

bien , mais la il me manque la parti page HTTP!
la soif de connaissance est l'élixir de jouvence

niermou

Arduino : 1.8.8 (Linux), Carte : "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

/home/moune/Bureau/gpsLogger/gpsLogger.ino: In function 'void setup()':
gpsLogger:134:32: error: 'handleLogs' was not declared in this scope
   server.on("/logs", HTTP_GET, handleLogs);
                                ^
Plusieurs bibliothèque trouvées pour "SD.h"
Utilisé : /home/moune/.arduino15/packages/esp8266/hardware/esp8266/2.5.0/libraries/SD
Non utilisé : /home/moune/arduino/arduino-1.8.8/libraries/SD
exit status 1
'handleLogs' was not declared in this scope

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
la soif de connaissance est l'élixir de jouvence

niermou

#83
Apr 17, 2019, 01:37 pm Last Edit: Apr 17, 2019, 01:38 pm by niermou
pommé, j'ai fait ca macavapas
la soif de connaissance est l'élixir de jouvence

lesept

Je pense qu'il faut remonter tes fonctions , ou les déclarer (en prototypes), avant le setup
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

hbachetti

Étrange, dans mon exemple, elles sont au même endroit.
Mais tu peux effectivement les remonter avant le setup.

Ton ancienne fonction handleRoot est encore là. Vire la.

Autres remarques, tu as copié trop de choses :
log_some_binary_data : inutile (y compris les appels)
log_ip_addr : inutile (y compris les appels)
LOGGER.debug : tu vires ou tu remplaces par un ou plusieurs Serial.println
log_debug : pareil

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

niermou

#86
Apr 18, 2019, 10:09 am Last Edit: Apr 18, 2019, 10:11 am by niermou
celle la?
void handleRoot() {
 server.send(200, "text/html", "<h1>Tu est connecte</h1>");
}

ou

 // old server.on("/", handleRoot);
la soif de connaissance est l'élixir de jouvence

niermou

#87
Apr 18, 2019, 12:25 pm Last Edit: Apr 18, 2019, 12:31 pm by niermou
je récapitule pour éviter les confusions :

j'ai un code qui fonctionne bien  qui crée des CSV la

au quel j'ai rajoute un serveur web AP ici

le but maintenant , est de crée une page web pour télécharger, supprimer les fichiers CSV sur la carte

SD depuis un ordi ou un smart


et la la dernière compile qui pose probleme

voilou c'est plus clair comme ca! :)
la soif de connaissance est l'élixir de jouvence

hbachetti

Il faut bien comprendre que supprimer une fonction il ne suffit pas de supprimer la première ligne.
J'ai mis en commentaire les lignes en trop.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

niermou

ha oui quand même!

et la il manque pas une accolade?

// Create a software serial port called "gpsSerial"
// We can't use TX/RX pins if we don't want to lose the ability to debug/upload code
SoftwareSerial gpsSerial(TX, RX);

// new
  #define BUF_LEN     128


// doit manquer une } ou {


void returnOK() {
  server.send(200, "text/plain", "");
}
la soif de connaissance est l'élixir de jouvence

Go Up