ESP32 : comment enregistrer des données (9 manières différentes)

ESP32 : comment enregistrer des données (9 manières différentes)

Dans cet article, nous partagerons neuf méthodes différentes pour enregistrer et enregistrer des données avec l’ESP32. Vous souhaitez surveiller un capteur spécifique avec l’ESP32 et suivre les données au fil du temps ? Vous souhaitez sauvegarder tous vos enregistrements de données mais vous ne savez pas comment faire ni quelle méthode utiliser ? Ici, nous allons vous montrer différentes manières de sauvegarder des données de manière permanente avec l’ESP32. Nous vous montrerons des méthodes qui reposent sur des bases de données, des services, des solutions matérielles et autres tiers.

ESP32 Comment enregistrer des données de 9 façons différentes

Table des matières:

Tout au long de cet article, nous aborderons les méthodes suivantes pour enregistrer des données à l’aide de l’ESP32 :

  1. Carte Micro SD
  2. Système de fichiers ESP32 (SPIFFS ou LittleFS)
  3. Base de données en temps réel Firebase et stockage Firebase
  4. Base de données de séries temporelles InfluxDB
  5. Deta Base : Base de données gratuite et illimitée
  6. Chaînes Thingspeak
  7. Feuilles Google
  8. MySQL sur un serveur cloud
  9. MySQL sur un serveur local

1) Enregistrement de données ESP32 à l’aide d’une carte MicroSD

Platine de câblage du module de carte microSD ESP32

L’utilisation d’une carte microSD avec l’ESP32 est un excellent moyen de sauvegarder des données de façon permanente. Vous pouvez enregistrer de grandes quantités de données au format txt ou dans d’autres formats, dans la mesure où la taille de la carte microSD vous le permet. Vous pouvez également enregistrer des images si vous utilisez un ESP32-CAM.

Pour interfacer une carte microSD avec l’ESP32, vous pouvez utiliser un module de carte microSD qui communique avec la carte via le protocole de communication SPI. Ces modules sont généralement assez bon marché. Tu peux vérifier certains modules de carte microSD ici.

ESP32 comment enregistrer des donnees 9 manieres differentes

Certaines cartes de développement ESP32 sont déjà équipées d’un emplacement pour carte microSD intégré, vous n’aurez donc pas besoin de circuits ou de matériel supplémentaires.

Nous avons un guide complet montrant comment interfacer une carte microSD avec l’ESP32 et comment gérer les fichiers – lire, écrire, créer, supprimer, ajouter et bien plus encore.

Si vous souhaitez un exemple spécifique d’enregistrement de données avec des capteurs, nous avons également les projets suivants (vous pouvez facilement modifier les projets pour utiliser d’autres capteurs) :

Avantages de l’utilisation d’une carte microSD avec l’ESP32 pour l’enregistrement de données :

  • Solution peu coûteuse : les modules de carte microSD sont très bon marché.
  • Énorme capacité de stockage : les cartes microSD sont largement disponibles et peuvent enregistrer d’énormes quantités de données.
  • Facile à utiliser : il est facile à connecter et facile à programmer avec l’ESP32.
  • Ne nécessite pas de connexion à Internet : c’est donc une solution intéressante dans les endroits reculés.
  • Il peut enregistrer des données dans différents formats de fichiers.

Cependant, vous devez prendre en compte certains des inconvénients suivants :

  • Matériel supplémentaire : à moins que votre carte ne soit déjà équipée d’un emplacement pour carte microSD intégré, vous aurez besoin d’un module de carte microSD.
  • Corruption des données : après de longues périodes d’utilisation de la carte microSD, celle-ci peut être corrompue et vous perdrez toutes vos données ;
  • Les données ne sont pas accessibles en temps réel : vous devez retirer la carte microSD de la carte et l’insérer dans votre ordinateur pour accéder aux données (sauf si vous créez un serveur Web qui sert les fichiers de la carte microSD en ligne).

2) Enregistrer les fichiers sur le système de fichiers ESP32 (SPIFFS ou LittleFS)

1682045540 645 ESP32 comment enregistrer des donnees 9 manieres differentes

L’ESP32 contient un système de fichiers flash d’interface périphérique série (SPIFFS). SPIFFS est un système de fichiers léger créé pour les microcontrôleurs avec une puce flash (comme l’ESP32) qui vous permet de stocker des fichiers dans la mémoire flash.

Voici quelques tutoriels utilisant le système de fichiers ESP32 :

