Profilage température Raspberry Pi précis avec Python, SQLite et LabVIEW
Sur mon Raspberry Pi, j'ai monté un capteur DS18B20 juste au-dessus du processeur pour capturer la température interne de la carte. Mon objectif était de cartographier ce profil à l'intérieur du boîtier et de le présenter dans un format visuel clair. J'ai atteint cela en intégrant un script Python léger, une base de données SQLite3 et LabVIEW.
Parce que le Pi lui-même fonctionne relativement frais et que je n'ai qu'un seul capteur, les variations de température résultantes sont subtiles — une exagération dans l'image accompagnante. Néanmoins, la méthodologie s'adapte à toute configuration.
J'ai commencé par écrire une routine Python qui s'exécute continuellement sur le Pi. Elle lit la valeur du DS18B20 et écrit la température horodatée dans une base de données SQLite3 située sur un dossier partagé monté depuis une clé USB. La même base de données stocke aussi les données d'accéléromètre (à ajouter plus tard).
Côté hôte, une application LabVIEW interroge la base de données SQLite3 distante pour récupérer la lecture de température la plus récente. J'utilise le toolkit SQLite simple pour LabVIEW, qui rationalise la connexion et le processus de requête. Initialement, la requête retourne l'ensemble du jeu de données ; dans les itérations futures, je l'affinerai pour ne récupérer que la dernière entrée.
Pour la visualisation, j'utilise Sensor Mapping Express VI. Le flux de travail est simple : pointez le VI vers un modèle .stl du Pi, désignez les emplacements des capteurs et fournissez l'array de températures. J'ai converti un modèle 3D haute résolution de la carte en utilisant Google SketchUp, puis ajouté quatre nœuds de capteurs fictifs pour illustrer les gradients de température. Les quatre capteurs externes sont maintenus à 0 °C fixes, tandis que le capteur central tire les données en direct de la base de données. Avec des capteurs supplémentaires, la carte devient de plus en plus précise.
L'application se rafraîchit toutes les 100 ms : elle interroge la base de données, construit un array de valeurs de température et met à jour le Sensor Mapping Express VI. Le résultat est un tracé de surface dynamique qui change en temps réel pour refléter la température interne du Pi.
Correspondance Température-Couleur :
- 0 °C – R0 G0 B255
- 21,25 °C – R0 G255 B255
- 42,5 °C – R0 G255 B60
- 63,75 °C – R255 G255 B85
- 85 °C – R255 G0 B0
En plus de la température, j'ai connecté un accéléromètre ADXL345 pour capturer les données d'inclinaison et de tangage. La prochaine phase liera ces données de mouvement au modèle 3D dans LabVIEW, permettant à la représentation virtuelle de refléter l'orientation physique du Raspberry Pi.
Pour une plongée plus profonde dans le code, le schéma de base de données et la configuration LabVIEW, voir l'article complet sur le profilage de température Raspberry Pi utilisant LabVIEW.
Processus de fabrication
- Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
- Moniteur réseau température et humidité Raspberry Pi — Guide de configuration DIY
- Comment lire la température avec un DS18B20 sur Raspberry Pi 2
- Surveillance de température professionnelle sur Raspberry Pi avec DS18B20
- Mesure de température sur Raspberry Pi avec capteurs 1‑Wire Maxim et pont I2C DS2482
- Capteur de température infrarouge TMP006 avec Raspberry Pi : bibliothèque Python et guide de configuration
- Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
- Surveillance transparente température et humidité sur Raspberry Pi avec EzTemp
- Surveillance précise de la température dans un placard serveur avec Raspberry Pi