Un enregistreur de données comme le SparkFun DataLogger IoT est un dispositif permettant de collecter et d'enregistrer des données provenant de divers capteurs ou sources sur un laps de temps donné. Les applications scientifiques, industrielles et environnementales utilisent couramment l'enregistrement des données pour surveiller et analyser les données à des fins de recherche, d'analyse ou de contrôle.
 

Le DataLogger IoT de SparFun

SparkFun a une certaine histoire dans la conception et la commercialisation de petits enregistreurs de données, à utiliser de manière autonome ou pouvant être incorporés dans d'autres systèmes. Le SparkFun DataLogger IoT est le dernier né de leur famille d'enregistreurs de données. Il se présente sous la forme d'une petite carte (38 mm par 52 mm ; 1,5" par 2") avec un module ESP32-WROOM-32E d'un côté et un emplacement pour carte microSD de l'autre. Sur chaque petit côté de la carte se trouve une rangée de plots de soudure qui permettent d'intégrer la carte dans un système plus grand. Un connecteur USB-C est disponible pour relier la carte à un PC afin de la configurer.
 
SparkFun DataLogger IoT avec carte capteur d'humidité Qwiic
Un système simple d'enregistrement de données avec une carte de capteur d'humidité Qwiic.

Capteurs Qwiic (I²C) 

En dehors d'une unité de mesure inertielle (IMU) 9-DoF composée d'un accéléromètre et d'un gyroscope (ISM330DHCX) et d'un magnétomètre (MMC5983MA), et d'un indicateur de niveau de charge pour batteries LiPo MAX17048, l'appareil n'a pas d'autres capteurs. Un port I²C dans le style Qwiic de SparkFun est disponible pour connecter les capteurs dont vous avez besoin. Puisque I²C est un bus, plusieurs capteurs peuvent être connectés en chaîne (dans les limites des spécifications I²C, bien sûr), ce qui rend facile la mise en place d'un système multi-capteurs (tant que vous vous limitez aux cartes Qwiic). Il est intéressant de noter que les capteurs IMU sont des dispositifs SPI, et non I²C.

L'alimentation de l'enregistreur de données peut être assurée par une batterie LiPo monocellulaire rechargeable (connecteur de type JST), par l'USB-C ou par les connecteurs à broches. La carte intègre un chargeur de batterie.

Je m'abonne
Abonnez-vous à la balise thématique enregistreur de données pour être averti dès qu'une information relative à ce sujet sera publiée par Elektor !

Plug and Play

Le DataLogger IoT est programmé avec un logiciel qui met en œuvre une sorte d'application d'enregistrement de données plug and play. Avec sa base de données de plus de cinquante appareils SparkFun Qwiic, il détecte et configure automatiquement les capteurs connectés.
Vous pouvez enregistrer les données (au format CSV ou JSON) sur une carte microSD ou les transmettre sans fil à votre service préféré de l'Internet des objets (IdO). La programmation de l'appareil reste limitée à la configuration de certains paramètres dans un terminal série. Ceux qui sont familiers avec le SparkFun OpenLog Artemis (plus petit) se sentiront immédiatement à l'aise.

Des capteurs particuliers ?

Maintenant, la question qui me vient immédiatement à l'esprit est la suivante : que faire si mon capteur n'est pas dans la base de données ? Eh bien, c'est à vous de jouer. Je n'ai trouvé aucune documentation sur la façon d'utiliser l'IMU DataLogger avec des capteurs particuliers, et ce n'est clairement pas prévu et même fortement déconseillé. Le code source de l'application préchargée n'est pas disponible, ce qui vous laisse beaucoup de travail supplémentaire. Il est bien sûr possible de restaurer la carte avec les paramètres d'usine, mais c'est à vous de trouver comment le faire (essayez la procédure de démarrage standard de l'ESP32, la carte la prend en charge). Par conséquent, il est beaucoup plus facile d'acheter une carte de capteur Qwiic appropriée à la place.

Interface de communication série

Après avoir sélectionné et raccordé votre/vos capteur(s), vous devez configurer l'IMU DataLogger. Cette opération s'effectue sur un ordinateur dans un terminal série (115 200 bauds). Il se peut que vous deviez d'abord installer un pilote, car la carte est équipée d'un convertisseur USB-série WH340C.

Après avoir connecté l'enregistreur de données à l'ordinateur et configuré le terminal série, vous verrez quelques informations d'état et la liste des appareils Qwiic qu'il a trouvés. L'enregistrement des données commence alors immédiatement une fois toutes les quinze secondes, qui est le rythme par défaut.