SPIFFS vous permet d’accéder à la mémoire flash comme vous le feriez dans un système de fichiers normal de votre ordinateur, mais plus simple et plus limité. Vous pouvez lire, écrire, fermer et supprimer des fichiers. La bibliothèque SPIFFS qui vous permet d’interagir avec la puce flash ne prend pas en charge les répertoires, donc tout est enregistré sur une structure plate.

LittleFS est un nouveau système de fichiers que vous pouvez utiliser avec l’ESP32 qui prend en charge les répertoires, est plus rapide et présente d’autres améliorations par rapport à SPIFFS.

Vous pouvez créer des fichiers pour enregistrer des données sur le système de fichiers ESP32 comme vous le feriez avec une carte microSD. L’avantage est que vous n’avez pas besoin de matériel supplémentaire. Cependant, ce n’est pas approprié pour enregistrer de grandes quantités de données ou pour des applications d’enregistrement de données à long terme et vous êtes limité à la taille dédiée au système de fichiers sur la partition ESP2.

Avantages d’utiliser SPIFFS ou LittleFS avec l’ESP32 pour l’enregistrement de données :

  • Facile à utiliser : il est compatible avec la bibliothèque FS.h – il est également utilisé avec la carte microSD pour créer et gérer des fichiers.
  • Aucun matériel supplémentaire nécessaire : toutes les cartes ESP32 sont livrées avec une puce flash, vous pouvez donc utiliser SPIFFS ou LittleFS immédiatement.
  • Ne nécessite pas de connexion Internet.

Désavantages:

  • Limite de stockage : le nombre et la taille des fichiers que vous pouvez enregistrer dépendent de la taille de la mémoire de la puce flash. La plupart seront de l’ordre de 4 Mo, donc la partition SPIFFS/LittleFS sera inférieure à cela. De plus, vous ne pouvez pas utiliser toute la mémoire de la partition SPIFFS pour le stockage, seulement environ 75 %—vérifier les docs.
  • Ne convient pas à l’enregistrement de données à long terme ou aux écritures très fréquentes : la lecture et l’écriture sur le système de fichiers peuvent devenir plus lentes à mesure que la mémoire disponible diminue.
  • Pas facile de visualiser vos données : si vous avez besoin d’accéder à toutes vos données pour les traiter plus tard, vous devrez écrire un croquis qui récupère toutes les données enregistrées dans des spiffs, ou un serveur qui donne accès aux fichiers du système de fichiers.

3) ESP32 Enregistrer les données dans la base de données en temps réel Firebase

Logo Firebase

Firebase est la plateforme de développement d’applications mobiles de Google qui fournit plusieurs outils pour sauvegarder les données :

  • Base de données en temps réel : base de données NoSQL en temps réel, hébergée dans le cloud ; les données sont stockées dans une structure JSON.
  • Cloud Firestore : base de données NoSQL en temps réel, hébergée dans le cloud ; les données sont stockées dans des « documents ».
  • Cloud Storage : stockage de fichiers évolutif pour charger et télécharger des fichiers.

Après avoir enregistré vos données sur Firebase, vous pouvez accéder à toutes les données en ligne en vous rendant sur votre console Firebase. De plus, vous pouvez facilement interagir avec leurs services de stockage et de base de données à l’aide de javascript et d’autres langages de programmation, de sorte que vous pouvez créer votre propre application Web pour afficher ces données en ligne comme nous le faisons dans notre application Web Firebase avec l’eBook ESP32 et ESP8266.

Enregistrement des données de la base de données en temps réel Firebase

Nous préférons utiliser la base de données en temps réel pour les projets d’enregistrement de données, car, à notre avis, elle est plus facile à gérer et à programmer que Cloud Firestore. Nous avons les guides suivants pour apprendre à démarrer l’enregistrement de données à l’aide de Firebase Realtime Database.

Firebase Cloud Storage est un autre service qui peut être utilisé pour enregistrer des fichiers. Imaginez que vous avez plusieurs fichiers enregistrés sur la carte microSD. L’ESP32 peut se connecter une fois par jour à Internet pour sauvegarder ces fichiers sur Firebase Cloud Storage. Nous avons également utilisé Firebase Cloud Storage pour stocker les photos prises avec l’ESP32-CAM :

Avantages de l’utilisation de Firebase Realtime Database avec l’ESP32 pour l’enregistrement de données :

  • Accès depuis n’importe où : après avoir soumis les données, elles sont disponibles en ligne et vous pouvez les consulter depuis n’importe où dans le monde ;
  • Stockez et récupérez des données en temps réel : les données soumises à la base de données Firebase Realtime se synchronisent en temps réel avec d’autres appareils et services (si vous avez plusieurs cartes ou une application Web qui écoute cette base de données, elle reçoit les modifications presque instantanément) ;
  • Utilisation gratuite pour les petits projets : pour les projets personnels, vous pouvez utiliser les outils Firebase gratuitement jusqu’à une limite de stockage prédéfinie ;
  • Flexibilité : c’est idéal si vous souhaitez créer une application Web pour vos projets IoT et que vous devez enregistrer différents types de données ;
  • Utilisateurs et authentification : les services Firebase fournissent des outils pour gérer facilement les utilisateurs et l’authentification.

