NodeMCU ESP8266 : Premiers pas avec InfluxDB

NodeMCU ESP8266 : Premiers pas avec InfluxDB

Ce guide vous permettra de démarrer rapidement avec InfluxDB en utilisant la carte ESP8266. InfluxDB est une base de données de séries temporelles open source (TSDB). Il est donc idéal de stocker les données des capteurs avec des horodatages sur une période de temps déterminée. Dans ce didacticiel, vous allez configurer un compartiment InfluxDB pour enregistrer les données et vous apprendrez à enregistrer les données ESP8266 dans la base de données. InfluxDB propose également différentes façons de visualiser et d’organiser vos données (tableaux de bord, graphiques, tableaux, jauges, etc.).

ESP8266 NodeMCU Premiers pas avec InfluxDB Arduino IDE

Nous avons un tutoriel similaire pour la carte ESP32 : Premiers pas avec InfluxDB

Table des matières

Qu’est-ce qu’InfluxDB ?

Qu'est-ce qu'InfluxDB

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.

« Pourquoi utiliser InfluxDB Cloud ? Il s’agit d’une plate-forme de surveillance en temps réel rapide, élastique et sans serveur, d’un moteur de tableau de bord, d’un service d’analyse et d’un processeur d’événements et de métriques. »

https://www.influxdata.com/products/influxdb-cloud/

Termes clés InfluxDB

Avant de commencer, vous devez comprendre certains termes importants. Nous allons juste jeter un oeil aux termes les plus pertinents, vous pouvez lire l’intégralité glossaire. Ne vous inquiétez pas si certains termes prêtent à confusion. Vous comprendrez mieux ces termes lorsque vous commencerez à écrire dans la base de données.

Dans InfluDB, un compartiment est nommé emplacement où les données de la série chronologique sont stockées. Tous les buckets ont une période de rétention : elle définit la durée pendant laquelle un bucket conserve les données. Les points dont les horodatages sont antérieurs à la période de conservation sont supprimés.

Les données dans InfluxDB sont stockées dans des tables dans des lignes et des colonnes. Un ensemble de données dans une ligne est appelé point (similaire à une ligne dans une table de base de données SQL). Chaque point a une mesure, un ensemble de balises, une clé de champ, une valeur de champ et un horodatage ;

Les colonnes stockent des ensembles de balises (indexés) et des ensembles de champs. La seule colonne requise est l’heure, qui stocke les horodatages et est incluse dans toutes les tables InfluxDB.

  • tag : la paire clé-valeur dans la structure de données d’InfluxDB qui enregistre les métadonnées. Les balises sont une partie facultative de la structure de données d’InfluxDB, mais elles sont utiles pour stocker les métadonnées fréquemment interrogées ; les balises sont indexées afin que les requêtes sur les balises soient performantes.
  • clé de balise : les clés de balise sont des chaînes et stockent des métadonnées. Les clés de balise sont indexées afin que les requêtes sur les clés de balise soient traitées rapidement.
  • valeur de balise : les valeurs de balise sont des chaînes et elles stockent des métadonnées. Les valeurs des balises sont indexées afin que les requêtes sur les valeurs des balises soient traitées rapidement.
  • champ : la paire clé-valeur dans la structure de données d’InfluxDB qui enregistre les métadonnées et la valeur réelle des données. Les champs sont requis dans la structure de données d’InfluxDB et ils ne sont pas indexés – les requêtes sur les valeurs de champ analysent tous les points qui correspondent à la plage de temps spécifiée et, par conséquent, ne sont pas performantes par rapport aux balises.
  • field key : la clé de la paire clé-valeur. Les clés de champ sont des chaînes et elles stockent des métadonnées.
  • valeur du champ : la valeur d’une paire clé-valeur. Les valeurs de champ sont les données réelles ; ils peuvent être des chaînes, des flottants, des entiers ou des booléens. Une valeur de champ est toujours associée à un horodatage. Les valeurs de champ ne sont pas indexées – les requêtes sur les valeurs de champ analysent tous les points qui correspondent à la plage de temps spécifiée et, par conséquent, ne sont pas performantes.
  • mesure : la partie de la structure d’InfluxDB qui décrit les données stockées dans les champs associés.

Nous vous recommandons également de jeter un coup d’œil rapide sur Concepts clés InfluxDB.

Créer un compte InfluxDB

