Projet IoT 101 :Diffuser la température de votre Raspberry Pi
"Bonjour le monde!" – Il s'agit probablement de la sortie du premier programme que vous ayez jamais écrit en apprenant à coder. La configuration d'un appareil pour diffuser des données de température est en train de devenir rapidement le « Hello World ! » de facto de l'Internet des objets (IoT) ! projet. Si vous imprimez « Hello World ! » la première fois a été une tâche longue et frustrante, vous n'avez peut-être jamais écrit un autre programme. Votre premier projet IoT ne devrait qu'apporter un grand sourire sur votre visage. Ce projet amusant et facile vous fera découvrir le monde merveilleux du streaming de données IoT.
Un didacticiel vidéo de l'ensemble de ce projet est disponible sur :
http://youtu.be/HMqPbfvCshs
Voici les fournitures dont vous aurez besoin :
- Un Raspberry Pi connecté à Internet ou l'ordinateur monocarte de votre choix.
- Un capteur de température DS18B20 (https://www.adafruit.com/product/381).
- Une maquette pour le câblage d'un circuit simple (dans le kit de démarrage Adafruit Pi).
- Une résistance de 4,7 K à 10 K (également dans le kit de démarrage Adafruit Pi).
Étape 1 :Configuration du matériel
Le capteur de température DS18B20 fonctionne bien avec le Raspberry Pi car il possède une sortie numérique et le Pi n'a pas de convertisseurs analogique-numérique (ADC) intégrés. Raspbian comprend une interface pour lire la sortie du capteur. Nous avons juste à écrire un petit code pour saisir et analyser la température. Adafruit propose ici un excellent didacticiel pour l'utilisation du DS18B20 que nous allons simplement suivre et modifier pour diffuser la température au lieu de simplement l'afficher à l'écran.
La configuration matérielle est simple. Fil rouge DS18B20 à 3.3V. Fil noir à GND. Fil bleu à une résistance de rappel et à la broche GPIO 4 de votre Pi.
Étape 2 : Lisez la température
Pour démarrer l'interface de lecture du capteur de température, nous devons exécuter deux commandes. Accédez à une invite de commande sur votre Pi ou SSH dans votre Pi. Tapez les commandes suivantes :
sudo modprobe w1-gpio
sudo modprobe w1-therm
La sortie de votre capteur de température est maintenant écrite dans un fichier sur votre Pi. Pour trouver ce fichier,
cd /sys/bus/w1/devices
Dans ce répertoire, il y aura un sous-répertoire qui commence par "28-". Ce qui vient après le « 28- » est le numéro de série de votre capteur. cd dans ce répertoire. Dans ce répertoire, un fichier nommé w1_slave contient la sortie de votre capteur. Le contenu de ce fichier ressemblera à ceci :
a2 01 4b 46 7f ff 0e 10 d8 :crc=d8 OUI
a2 01 4b 46 7f ff 0e 10 d8 t=26125
Le nombre après "t=" est le nombre que nous voulons. C'est la température en 1/1000 degrés Celsius (dans l'exemple ci-dessus, la température est de 26,125 C). Nous avons juste besoin d'un programme simple qui lit ce fichier et analyse ce nombre. Heureusement pour nous, Adafruit a déjà créé un script Python pour nous qui fait exactement cela et affiche la température à l'écran. Créez un nouveau fichier sur votre Pi (par exemple, temperature.py) et copiez-collez le code suivant dans :
Cliquez ici pour voir le code
Exécutez ce script ("sudo python temperature.py") pour voir la sortie de votre capteur de température à l'écran.
Étape 3 : diffuser la température
C'est le point où nous nous écartons du tutoriel Adafruit. L'envoi de la température à l'écran est ennuyeux. Nous voulons diffuser ces données vers un endroit où nous pouvons voir non seulement la température actuelle, mais aussi un historique des données de température capturées (en plus, qui veut « lire » un tas de températures sous forme de texte ; nous voulons une jolie visualisation des données). Installez d'abord le streamer Initial State pour donner une destination à nos mesures de température (allez ici pour obtenir des instructions sur la configuration du streamer Initial State ; c'est super facile et prend moins de deux minutes). Nous allons modifier le script ci-dessus pour diffuser la température sur notre compte Initial State au lieu de l'afficher à l'écran. Voici les modifications :
Cliquez ici pour voir le code
Vous devrez copier + coller la clé client associée à votre compte Initial State entre les guillemets de la ligne 6 où il est écrit client_key ="". Vous pouvez trouver votre clé client dans les paramètres de votre compte ou sur la page de destination une fois que vous vous êtes connecté à votre compte.
Voici les modifications que nous venons d'apporter :
- Sur la ligne 4, nous avons importé le module de diffusion de données Initial State.
- Sur la ligne 6, nous avons créé un nouveau bucket appelé « Flux de température » et l'avons associé à notre compte via notre clé client.
- À la ligne 30, nous avons modifié la fonction read_temp() pour ne renvoyer que la température en Celsius.
- À la ligne 34, nous avons converti la sortie de read_temp() en fahrenheit.
- Sur les lignes 35 et 36, nous avons diffusé les deux températures.
Pour plus de détails : projet IoT 101 : Flux de température depuis votre Raspberry Pi
Processus de fabrication
- Enregistreur de température Raspberry Pi
- Profil de température Raspberry Pi avec LabVIEW
- Moniteur réseau de température et d'humidité Raspberry Pi
- Lire la température avec DS18B20 | Raspberry Pi 2
- Surveillance de la température sur le Raspberry Pi
- Mesure de la température avec RASPBERRY PI
- Capteur de température Python et Raspberry Pi
- Contrôle de la température avec Raspberry Pi
- Raspberry Pi lisant la température et la pression BMP085