Désavantages:

  • Peut être difficile à démarrer : vous devez configurer un projet Firebase avec des méthodes d’authentification, des règles de base de données et d’autres paramètres qui peuvent être difficiles pour les débutants (mais si vous suivez notre eBook Firebase, tout sera configuré en un rien de temps );
  • Nécessite une connexion Internet : l’ESP32 doit être connecté à Internet pour se connecter aux services Firebase, si l’ESP32 est utilisé dans un environnement sans accès Internet, il ne pourra pas communiquer avec Firebase.
  • Coûts supplémentaires : Firebase propose un forfait gratuit qui est généralement plus que suffisant pour les applications personnelles, mais si vous avez besoin de plus de stockage de données, vous devrez souscrire à un forfait payant. Cependant, le plan gratuit était toujours plus que suffisant pour nos projets.

4) Base de données de séries chronologiques InfluxDB

ESP32 ESP8266 Relevés de capteur Tableau de bord InfluxDB

InfluxDB est l’une de mes bases de données préférées pour l’enregistrement de données. InfluxDB est une base de données de séries chronologiques (TSDB) hautes performances open source qui peut stocker de grandes quantités de données par seconde. Chaque point de données que vous soumettez à la base de données est associé à un horodatage particulier. Il est donc idéal pour les projets d’enregistrement de données IoT, tels que le stockage des données des capteurs de votre station météo.

Tu peux courir InfluxDB dans InfluxDB Cloudou localement sur votre ordinateur portable ou Raspberry Pi.

Le cloud InfluxDB est une excellente alternative car il héberge vos données accessibles de n’importe où. Cependant, le forfait cloud gratuit ne vous permet d’enregistrer des données que jusqu’aux 30 derniers jours. Selon votre application de projet, cela pourrait être une bonne alternative. Ou si vous êtes prêt à payer pour un plan premium, le cloud InfluxDB pourrait être la meilleure solution.

Pour démarrer l’enregistrement de données avec InfluxDB et l’ESP32, vous pouvez suivre les tutoriels suivants.

En plus d’être une base de données, InfluxDB vous permet également de créer des tableaux de bord avec différents types de graphiques, diagrammes, jauges, etc. pour afficher vos données. Vous pouvez faire tout cela en utilisant leur interface. Vous n’avez pas besoin d’écrire de code pour créer les graphiques ou le tableau de bord.

Avantages d’utiliser InfluxDB pour l’enregistrement de données avec l’ESP32 :

  • Il s’agit d’une base de données de séries chronologiques : chaque lecture que vous soumettez à la base de données sera associée à un horodatage spécifique. Vous n’avez pas besoin d’obtenir la date et l’heure sur l’ESP32.
  • Tableau de bord avec graphiques personnalisables : l’interface utilisateur d’InfluxDB fournit des outils pour créer des tableaux de bord personnalisés afin de visualiser vos données. Sans aucune connaissance en programmation Web, vous pouvez créer des tableaux de bord impressionnants avec des graphiques personnalisables.
  • Il est disponible en ligne : si vous utilisez le stockage cloud InfluxDB, vous pouvez accéder à vos données de n’importe où dans le monde en accédant à votre compte InfluxDB.
  • Également disponible hors ligne : si vous souhaitez avoir un contrôle total sur vos données, vous pouvez également installer InfluxDB sur votre propre serveur cloud, ou localement sur un Raspberry Pi.

Désavantages:

  • Nécessite une installation : vous devez d’abord installer et/ou configurer InfluxDB, ce qui peut nécessiter une étape supplémentaire sur votre projet ;
  • Données temporelles uniquement : toutes les données sont associées à un horodatage spécifique. Il se peut donc que ce ne soit pas la meilleure base de données si vous souhaitez enregistrer des données qui ne nécessitent pas d’horodatage comme les données JSON.
  • Nécessite une connexion Internet : l’ESP32 doit être connecté à Internet pour se connecter à InfluxDB, sauf si vous l’installez localement.
  • Période de conservation : le forfait cloud gratuit ne vous permet de sauvegarder les données que jusqu’aux 30 derniers jours.