Si vous souhaitez exécuter InfluxDB localement sur un Raspberry Pi, suivez d’abord le tutoriel suivant : Installez InfluxDB 2 sur Raspberry Pi. Ensuite, passez à la Chargement de données dans InfluxDB section.

1) Aller à https://cloud2.influxdata.com/signup et créez un compte InfluxDB.

Compte InfluxDB

2) Sélectionnez l’endroit où vous souhaitez enregistrer vos données. J’ai sélectionné l’option Google Cloud, mais vous pouvez sélectionner l’une des autres options. Sélectionnez la région, elle doit être la plus proche de votre emplacement. Ensuite, entrez quelque chose dans le champ Nom de l’entreprise et acceptez les conditions avant de continuer.

InfluxDB sélectionne le fournisseur

3) Sélectionnez le forfait InfluxDB. Pour cet exemple, nous utiliserons le plan gratuit. Pour la plupart de nos projets IoT, le plan gratuit fonctionne très bien.

Plan de sélection InfluxDB

4) Après avoir sélectionné le plan, vous serez redirigé vers la page de démarrage.

Tableau de bord de démarrage InfluxDB Cloud

Chargement de données dans InfluxDB

5) Cliquez sur l’icône Charger les données et sélectionnez Sources.

Sources cloud InfluxDB

6) Faites défiler vers le bas jusqu’à ce que vous trouviez l’option Arduino dans la section Bibliothèques clientes.

Client Arduino de chargement de données InfluxDB

Cliquez sur Initialiser le client.

InfluxDB Cloud Arduino initialiser le client

La page qui s’ouvre vous permet de créer des compartiments, et elle montre également un exemple de code pour interfacer les cartes ESP8266 ou ESP32 avec InfluxDB.

Création d’un compartiment InfluxDB

7) Créez un nouveau compartiment pour stocker vos données. Cliquez sur + Créer un compartiment pour créer un nouveau compartiment pour cet exemple. Vous pouvez utiliser les paramètres par défaut ou les personnaliser.

InfluxDB Cloud Création d'un bucket ESP8266

Obtenir l’URL InfluxDB et le jeton API

8) Obtenez votre URL InfluxDB* et d’autres détails dont vous aurez besoin plus tard. Faites défiler jusqu’à l’extrait de profil Configurer InfluxDB. Ensuite, copiez INFLUXDB_URL, INFLUXDB_TOKEN, INFLUXDB_ORG et INFLUXDB_BUCKET.

Arduino Configurer le profil InfluxDB

* Si vous exécutez InfluxDB localement sur un Raspberry Pi, l’URL sera l’adresse IP du Raspberry Pi sur le port 8086. Par exemple 192.168.1.106:8086.

Jetons d’API

Si vous avez suivi les étapes précédentes, le cloud InfluxDB a déjà créé pour vous un jeton d’API que vous pourriez trouver dans l’extrait présenté à l’étape précédente. Si vous accédez à l’icône Charger les données et sélectionnez Jetons d’API, vous trouverez le jeton d’API généré précédemment.

1679711955 5 NodeMCU ESP8266 Premiers pas avec

Sur cette page, vous pouvez générer un nouveau jeton d’API si nécessaire.

À ce moment, vous devriez avoir enregistré les éléments suivants :

  • URL du serveur InfluxDB
  • Organisation InfluxDB
  • Nom du compartiment InfluxDB
  • Jeton d’API

Interfaçage de l’ESP8266 avec InfluxDB

Nous allons programmer l’ESP8266 à l’aide de l’IDE Arduino, alors assurez-vous que le module complémentaire des cartes ESP8266 est installé :

Vous pouvez également utiliser VS Code avec l’extension PlatformIO. Consultez le didacticiel suivant pour démarrer avec VS Code + PlatformIO :

Installer la bibliothèque client InfluxDB Arduino

Il existe une librairie qui permet d’interfacer facilement l’ESP8266 avec InfluxDB : le Bibliothèque client InfluxDB Arduino. Cette bibliothèque est également compatible avec les cartes ESP32.

Installation – Arduino IDE

Si vous utilisez Arduino IDE, suivez les étapes suivantes pour installer la bibliothèque.

  1. Allez dans Sketch > Inclure la bibliothèque > Gérer les bibliothèques
  2. Recherchez InfluxDB et installez la bibliothèque ESP8266 Influxdb de Tobias Shürg.