Une pression sur une touche fait apparaître le menu principal. Il ne comporte que trois options (Paramètres, Paramètres de l'appareil et Quitter). L'option Paramètres ouvre un menu beaucoup plus long, et vous voudrez probablement passer un peu de temps à l'explorer.
 
Menu Paramètres de l'enregistreur de données
Le menu Paramètres comporte de nombreuses entrées (la dernière, la mise à jour du micrologiciel, n'est pas affichée).

De nombreuses options de configuration pour l'enregistreur de données IdO

Vous y trouverez des options pour gérer la carte SD, la connexion Wi-Fi et NTP, les réglages de l'heure, la consommation d'énergie, l'enregistrement des données, les services IdO et la mise à jour du micrologiciel, etc. C'est assez complet.

En tant qu'appareil IdO, l'enregistreur de données prend en charge AWS IoT et Azure IoT, MQTT (sécurisé et normal), ThingSpeak IoT, HTTP IoT et MachineChat. Vous devez copier tous les fichiers de certificat dont le service peut avoir besoin sur la carte SD.
Le menu Paramètres de l'appareil vous permet de configurer chaque appareil connecté individuellement. La longueur de la liste des paramètres réglables dépend du capteur.
Je m'abonne
Abonnez-vous à la balise thématique IoT pour être averti dès qu'une information relative à ce sujet sera publiée par Elektor !

Deux formats de données

Les données capturées sont automatiquement enregistrées dans un fichier sur la carte microSD (le cas échéant). Vous pouvez modifier le nom du fichier et la période avant la fin de l'enregistrement, mais il semble que vous ne puissiez pas accéder au fichier via USB. Vous devez retirer la carte microSD et l'insérer dans un ordinateur pour la lire.

Le format des données est par défaut CSV (valeurs séparées par des virgules), mais JSON est également possible. Le format des données peut être défini individuellement pour le fichier enregistré et pour le terminal série.

Détection des erreurs

Je n'avais qu'une seule carte de capteur Qwiic pour mes expérimentations, un capteur d'humidité SHTC3, et elle fonctionnait bien. Pour simuler un dysfonctionnement, j'ai débranché le câble. Cela n'a pas du tout perturbé l'enregistreur de données et aucun message d'avertissement ne s'est affiché. Cependant, les valeurs des données sont devenues des valeurs erronées. Après avoir branché à chaud le capteur sur l'enregistreur, le flux de données a simplement intégré les valeurs correctes. Apparemment, ce capteur est simple et ne nécessite aucune configuration. Il serait intéressant de voir ce qui se passerait dans une telle situation avec un capteur plus complexe ou plusieurs capteurs reliés en série.
 
Sortie JSON dans le terminal série
Les données formatées JSON dans le terminal série ne sont pas conviviales, mais les services IdO en cloud l'adorent.

Applications personnalisées

Pour ceux qui souhaitent créer leur propre application pour le DataLogger, l'accès aux bus SPI et I²C et au port série est fourni sur les connecteurs d'extension avec trois entrées analogiques et quelques LEDs. Comme le contrôleur est un ESP32, toute chaîne d'outils capable de produire des exécutables pour celui-ci peut être utilisée pour écrire des programmes (par exemple Arduino). Mais, encore une fois, SparkFun déconseille fortement de le faire. Notez également que le bus SPI utilise le (ridicule) système de dénomination propre à SparkFun, ce qui rend les choses un peu plus compliquées que nécessaire.

La carte comporte quelques cavaliers à souder permettant de configurer certaines options. L'un d'entre eux permet de déconnecter les résistances de tirage de 2,2 kΩ du bus I²C. Veuillez vous référer à la documentation pour savoir ce qui est faisable et comment le réaliser.

En résumé

Le SparkFun DataLogger IoT (9 DoF) est, comme son nom l'indique, un enregistreur de données destiné aux applications IdO. Il est équipé d'une connexion Wi-Fi et prend en charge MQTT, ce qui facilite la connexion aux services IdO les plus courants. Pour connecter des capteurs à l'appareil, il suffit de brancher un ou plusieurs modules de capteurs Qwiic. Le DataLogger les configure automatiquement, ce qui est effectivement très pratique. C'est, bien sûr, le point fort du DataLogger, sa façon plug and play de gérer les capteurs et l'enregistrement des données. Si vous pouvez travailler avec les capteurs compatibles, vous serez en mesure d'enregistrer des données presque immédiatement après avoir mis l'appareil sous tension. En plus d'être petit, il est également assez petit pour être intégré dans d'autres systèmes pour l'enregistrement de données embarqué.

Jauges de contrainte

Bien que plus de cinquante capteurs compatibles soient disponibles, ils ne couvrent pas toutes les applications possibles (on pense notamment aux jauges de contrainte). Des capteurs personnalisés peuvent être ajoutés si vous écrivez de votre propre programme d'application. Cependant, vous perdrez ainsi toutes les fonctions intéressantes de l'enregistreur de données intégré.

De même, la gestion des erreurs semble un peu légère. L'extraction inopinée d'une carte SD est détectée, mais la déconnexion d'un capteur (et de toute la chaîne ?) ne l'est pas, du moins pas dans mon environnement de test.

Vous préférez le Bluetooth?

Le suffixe « 9-DoF » dans le nom de l'appareil suggère que d'autres variantes de DataLogger IoT suivront. En attendant, le SparkFun OpenLog Artemis est un enregistreur de données similaire doté de Bluetooth au lieu de Wi-Fi.

Traduction : Laurent RAUBER