5) Utilisez Deta Base pour enregistrer vos données

base de données avec démonstration de l'interface utilisateur ESP32

Deta Base est une base de données NoSQL. Il est illimité, gratuit et facile à utiliser. De plus, il nécessite une configuration minimale. Il est donc parfait pour vos projets d’amateur et de prototypage. Il offre une interface utilisateur à travers laquelle vous pouvez facilement voir, interroger, mettre à jour et supprimer des enregistrements dans la base de données.

Le plus grand avantage de Deta Base par rapport aux autres solutions de base de données est qu’il nécessite très peu de configuration. Une fois que vous vous êtes inscrit à Deta Base, il est prêt à être utilisé.

Comme avec Firebase, vous pouvez créer vos propres applications Web pour interagir avec la base de données.

Si vous souhaitez apprendre à utiliser Deta Base avec l’ESP32, vous pouvez suivre notre guide :

Avantages d’utiliser Deta Base avec l’ESP32 :

  • C’est gratuit.
  • Il nécessite une configuration minimale, une fois que vous vous êtes inscrit à Deta Base, vous pouvez commencer à l’utiliser immédiatement pour stocker des données.
  • C’est rapide et évolutif.
  • Vous pouvez vérifier vos données en ligne de n’importe où à partir de votre compte.

Désavantages:

  • Petite communauté : elle n’en est encore qu’à ses débuts, donc si vous avez besoin d’aide, il y a encore peu d’informations en ligne.
  • Version bêta : c’est en version bêta, et vous pourriez rencontrer des bogues inattendus.
  • Nécessite une connexion Internet : comme les autres solutions cloud, l’ESP32 doit avoir accès à Internet.

6) Utilisez les chaînes ThingSpeak

Canaux ThingSpeak de la carte ESP32

ThingSpeak est une plate-forme IoT dans laquelle vous pouvez créer des canaux pour stocker des données. Il fournit des outils de visualisation et différents widgets pour afficher vos données comme des graphiques, des jauges ou des affichages numériques. Les données soumises sont également associées à un horodatage, ce qui est utile si vous souhaitez les afficher sur des graphiques pour voir comment elles se comportent dans le temps.

Plusieurs appareils peuvent publier des données sur votre compte Thingspeak. Habituellement, chaque appareil nécessitera un canal. Le forfait gratuit est limité à quatre chaînes.

À mon avis, l’interface visuelle est facile à utiliser, mais elle permet très peu de personnalisation par rapport aux outils fournis par InfluxDB. Cependant, il est parfait si vous souhaitez simplement une visualisation simple sans avoir à vous soucier des détails de mise en forme (comme les couleurs des séries, les couleurs d’arrière-plan des graphiques, etc.).

Les données sont stockées dans le cloud, vous pouvez donc accéder à vos données n’importe où depuis votre compte,

Nous avons deux tutoriels différents qui montrent différentes méthodes pour publier des données sur Thingspeak. Ce qui suit montre comment faire une requête HTTP POST avec des données aux services Thingspeak (vous devez écrire la requête manuellement sur le code) :

Un moyen plus simple de publier des données sur Thingspeak avec l’ESP32 consiste à utiliser une bibliothèque. Il vous suffit d’appeler une fonction et de passer en argument les données que vous souhaitez envoyer.

Avantages d’utiliser ThinsSpeak avec l’ESP32 :

  • Convient à plusieurs appareils IoT : vous pouvez avoir plusieurs cartes ESP32 et d’autres appareils IoT publiant des données sur votre compte Thinspeak.
  • Utilisation gratuite : offre un plan gratuit avec jusqu’à quatre chaînes. Habituellement, chaque appareil nécessitera un canal différent sur ThingSpeak.
  • Configuration minimale : vous n’avez pas besoin d’installer quoi que ce soit sur votre ordinateur ou de configurer des paramètres de base de données ; une fois que vous avez créé un compte et un nouveau canal, il est prêt à être utilisé.
  • Tableau de bord simple : les données seront affichées sur le widget de votre choix, sans avoir à programmer quoi que ce soit sur l’interface utilisateur.

Désavantages:

  • Forfait gratuit limité : le forfait gratuit est limité à quatre canaux, ce qui pourrait ne pas être suffisant pour votre projet.
  • Peu de personnalisation : le nombre de widgets disponibles est limité et permet très peu de personnalisation.
  • Nécessite une connexion Internet : comme les autres solutions cloud, l’ESP32 doit avoir accès à Internet.

7) Enregistrer les données ESP32 dans Google Sheets

ESP32 publie des données sur des feuilles Google