Installer la bibliothèque InfluxDB Arduino IDE

Remarque : nous utilisons les cartes ESP8266 version 3.0.1. Vérifiez la version de vos tableaux dans Outils > Tableau > Gestionnaire de tableaux. Ensuite, recherchez ESP8266 et mettez à niveau vers la version 3.0.1 (pour le moment, il y a quelques problèmes avec la version 3.0.2, alors ne sélectionnez pas celle-là).

Installation – Code VS

Si vous utilisez VS Code avec l’extension PlatformIO, commencez par créer un projet Arduino pour votre carte ESP8266.

Ensuite, cliquez sur l’icône PIO Home, puis sélectionnez l’onglet Bibliothèques. Recherchez « influxdb ». Sélectionnez l’ESP8266 Influxdb de Tobias Schürg.

Installer la bibliothèque InfluxDB VS Code

ESP8266 Enregistrer les données dans InfluxDB

Pour vous montrer comment enregistrer des données dans InfluxDB à l’aide de l’ESP82662, nous allons jeter un œil à l’un des exemples fournis par la bibliothèque. Dans votre IDE Arduino, accédez à Fichier > Exemples > ESP8266 Infuxdb > Secure Write. Ou copiez simplement le code ci-dessous dans votre IDE Arduino.

/**
 * Secure Write Example code for InfluxDBClient library for Arduino
 * Enter WiFi and InfluxDB parameters below
 *
 * Demonstrates connection to any InfluxDB instance accesible via:
 *  - unsecured http://...
 *  - secure https://... (appropriate certificate is required)
 *  - InfluxDB 2 Cloud at https://cloud2.influxdata.com/ (certificate is preconfigured)
 * Measures signal level of the actually connected WiFi network
 * This example demonstrates time handling, secure connection and measurement writing into InfluxDB
 * Data can be immediately seen in a InfluxDB 2 Cloud UI - measurement wifi_status
 * 
 * Complete project details at our blog: https://Raspberryme.com/
 * 
 **/

#if defined(ESP32)
  #include <WiFiMulti.h>
  WiFiMulti wifiMulti;
#define DEVICE "ESP32"
  #elif defined(ESP8266)
#include <ESP8266WiFiMulti.h>
  ESP8266WiFiMulti wifiMulti;
  #define DEVICE "ESP8266"
#endif

#include <InfluxDbClient.h>
#include <InfluxDbCloud.h>

// WiFi AP SSID
#define WIFI_SSID "REPLACE_WITH_YOUR_SSID"
// WiFi password
#define WIFI_PASSWORD "REPLACE_WITH_YOUR_PASSWORD"
// InfluxDB v2 server url, e.g. https://eu-central-1-1.aws.cloud2.influxdata.com (Use: InfluxDB UI -> Load Data -> Client Libraries)
#define INFLUXDB_URL "REPLACE_WITH_YOUR_DATABASE_URL"
// InfluxDB v2 server or cloud API token (Use: InfluxDB UI -> Data -> API Tokens -> Generate API Token)
#define INFLUXDB_TOKEN "REPLACE_WITH_YOUR_TOKEN"
// InfluxDB v2 organization id (Use: InfluxDB UI -> User -> About -> Common Ids )
#define INFLUXDB_ORG "REPLACE_WITH_YOUR_ORG"
// InfluxDB v2 bucket name (Use: InfluxDB UI ->  Data -> Buckets)
#define INFLUXDB_BUCKET "ESP32"

// Set timezone string according to https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
// Examples:
//  Pacific Time: "PST8PDT"
//  Eastern: "EST5EDT"
//  Japanesse: "JST-9"
//  Central Europe: "CET-1CEST,M3.5.0,M10.5.0/3"
#define TZ_INFO "WET0WEST,M3.5.0/1,M10.5.0"

// InfluxDB client instance with preconfigured InfluxCloud certificate
InfluxDBClient client(INFLUXDB_URL, INFLUXDB_ORG, INFLUXDB_BUCKET, INFLUXDB_TOKEN, InfluxDbCloud2CACert);
// InfluxDB client instance without preconfigured InfluxCloud certificate for insecure connection 
//InfluxDBClient client(INFLUXDB_URL, INFLUXDB_ORG, INFLUXDB_BUCKET, INFLUXDB_TOKEN);

// Data point
Point sensor("wifi_status");

void setup() {
  Serial.begin(115200);

  // Setup wifi
  WiFi.mode(WIFI_STA);
  wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);

  Serial.print("Connecting to wifi");
  while (wifiMulti.run() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();

  // Add tags
  sensor.addTag("device", DEVICE);
  sensor.addTag("SSID", WiFi.SSID());

  // Alternatively, set insecure connection to skip server certificate validation 
  //client.setInsecure();

  // Accurate time is necessary for certificate validation and writing in batches
  // For the fastest time sync find NTP servers in your area: https://www.pool.ntp.org/zone/
  // Syncing progress and the time will be printed to Serial.
  timeSync(TZ_INFO, "pool.ntp.org", "time.nis.gov");

  // Check server connection
  if (client.validateConnection()) {
    Serial.print("Connected to InfluxDB: ");
    Serial.println(client.getServerUrl());
  } else {
    Serial.print("InfluxDB connection failed: ");
    Serial.println(client.getLastErrorMessage());
  }
}

void loop() {
  // Store measured value into point
  sensor.clearFields();
  // Report RSSI of currently connected network
  sensor.addField("rssi", WiFi.RSSI());
  // Print what are we exactly writing
  Serial.print("Writing: ");
  Serial.println(client.pointToLineProtocol(sensor));
  // If no Wifi signal, try to reconnect it
  if (wifiMulti.run() != WL_CONNECTED) {
    Serial.println("Wifi connection lost");
  }
  // Write point
  if (!client.writePoint(sensor)) {
    Serial.print("InfluxDB write failed: ");
    Serial.println(client.getLastErrorMessage());
  }

  //Wait 10s
  Serial.println("Wait 10s");
  delay(10000);
}

Afficher le code brut

Avant de télécharger le code sur votre tableau, vous devez insérer vos informations d’identification réseau, l’URL InfludDB, l’ID de l’organisation et le nom du compartiment.

Cet exemple illustre comment créer un point de données sur la base de données avec des balises et des champs. Il enregistre le RSSI du réseau connecté (puissance Wi-Fi entre l’ESP8266 et votre routeur) toutes les 10 secondes.

Voyons rapidement comment fonctionne le code.

Comment fonctionne le code

Tout d’abord, il commence par inclure les bibliothèques requises. Dans cet exemple, il utilise l’ESP8266WiFiMulti au lieu de la bibliothèque ESP8266WiFi pour connecter l’ESP8266 à un réseau. Il définit également le nom DEVICE en fonction de la carte sélectionnée.

#if defined(ESP32)
  #include <WiFiMulti.h>
  WiFiMulti wifiMulti;
  #define DEVICE "ESP32"
#elif defined(ESP8266)
  #include <ESP8266WiFiMulti.h>
  ESP8266WiFiMulti wifiMulti;
  #define DEVICE "ESP8266"
#endif

Remarque : la bibliothèque ESP8266WiFiMulti permet à l’ESP8266 de se connecter au réseau avec le meilleur RSSI (indicateur de puissance du signal reçu) parmi une liste de réseaux ajoutés. Dans cet exemple, il ne se connecte qu’à un seul réseau.

Incluez les bibliothèques InfluxDB requises pour pouvoir communiquer avec InfluxDB :

#include <InfluxDbClient.h>
#include <InfluxDbCloud.h>

Insérez vos informations d’identification réseau dans les variables suivantes afin que l’ESP8266 puisse se connecter à Internet :

// WiFi AP SSID
#define WIFI_SSID "REPLACE_WITH_YOUR_SSID"
// WiFi password
#define WIFI_PASSWORD "REPLACE_WITH_YOUR_PASSWORD"

Insérez l’URL du serveur InfluxDB sur les lignes suivantes :celui que vous avez obtenu à cette étape:

// InfluxDB v2 server url, e.g. https://eu-central-1-1.aws.cloud2.influxdata.com (Use: InfluxDB UI -> Load Data -> Client Libraries)
#define INFLUXDB_URL "REPLACE_WITH_YOUR_INFLUXDB_URL"

Remarque : si vous exécutez InfluxDB localement sur un Raspberry Pi, l’URL sera l’adresse IP du Raspberry Pi sur le port 8086. Par exemple 192.168.1.106:8086.

Insérez votre jeton InfluxDB—enregistré à cette étape:

#define INFLUXDB_TOKEN "REPLACE_WITH_YOUR_INFLUXDB_TOKEN"