Une autre excellente alternative aux données de journalisation avec l’ESP32 consiste à utiliser Google Sheets. Ensuite, vous pouvez analyser, gérer et afficher vos données à l’aide des fonctionnalités fournies dans Google Sheets. Vous pouvez accéder à vos données de n’importe où en utilisant votre compte Google. C’est une bonne méthode si vous avez besoin de stocker des données qui doivent être traitées ultérieurement.

Nous avons un guide montrant comment enregistrer les lectures de capteurs sur Google Sheets à l’aide des services IFTTT. L’avantage d’utiliser les services IFTTT est que vous n’avez pas besoin de créer de scripts ou de configurations supplémentaires dans votre compte Google. Cependant, le nombre de demandes que vous pouvez effectuer avec le compte gratuit et la quantité d’informations que vous pouvez enregistrer en même temps sont limités. Voici le tutoriel :

Si vous ne souhaitez pas vous fier à un service tiers pour publier des données sur des feuilles Google avec l’ESP32, il existe actuellement une bibliothèque pour le faire. Vérifier la Bibliothèque client Arduino Google Sheet pour ESP8266 et ESP32.

Avantages de l’enregistrement des données ESP32 dans Google Sheets :

  • Gestion facile des données : si vous avez besoin de traiter vos données après les avoir collectées, vous pouvez utiliser toutes les fonctionnalités de Google Sheets pour traiter les données.
  • Accès depuis n’importe où : vous pouvez facilement accéder à vos données depuis votre compte Google.
  • Partageable : vous pouvez partager le fichier de feuille Google avec d’autres personnes en donnant accès à leur adresse e-mail spécifique.

Désavantages:

  • Il n’affiche pas les données visuellement automatiquement. Vous devez savoir comment créer des tableaux et des graphiques (ce qui n’est pas difficile, donc je ne pense pas que ce soit une grosse limitation).
  • Si vous utilisez un service tiers comme IFTTT (compte gratuit), vous êtes limité au nombre de demandes et de champs que vous pouvez transmettre à la fois.
  • Nécessite une connexion Internet : comme les autres solutions cloud, l’ESP32 doit avoir accès à Internet.

8) ESP32 Enregistrer les données dans la base de données MySQL sur un serveur cloud

ESP32 Enregistrer des données sur MySQL sur un serveur cloud

Vous pouvez installer une base de données MySQL sur un serveur cloud, puis faire des demandes avec l’ESP32 pour publier et récupérer des données. Cette méthode est idéale pour ceux qui aiment programmer, configurer leurs propres serveurs et qui souhaitent avoir un contrôle total sur leur stockage de données. Si vous connaissez déjà MySQL et PHP, vous aimerez certainement cette méthode.

Le plus gros inconvénient de cette méthode est que vous devez tout configurer vous-même à partir de zéro, ce qui est facilement sujet aux erreurs. De plus, vous devrez payer pour l’hébergement et un nom de domaine.

Vous pouvez suivre les tutoriels suivants pour mettre en place une base de données MySQL sur votre propre serveur puis apprendre à créer une page web pour afficher les données sur des graphiques :

  1. ESP32/ESP8266 Insérer des données dans la base de données MySQL à l’aide de PHP et de l’IDE Arduino
  2. Visualisez les lectures de vos capteurs de n’importe où dans le monde (ESP32/ESP8266 + MySQL + PHP)

9) Base de données MySQL sur un serveur local (Raspberry Pi)

C’est une alternative à la solution précédente. Si vous souhaitez configurer une base de données MySQL en local sur un Raspberry Pi pour sauvegarder les données provenant de l’ESP32, vous devrez d’abord suivre le tutoriel suivant :

Ensuite, vous pouvez suivre le didacticiel suivant pour apprendre à publier réellement des données avec l’ESP32 sur votre serveur local et à les afficher sur une page Web :

Conclusion

Dans ce didacticiel, nous avons compilé différentes méthodes que vous pouvez utiliser pour enregistrer et enregistrer des données de manière permanente à l’aide de votre ESP32. Selon votre niveau d’expertise et les exigences du projet, une solution peut être plus appropriée que les autres. Il existe de nombreuses autres méthodes en plus de celles que nous avons décrites ici. Nous avons créé une compilation des tutoriels que nous avons déjà sur ce sujet.

Nous espérons que vous avez trouvé ce guide de compilation utile. Faites-nous savoir quelle est votre méthode de stockage préférée et pour quelles applications vous l’utilisez.

En savoir plus sur l’ESP32 avec nos ressources :

Merci d’avoir lu.

Cette vidéo vous emmène dans l’histoire de Raspberry Pi :

YouTube video