Ajoutez le nom de votre organisation InfluxDB—vérifier cette étape.

#define INFLUXDB_ORG "REPLACE_WITH_YOUR_INFLUXXDB_ORGANIZATION_ID"

Enfin, ajoutez le nom de votre compartiment InfluxDB :

#define INFLUXDB_BUCKET "REPLACE_WITH_YOUR_BUCKET_NAME"

Définition de votre fuseau horaire

Vous devez définir votre fuseau horaire en conséquence pour ces consignes. Le moyen le plus simple est de vérifiez ce tableau et copiez votre fuseau horaire à partir de là. Dans mon cas, c’est le fuseau horaire de Lisbonne :

#define TZ_INFO "WET0WEST,M3.5.0/1,M10.5.0"

Client InfluxDB

Maintenant que vous disposez de tous les paramètres requis, vous pouvez créer une instance InfluxDBClient. Nous créons un client sécurisé qui utilise un certificat préconfiguré—en savoir plus sur la connexion sécurisée ici.

InfluxDBClient client(INFLUXDB_URL, INFLUXDB_ORG, INFLUXDB_BUCKET, INFLUXDB_TOKEN, InfluxDbCloud2CACert);

Indiquer

Ensuite, nous créons une instance Point appelée capteur. Le point sera appelé wifi_status sur la base de données. Plus tard dans le code, nous pouvons nous référer à ce point (capteur) pour ajouter des balises et des champs.

Point sensor("wifi_status");

Remarque : Un ensemble de données dans une ligne de base de données est appelé point. Chaque point a une mesure, un jeu de balises, une clé de champ, une valeur de champ et un horodatage.

installation()

Dans setup(), initialisez le Serial Monitor.

Serial.begin(115200);

Configuration et connexion au Wi-Fi :

// Setup wifi
WiFi.mode(WIFI_STA);
wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);

Serial.print("Connecting to wifi");
while (wifiMulti.run() != WL_CONNECTED) {
  Serial.print(".");
  delay(500);
}
Serial.println();

Ensuite, nous ajoutons des balises à nos données. Les balises sont des métadonnées qui nous permettent de mieux organiser nos données. C’est également un moyen plus simple d’interroger les données de manière plus efficace par la suite. Dans cet exemple, nous avons la balise d’appareil qui enregistre le nom de l’appareil (ESP32 ou ESP8266) et la balise SSID qui enregistre le SSID du réseau connecté. Pour ajouter une balise, nous appelons la méthode addTag() au point du capteur. Nous passons en arguments la clé et la valeur de la balise.

// Add tags
sensor.addTag("device", DEVICE);
sensor.addTag("SSID", WiFi.SSID());

Imaginez que cet exemple s’exécute sur plusieurs cartes et que chaque carte possède une balise d’appareil unique. Ensuite, il serait plus facile d’interroger les données relatives à un appareil spécifique à l’aide de l’étiquette d’appareil. Idem pour le SSID du réseau connecté.

Les lignes suivantes synchronisent l’heure avec les serveurs NTP.

timeSync(TZ_INFO, "pool.ntp.org", "time.nis.gov");

L’extrait de code suivant vérifie la connexion au serveur InfluxDB :

if (client.validateConnection()) {
  Serial.print("Connected to InfluxDB: ");
  Serial.println(client.getServerUrl());
} else {
  Serial.print("InfluxDB connection failed: ");
  Serial.println(client.getLastErrorMessage());
}

boucle()

Dans la boucle (), nous ajoutons des champs (les données réelles) au point. On commence par vider les champs de points :

sensor.clearFields();

Nous ajoutons un champ à ce point, en utilisant la méthode addField() et en passant comme arguments, la clé (rssi) et la valeur RSSI réelle (WiFi.RSSI()).

sensor.addField("rssi", WiFi.RSSI());

Imprimez dans le Serial Monitor ce que nous écrivons au point :

Serial.println(client.pointToLineProtocol(sensor));

Enfin, pour réellement ajouter le point à la base de données, nous utilisons la méthode writePoint() sur l’objet InfluxDBClient et passons en argument le point que nous souhaitons ajouter : client.writePoint(sensor). Nous exécutons la commande dans une instruction if à des fins de débogage.

if (!client.writePoint(sensor)) {
  Serial.print("InfluxDB write failed: ");
  Serial.println(client.getLastErrorMessage());
}

Nous écrivons de nouvelles données dans la base de données toutes les 10 secondes.

//Wait 10s
Serial.println("Wait 10s");
delay(10000);

Démonstration – Visualisation des données sur InfluxDB

Après avoir inséré tous les paramètres requis sur le code, vous pouvez le télécharger sur votre carte ESP8266. Si vous obtenez une erreur lors de la compilation, vérifiez les points suivants :

  • Vérifiez que vous avez bien sélectionné une carte ESP8266 dans Outils > Carte.
  • Vérifiez la version d’installation de vos cartes ESP8266 dans Outils > Carte > Gestionnaire de cartes > ESP8266. Sélectionnez la version 3.0.1 si vous rencontrez des problèmes avec d’autres versions.

Après avoir téléchargé le code sur votre carte, ouvrez le moniteur série à un débit en bauds de 115200. Appuyez sur le bouton RESET embarqué ESP8266 pour redémarrer la carte. Il devrait imprimer quelque chose de similaire sur le Serial Monitor :

Démonstration du moniteur série sécurisé ESP8266 InfluxDB Write

Maintenant, rendez-vous sur votre compte InfludDB et rendez-vous dans le Data Explorer en cliquant sur l’icône correspondante.

explorateur de données influxDB

Maintenant, vous pouvez visualiser vos données. Commencez par sélectionner le seau que vous voulez. Ensuite, nous devons ajouter des filtres pour sélectionner nos données. Sélectionnez le wifi_status sous le champ _measurement, votre SSID sous la balise SSID (dans ce cas, nous n’avons qu’un seul SSID, mais si nous ajoutons plusieurs SSID, nous pourrions facilement filtrer les données car nous avons ajouté le SSID en tant que balise). Enfin, sélectionnez la balise de champ (rrsi) et le périphérique (ESP8266).

Enfin, cliquez sur le bouton SOUMETTRE.

Cela affichera vos données dans le format choisi. Dans le coin supérieur gauche, vous pouvez sélectionner différentes manières de visualiser les données.

Explorateur de données InfluxDB ESP8266

Vous pouvez créer un tableau de bord pour afficher plusieurs visualisations de données dans différents formats (jauges, histogramme, statistique unique, etc.) ou différentes données sur la même page.

Création d’un tableau de bord

Cliquez sur l’icône Tableau de bord.

1679711955 411 NodeMCU ESP8266 Premiers pas avec

Puis sur Créer un tableau de bord > Nouveau tableau de bord.

Ajouter une cellule. Effectuez la requête pour obtenir vos données et sélectionnez la visualisation souhaitée. Donnez un nom à la cellule, par exemple ESP8266 Connection Strength. Vous pouvez également cliquer sur le bouton Personnaliser pour personnaliser le graphique. Enfin, cliquez sur l’icône ✓ dans le coin supérieur droit pour ajouter la visualisation sous forme de cellule à votre tableau de bord.

1679711956 824 NodeMCU ESP8266 Premiers pas avec

Vous pouvez ajouter d’autres visualisations à votre tableau de bord. Il vous suffit d’ajouter une nouvelle cellule pour chaque visualisation. Par exemple, j’ai une carte ESP32 qui enregistre également des données sur InfluxDB. J’ai donc ajouté un graphique pour l’ESP32 sur le même tableau de bord, ainsi qu’une seule statistique pour chaque carte et un graphique avec les deux séries.

Tableau de bord ESP32 et ESP8266 RSSI InfluxDB

Vous pouvez déplacer vos cellules vers différentes positions et organiser le tableau de bord d’une manière qui vous convient. Vous pouvez également personnaliser la façon dont les données sont actualisées et le nombre de points de données que vous souhaitez voir (jusqu’aux 30 derniers jours sur le plan cloud gratuit).

Conclusion

Ce n’était qu’une introduction rapide à InfluxDB avec l’ESP8266. Vous avez appris à créer un bucket de base de données et à créer et envoyer des points à l’aide de l’ESP8266. Dans cet exemple, nous envoyons le RSSI. Dans une application IoT, vous pouvez ajouter des lectures de capteurs, la consommation de courant ou toute autre donnée pertinente pour vos projets IoT et domotique.

Suivez le didacticiel suivant pour apprendre à envoyer des lectures de capteurs BME280 à InfluxDB avec des cartes ESP32/ESP8266.

Nous espérons que vous avez aimé ce tutoriel et qu’il vous a aidé à démarrer avec InfluxDB. Nous créerons bientôt d’autres tutoriels sur ce sujet. Alors restez à l’écoute!

En savoir plus sur l’ESP8266 avec nos ressources :

Merci d’avoir lu.

Apprenez l’histoire de Raspberry Pi à travers cette vidéo :

YouTube video

  • DUBEUYEW ESP8266 NodeMCU 340 ESP-12F V3 Carte de développement Internet WiFi Module sans Fil série Flash 4M pour Arduino IDE/Micropython Nouvelle Version (2 pcs)
    L'ESP8266 dispose de puissantes capacités de traitement et de stockage embarquées qui lui permettent d'être intégré aux capteurs et à d'autres appareils spécifiques à l'application via ses GPIO avec un développement initial minimal et un chargement minimal pendant l'exécution. Son degré élevé d'intégration sur puce permet un minimum de circuits externes, et l'ensemble de la solution, y compris le module frontal, est conçu pour occuper une surface de circuit imprimé minimale. ESP8266 est une puce hautement intégrée conçue pour les besoins d'un nouveau monde connecté. Il offre une solution de réseau Wi-Fi complète et autonome, lui permettant d'héberger l'application ou de décharger toutes les fonctions de réseau Wi-Fi d'un autre processeur d'application. Nodemcu v3, mis à niveau vers la puce 340 ; Alimentez votre développement de la manière la plus rapide en combinant avec le micrologiciel NodeMcu ; Il s'agit d'une unité IOT avec toutes les ressources disponibles à bord, prenant en charge la liaison intelligente et la mise en réseau intelligente. Compatible avec Arduino compatible, bibliothèque d'installation NodeMCU 1.0 disponible dans l'IDE Arduino. Cette carte de développement ESP8266 NodeMcu peut être utilisée pour un petit moniteur de température et d'humidité dans les automates domestiques.
  • D1 ESP8266 Mini Board,5 Pièces D1 ESP8266 Mini Node-MCU Lua avec ESP8266-12F Module WLAN CH-340G Compatible avec Arduino
    🔷 【Carte de développement WIFI】 : D1 ESP8266 Mini Board on-board 5V 1A switching power supply, 4M bytes. 🔷 【Avantages】:4 MBit Flash-Speicher und eine integrierte Chipkarte für ESP8266,which compatible with Arduino ; 500mA resettable fuse. 🔷 【Puce ESP8266】 : Ce module contient la puce ESP8266. Le meilleur de l'ESP8266 est qu'il est compatible avec la communication Wi-Fi, ce qui est nécessaire. 🔷 【Pins】:Cette carte contient 11 pins d'entrée et de sortie digitales, toutes les pins ont des fonctions d'interruption, PWN, I2C, 1-wire (excepté D0) et une connexion micro USB ; 1 entrée (sous 3.2V), 🔷 【D1 ESP8266 Mini】:IT est une mini carte WiFi Node-Mcu basée sur une ESP8266-12F avec un connecteur USB de Micro. Cette carte WiFi contient 9 broches d'entrée/sortie numérique, toutes les broches ont une interruption/pwm/I2C/1-fil.
  • AZDelivery 3 x NodeMCU Amica Module V2 ESP8266 ESP-12F Carte de Développement WiFi WiFi avec CP2102 Compatible avec Arduino incluant Un E-Book!
    ✅ La carte de développement Nodemcu V2 Amica ESP8266 est équipée d'un puissant microcontrôleur ESP6266 (ESP-12F) avec 802.11 b / g / n WLAN et antenne 25dBm intégrée. ✅ Cette carte de développement wifi vous permet un prototypage confortable par simple programmation via un code Lua-Script et une construction optimisée pour la carte à pain (pas de 23 mm). ✅ Grâce à ses dimensions (L 48 mm x l 26 mm x H 13 mm), NodeMcu V2 WiFi Amica ESP8266 ESP-12E est une carte de développement parfaitement conçue qui ne nécessite aucune soudure en raison de sa forme compatible. ✅ AZ-Delivery ESP8266 avec wifi possède de puissantes capacités de stockage et de traitement embarquées qui lui permettent d'être intégré avec des capteurs et des dispositifs spécifiques aux applications et de supporter une charge minimale pendant le temps de fonctionnement. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.