Comment construire un moniteur de température Raspberry Pi : 9 étapes
Comment construire un moniteur de température Raspberry Pi : 9 étapes
Anonim
Comment construire un moniteur de température Raspberry Pi
Comment construire un moniteur de température Raspberry Pi

La température et l'humidité sont des points de données vitaux dans le monde industriel d'aujourd'hui. La surveillance des données environnementales des salles de serveurs, des congélateurs commerciaux et des lignes de production est nécessaire pour assurer le bon fonctionnement. Il existe de nombreuses solutions, des plus simples aux plus complexes, et cela peut sembler écrasant quant aux besoins de votre entreprise et par où commencer.

Nous expliquerons comment surveiller la température avec un Raspberry Pi et différents capteurs de température que vous pouvez utiliser. C'est un bon point de départ car ces solutions sont peu coûteuses, faciles à mettre en œuvre et vous donnent une base sur laquelle vous pouvez vous baser pour d'autres surveillances environnementales.

Fournitures

  • Raspberry Pi (3, 4 ou Zero WH)
  • Capteur de température (DHT2, DSB18B20, BME280 ou Sense HAT)
  • Câble d'extension IDE mâle à femelle 6" 40 broches (Solution Sense HAT)
  • Résistance 10K, planche à pain, carte de dérivation 40 broches + câble plat, fils (pour la solution DSB18B20)

Étape 1: Raspberry Pi

Un Raspberry Pi est un ordinateur monocarte peu coûteux qui vous permettra de vous connecter à un capteur de température et de diffuser les données vers un logiciel de visualisation de données. Raspberry Pi a commencé comme un outil d'apprentissage et est devenu un outil de travail industriel. La facilité d'utilisation et la capacité de coder avec Python, le langage de programmation à la croissance la plus rapide, en ont fait une solution incontournable.

Vous aurez besoin d'un Raspberry Pi doté du WiFi intégré, c'est-à-dire de n'importe quel modèle 3, 4 et zéro W/WH. Entre ceux-ci, vous pouvez choisir en fonction des prix et des fonctionnalités. Le Zero W/WH est le moins cher, mais si vous avez besoin de plus de fonctionnalités, vous pouvez choisir entre les 3 et 4. Vous ne pouvez acheter qu'un Zero W/WH à la fois en raison des limitations imposées par la Fondation Raspberry Pi. Quel que soit le Pi que vous choisissez, assurez-vous d'acheter un chargeur car c'est ainsi que vous alimenterez le Pi et une carte SD avec Raspbian pour rendre l'installation du système d'exploitation aussi simple que possible.

Il existe d'autres ordinateurs monocarte qui peuvent également fonctionner, mais c'est pour une autre fois et un autre article.

Étape 2: Capteurs

Nous vous recommandons d'utiliser trois capteurs car ils sont peu coûteux, faciles à connecter et donnent des lectures précises; DSB18B20, DHT22 et Raspberry Pi Sense HAT.

DHT22 - Ce capteur de température et d'humidité a une précision de température de +/- 0,5 C et une plage d'humidité de 0 à 100 %. Il est simple à connecter au Raspberry Pi et ne nécessite aucune résistance de rappel.

DSB18B20 - Ce capteur de température a une sortie numérique, qui fonctionne bien avec le Raspberry Pi. Il a trois fils et nécessite une planche à pain et une résistance pour la connexion.

BME280 - Ce capteur mesure la température, l'humidité et la pression barométrique. Il peut être utilisé à la fois en SPI et en I2C.

Sense HAT - Il s'agit d'un module complémentaire pour Raspberry Pi doté de LED, de capteurs et d'un petit joystick. Il se connecte directement au GPIO du Raspberry Pi, mais l'utilisation d'un câble plat vous donne des lectures de température plus précises.

Étape 3: configuration du Raspberry Pi

Si c'est la première fois que vous configurez votre Raspberry Pi, vous devrez installer le système d'exploitation Raspbian et connecter votre Pi au WiFi. Cela nécessitera un moniteur et un clavier pour se connecter au Pi. Une fois que vous l'avez opérationnel et connecté au WiFI, votre Pi est prêt à fonctionner.

Étape 4: Compte d'état initial

Compte d'État initial
Compte d'État initial
Compte d'État initial
Compte d'État initial

Vous aurez besoin d'un endroit où envoyer vos données pour conserver un journal historique et afficher le flux de données en temps réel. Nous utiliserons donc l'état initial. Accédez à https://iot.app.initialstate.com et créez un nouveau compte ou connectez-vous à votre compte existant.

Ensuite, nous devons installer le module Python Initial State sur votre Pi. À une invite de commande (n'oubliez pas d'abord de SSH dans votre Pi), exécutez la commande suivante:

$ cd /home/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Après avoir entré la commande curl dans l'invite de commande, vous verrez quelque chose de similaire à la sortie suivante à l'écran:

pi@raspberrypi ~

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash Mot de passe: Début de l'installation facile d'ISStreamer Python ! Cela peut prendre quelques minutes à installer, prenez un café:) Mais n'oubliez pas de revenir, j'aurai des questions plus tard ! Trouvé easy_install: setuptools 1.1.6 Pip trouvé: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) version majeure de pip: 1 version mineure de pip: 5 ISStreamer trouvé, mise à jour… Exigence déjà à jour: ISStreamer dans /Library/Python/2.7/site-packages Nettoyage… Voulez-vous obtenir automatiquement un exemple de script ? [o/N] Où voulez-vous enregistrer l'exemple ? [par défaut:./is_example.py] Veuillez sélectionner l'application Initial State que vous utilisez: 1. app.initialstate.com 2. [NOUVEAU !] iot.app.initialstate.com Entrez le choix 1 ou 2: Entrez iot.app Nom d'utilisateur.initialstate.com: Entrez le mot de passe iot.app.initialstate.com:

Lorsque vous êtes invité à obtenir automatiquement un exemple de script, tapez y. Cela créera un script de test que nous pouvons exécuter pour nous assurer que nous pouvons diffuser des données vers l'état initial. L'invite suivante vous demandera où vous souhaitez enregistrer le fichier d'exemple. Vous pouvez soit taper un chemin local personnalisé, soit appuyer sur Entrée pour accepter l'emplacement par défaut. Enfin, il vous sera demandé quelle application Initial State vous utilisez. Si vous avez récemment créé un compte, sélectionnez l'option 2, entrez votre nom d'utilisateur et votre mot de passe. Après cela, l'installation sera terminée.

Jetons un coup d'œil à l'exemple de script qui a été créé.

$ nano is_example.py

Sur la ligne 15, vous verrez une ligne qui commence par streamer = Streamer(bucket_ …. Cette ligne crée un nouveau seau de données nommé « Python Stream Example » et est associé à votre compte. Cette association se produit à cause de access_key = « … » sur cette même ligne. Cette longue série de lettres et de chiffres est la clé d'accès de votre compte Initial State. Si vous accédez à votre compte Initial State dans votre navigateur Web, cliquez sur votre nom d'utilisateur en haut à droite, puis accédez à « mes paramètres », vous trouverez cette même clé d'accès ici sous « Clés d'accès en streaming ».

Chaque fois que vous créez un flux de données, cette clé d'accès dirigera ce flux de données vers votre compte (donc ne partagez votre clé avec personne).

Exécutez le script de test pour vous assurer que nous pouvons créer un flux de données sur votre compte Initial State. Exécutez ce qui suit:

$ python is_example.py

Revenez à votre compte Initial State dans votre navigateur Web. Un nouveau compartiment de données appelé "Python Stream Example" aurait dû s'afficher à gauche dans votre étagère de journaux (vous devrez peut-être actualiser la page). Cliquez sur ce bucket, puis sur l'icône Waves pour afficher les données de test

Si vous utilisez Python 3, vous pouvez installer le module Initial State Streamer que vous pouvez installer à l'aide de la commande suivante:

pip3 installer ISStreamer

Nous sommes maintenant prêts à configurer le capteur de température avec le Pi pour diffuser la température sur un tableau de bord.

Étape 5: Solution DHT22

Solution DHT22
Solution DHT22

Le DHT22 aura trois broches - 5V, Gnd et data. Il devrait y avoir une étiquette de broche pour l'alimentation sur le DHT22 (par exemple « + » ou « 5V »). Connectez-le à la broche 2 (la broche en haut à droite, 5 V) du Pi. La broche Gnd sera étiquetée '-' ou 'Gnd' ou quelque chose d'équivalent. Connectez-le à la broche 6 Gnd (deux broches en dessous de la broche 5V) sur le Pi. La broche restante sur le DHT22 est la broche de données et sera étiquetée « out » ou « s » ou « données ». Connectez-le à l'une des broches GPIO du Pi, telles que GPIO4 (broche 7). Une fois que cela est câblé, allumez votre Pi.

Installez le module Python Adafruit DHT à une invite de commande pour faciliter la lecture des données du capteur DHT22:

$ sudo pip installer Adafruit_DHT

Avec notre système d'exploitation installé avec nos deux modules Python pour la lecture des données des capteurs et l'envoi des données à l'état initial, nous sommes prêts à écrire notre script Python. Le script suivant créera/ajoutera à un seau de données d'état initial, lira les données du capteur DHT22 et enverra ces données à un tableau de bord en temps réel. Tout ce que vous avez à faire est de modifier les lignes 6–11.

importer Adafruit_DHT

from ISStreamer. Streamer import Streamer import time# --------- Paramètres utilisateur --------- SENSOR_LOCATION_NAME = "Office" BUCKET_NAME = ":partly_sunny: Room Temperatures" BUCKET_KEY = "rt0129" ACCESS_KEY = "PLACEZ VOTRE CLÉ D'ACCÈS À L'ÉTAT INITIAL ICI" MINUTES_BETWEEN_READS = 10METRIC_UNITS = False # --------------------------------- streamer = Streamer(bucket_name=BUCKET_NAME, bucket_key=BUCKET_KEY, access_key=ACCESS_KEY) lorsque True: humidité, temp_c = Adafruit_DHT.read_retry(Adafruit_DHT. DHT22, 4) si METRIC_UNITS: streamer.log(SENSOR_LOCATION_NAME + " Temperature(C) ", temp_: temp_f = format(temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log(SENSOR_LOCATION_NAME + " Température(F)", temp_f) humidité = format(humidité, ".2f") streamer.log(SENSOR_LOCATION_NAME + " Humidité (%)", humidité) streamer.flush() time.sleep(60*MINUTES_BETWEEN_READS)

  • Ligne 6 - Cette valeur doit être unique pour chaque nœud/capteur de température. Il peut s'agir du nom de la pièce de votre nœud de capteur, de son emplacement physique, de son identifiant unique ou autre. Assurez-vous simplement qu'il est unique pour chaque nœud pour vous assurer que les données de ce nœud vont vers son propre flux de données dans votre tableau de bord.
  • Ligne 7 - Il s'agit du nom du compartiment de données. Cela peut être modifié à tout moment dans l'interface utilisateur de l'état initial.
  • Ligne 8 - Ceci est votre clé de seau. Il doit s'agir de la même clé de compartiment pour chaque nœud que vous souhaitez afficher dans le même tableau de bord.
  • Ligne 9 - Il s'agit de votre clé d'accès au compte Initial State. Copiez et collez cette clé à partir de votre compte Initial State.
  • Ligne 10 - C'est le temps entre les lectures du capteur. Changez en conséquence.
  • Ligne 11 - Vous pouvez spécifier des unités métriques ou impériales sur la ligne 11.

Après avoir défini les lignes 6 à 11 dans votre script Python sur votre Pi, enregistrez et quittez l'éditeur de texte. Exécutez le script avec la commande suivante:

$ python tempsensor.py

Vous aurez maintenant l'envoi de données vers un tableau de bord État initial. Accédez à la dernière section de cet article pour savoir comment personnaliser votre tableau de bord.

Étape 6: Solution DSB18B20

Solution DSB18B20
Solution DSB18B20
Solution DSB18B20
Solution DSB18B20

Le câble plat se connecte aux broches GPIO du Pi. Le DS18B20 a trois fils. Le fil rouge se connecte à 3.3V. Le fil bleu/noir se connecte à la terre. Le fil jaune se connecte à une résistance de rappel/broche 4. Une fois celle-ci câblée, allumez votre Pi.

La dernière version de Raspbian (noyau 3.18) nécessite un ajout à votre fichier /boot/config.txt pour que le Pi communique avec le DS18B20. Exécutez la commande suivante pour modifier ce fichier:

$ sudo nano /boot/config.txt

Si la ligne suivante n'est pas déjà dans ce fichier (si c'est le cas, elle est probablement au bas du fichier), ajoutez-la et enregistrez le fichier.

dtoverlay=w1-gpio, gpiopin=4

Redémarrez votre Pi pour que les modifications prennent effet.

$ sudo redémarrer

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/périphériques

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. Utilisez nano pour afficher le contenu du fichier. Une fois que vous avez entré le fichier, il ressemblera à ceci:

a2 01 4b 46 7f ff 0e 10 d8: crc=d8 OUIa2 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. Nous y viendrons dans une seconde.

Tout est maintenant prêt pour que nous commencions à diffuser des données. Pour ouvrir l'éditeur de texte, tapez ce qui suit dans l'invite de commande:

$ nanotempérature.py

Copiez et collez le code ci-dessous dans l'éditeur de texte.

importer le système d'exploitation

import glob import time from ISStreamer. Streamer import Streamerstreamer = Streamer(bucket_name="Temperature Stream", bucket_key="piot_temp_stream031815", access_key="PUT_YOUR_ACCESS_KEY_HERE") os.system('modprobe w1-gpio') os.system('modprobe w1 -therm') base_dir = '/sys/bus/w1/devices/' device_folder = glob.glob(base_dir + '28*')[0] device_file = device_folder + '/w1_slave' def read_temp_raw(): f = open(device_file, 'r') lines = f.readlines() f.close() renvoie les lignes def read_temp(): lines = read_temp_raw() tandis que lines[0].strip()[-3:] != 'YES': time.sleep(0.2) lines = read_temp_raw() equals_pos = lines[1].find('t=') if equals_pos != -1: temp_string = lines[1][equals_pos+2:] temp_c = float(temp_string) / 1000.0 renvoie temp_c tant que True: temp_c = read_temp() temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log("temperature (C)", temp_c) streamer.log("temperature (F)", temp_f) time.sleep (.5)

Vous devez mettre votre clé d'accès à l'état initial sur la ligne 6 à la place de PUT_YOUR_ACCESS_KEY_HERE (copiez la clé de streaming dans votre presse-papiers à partir de « Mon compte » et collez-la dans le code dans nano dans votre terminal).

La ligne 6 créera un compartiment nommé « Flux de température » dans votre compte État initial (en supposant que vous ayez correctement spécifié votre access_key sur cette même ligne). Les lignes 8 à 30 de ce script s'interfacent simplement avec le capteur DS18B20 pour lire sa température à partir du fichier w1_slave dont nous avons parlé plus tôt. La fonction read_temp_raw() à la ligne 15 lit le fichier brut w1_slave. La fonction read_temp() à la ligne 21 analyse la température de ce fichier. La ligne 34 appelle ces fonctions pour obtenir la température actuelle. La ligne 35 convertit la température de Celsius en Fahrenheit. Les lignes 35 et 36 transmettent la température à votre compte Initial State. La ligne 37 met le script en pause pendant 0,5 seconde, définissant la fréquence à laquelle le capteur de température sera lu et diffusé.

Nous sommes prêts à commencer le streaming. Exécutez la commande suivante:

$ sudo python temperature.py

Revenez à votre compte État initial dans votre navigateur Web et recherchez un nouveau compartiment de données appelé Flux de température. Vous devriez voir les données de température en streaming en direct. Faites varier la température du capteur en le tenant à la main ou en le mettant dans un verre de glace.

Vous aurez maintenant l'envoi de données vers un tableau de bord État initial. Accédez à la dernière section de cet article pour savoir comment personnaliser votre tableau de bord.

Étape 7: Solution BME280

Vous aurez besoin des éléments suivants pour construire cette solution:

-Capteur de pression, de température et d'humidité BME280

Ce capteur est livré avec des broches que vous devrez souder sur le capteur. Je recommande d'utiliser une planche à pain avec les broches côté long vers le bas dans la planche à pain pour faciliter la soudure. Une fois que vous avez terminé, nous devons connecter le capteur au Pi.

Connectez la broche VIN du capteur à la broche 1 3,3 V du Pi. Connectez la broche GND du capteur à la broche de masse 6 du Pi. Connectez la broche SCK du capteur à la broche SCL 5 du Pi. Connectez la broche SDI du capteur à la broche SDA 3 du Pi. Vous devrez utiliser Python 3 pour cette solution et installer le module Initial State Streamer à l'aide de la méthode d'installation pip3.

Vous devrez également installer quelques bibliothèques Python Adafruit.

pip3 installer adafruit-blinkapip3 installer pureio pip3 installer spidev pip3 installer adafruit-GPIO pip3 installer adafruit-circuitpython-bme280

Pour utiliser le capteur, nous devons activer I2C sur le Pi.

sudo raspi-config

Cela ouvrira l'outil de configuration du logiciel Raspberry Pi. Allez à l'option 5 Options d'interfaçage. De là, allez à I2C. Il vous demandera si vous souhaitez activer I2C, sélectionnez Oui et Terminer. Maintenant, vous avez I2C activé pour communiquer avec le capteur.

Nous pouvons tester cela en exécutant ce qui suit:

sudo i2cdetect -y 1

Cela vérifiera que votre Pi voit le capteur. De la manière dont il est connecté, il devrait afficher le capteur à l'adresse 77. Si vous ne détectez pas le capteur, redémarrez votre Pi, réactivez l'option d'interface I2C sur votre Pi et réessayez. Une fois que votre capteur est détecté, il est temps pour exécuter notre code principal qui enverra des données à l'état initial. Création d'un fichier appelé bme280sensor.py avec la commande nano. Copiez et collez le code de l'essentiel dans l'éditeur de texte. Vous devrez apporter des modifications aux lignes 12 à 19.

heure d'importation

import board import busio import adafruit_bme280 depuis ISStreamer. Streamer import Streamer # Créer un objet bibliothèque à l'aide de notre bus I2C porti2c = busio. I2C(board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C(i2c) # ------- -- Paramètres utilisateur --------- SENSOR_LOCATION_NAME = "Office" BUCKET_NAME = ":partly_sunny: Room Temperature" BUCKET_KEY = "temp1" ACCESS_KEY = "YOUR ACCESS KEY HERE" # modifiez ceci pour correspondre à la pression de l'emplacement (hPa) au niveau de la mer bme280.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # --------------------------------- # OU créez un objet de bibliothèque en utilisant notre port Bus SPI #spi = busio. SPI(board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut(board. D10) #bme280 = adafruit_bme280. Adafruit_BME280_SPI(spi, bme_cs) streamer = Streamer(bucket_name=BUCKET_NAME, bucket_key=BUCKET_KEY, access_key=ACCESS_KEY) tandis que True: humidité = format(bme280.humidity, ".1f") pressure = format(bme280.pressure, ".1f") temp_c = bme280.temperatu re if METRIC_UNITS: streamer.log(SENSOR_LOCATION_NAME + "Temperature(C)", temp_c) else: temp_f = format(temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log(SENSOR_LOCATION_NAME + " Temperature(F)", temp_f) streamer.log(SENSOR_LOCATION_NAME + "Humidity(%)", humidité) streamer.log(SENSOR_LOCATION_NAME + "Pressure(hPA)", pressure) streamer.flush() time.sleep(60*MINUTES_BETWEEN_READS)

  • Ligne 12- Cette valeur doit être unique pour chaque nœud/capteur de température. Il peut s'agir du nom de la pièce de votre nœud de capteur, de son emplacement physique, de son identifiant unique ou autre. Assurez-vous simplement qu'il est unique pour chaque nœud pour vous assurer que les données de ce nœud vont vers son propre flux de données dans votre tableau de bord.
  • Ligne 13- Il s'agit du nom du compartiment de données. Cela peut être modifié à tout moment dans l'interface utilisateur de l'état initial.
  • Ligne 14- Ceci est votre clé de seau. Il doit s'agir de la même clé de compartiment pour chaque nœud que vous souhaitez afficher dans le même tableau de bord.
  • Ligne 15- Il s'agit de votre clé d'accès au compte Initial State. Copiez et collez cette clé à partir de votre compte Initial State.
  • Ligne 17- Il s'agit de la pression de votre emplacement (hPa) au niveau de la mer. Vous pouvez trouver ces informations sur la plupart des sites Web météorologiques.
  • Ligne 18 - C'est le temps entre les lectures du capteur. Modifiez en conséquence. Ligne 19- Ici, vous pouvez spécifier des unités métriques ou impériales.

Après avoir défini les lignes 12 à 19 dans votre script Python sur votre Pi Zero WH, enregistrez et quittez l'éditeur de texte. Exécutez le script avec la commande suivante:

$ python3 bme280sensor.py

Vous aurez maintenant l'envoi de données vers un tableau de bord État initial. Accédez à la dernière section de cet article pour savoir comment personnaliser votre tableau de bord.

Étape 8: détecter le CHAPEAU

CHAPEAU de Sens
CHAPEAU de Sens
CHAPEAU de Sens
CHAPEAU de Sens

La première étape de l'utilisation du Sense HAT consiste à l'installer physiquement sur votre Pi. Avec le Pi éteint, attachez le HAT comme indiqué sur l'image.

Si vous décidez d'utiliser la solution indiquée ci-dessus, vous remarquerez peut-être que les relevés de température de votre Sense HAT seront un peu élevés - c'est parce qu'ils le sont. Le coupable est la chaleur générée par le processeur du Pi qui chauffe l'air autour du Sense HAT lorsqu'il est assis sur le Pi. Pour rendre le capteur de température utile, nous devons soit éloigner le HAT du Pi, soit essayer de calibrer la lecture du capteur de température. Une bonne solution pour éloigner le capteur du Pi est un câble qui permet au Sense HAT de pendre loin du Pi. Un câble de rallonge IDE mâle à femelle de 6 , 40 broches fera l'affaire.

Une fois que vous avez choisi les deux options, allumez votre Pi. Nous devons installer la bibliothèque Python pour faciliter la lecture des valeurs des capteurs à partir du Sense HAT. Tout d'abord, vous devrez vous assurer que tout est à jour sur votre version de Raspbian:

$ sudo apt-get update

Ensuite, installez la bibliothèque Python Sense HAT:

$ sudo apt-get install sense-hat

Redémarrez votre Pi. Nous sommes prêts à tester le Sense HAT en lisant les données du capteur et en envoyant ces données à l'état initial.

Créez un fichier appelé sensehat et ouvrez-le dans l'éditeur de texte en entrant ce qui suit dans l'invite de commande:

$ nano sensehat.py

Copiez et collez le code ci-dessous dans l'éditeur de texte.

de sense_hat importer SenseHat

import time import sys from ISStreamer. Streamer import Streamer # --------- Paramètres utilisateur --------- BUCKET_NAME = "Office Weather" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Office" MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer(bucket_name=BUCKET_NAME, bucket_key=BUCKET_KEY, access_key=ACCESS_KEY) sense = SenseHat() while True: # Lire les capteurs temp_c = sense.get_temperature() humidity = sense.get_humidity() pressure_mb = sense.get_pressure() # Formater les données temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float("{0:.2f}".format(temp_f)) humidité = float("{0:.2f}".format(humidité)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float("{ 0:.2f}".format(pressure_in)) # Imprimer et diffuser print SENSOR_LOCATION_NAME + " Température(F): " + str(temp_f) print SENSOR_LOCATION_NAME + " Humidité(%): " + str(humidité) print SENSOR_LOCATION_NAME + " Pressure(IN): " + str(pressure_in) streamer.log(":sunny: " + SEN SOR_LOCATION_NAME + " Température(F)", temp_f) streamer.log(":sweat_drops: " + SENSOR_LOCATION_NAME + " Humidité(%)", humidité) streamer.log(":cloud: " + SENSOR_LOCATION_NAME + " Pression(IN)", pressure_in) streamer.flush() time.sleep(60*MINUTES_BETWEEN_SENSEHAT_READS)

Remarquez sur la première ligne que nous importons la bibliothèque SenseHat dans le script. Avant d'exécuter ce script, nous devons configurer nos paramètres utilisateur.

# --------- Paramètres utilisateur ---------

BUCKET_NAME = "Office Weather"BUCKET_KEY = "sensehat"ACCESS_KEY = "Your_Access_Key"SENSOR_LOCATION_NAME = "Office"MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ----------- --------

Plus précisément, vous devez définir votre ACCESS_KEY sur la clé d'accès de votre compte Initial State. Vous pouvez remplacer BUCKET_NAME et SENSOR_LOCATION_NAME par l'emplacement réel du capteur. Enregistrez et quittez l'éditeur de texte.

À une invite de commande sur votre Pi, exécutez le script:

$ sudo python sensehat.py

Vous aurez maintenant l'envoi de données vers un tableau de bord État initial. Accédez à la dernière section de cet article pour savoir comment personnaliser votre tableau de bord.

Étape 9: Personnalisez votre tableau de bord d'état initial

Personnalisez votre tableau de bord d'état initial
Personnalisez votre tableau de bord d'état initial

Accédez à votre compte Initial State et examinez vos données. Vous pouvez cliquer avec le bouton droit sur une vignette pour modifier le type de graphique et cliquer sur Modifier les vignettes pour redimensionner et déplacer vos vignettes. Je recommanderais d'utiliser le thermostat de la jauge pour la température et le niveau de liquide de la jauge pour l'humidité. Vous pouvez créer des graphiques linéaires pour la température et l'humidité pour voir les changements au fil du temps. Vous pouvez également ajouter une image d'arrière-plan à votre tableau de bord.

Vous pouvez définir des alertes de déclenchement afin que vous puissiez recevoir un SMS ou un e-mail si la température descend en dessous ou dépasse un certain seuil. Accédez à votre compartiment de données et cliquez sur Paramètres. De là, accédez à l'onglet Déclencheurs. Saisissez la clé de flux que vous souhaitez surveiller, l'opérateur que vous souhaitez utiliser et la valeur de seuil. Cliquez sur le signe plus pour ajouter le déclencheur. Ensuite, vous entrerez votre e-mail ou votre numéro de téléphone pour recevoir l'alerte à et cliquez sur le signe plus. Une fois que vous avez défini tous vos déclencheurs, cliquez sur le bouton Terminé en bas.

Maintenant que vous avez créé un moniteur de température à l'aide d'un capteur de température et d'un Raspberry Pi, vous pouvez commencer à réfléchir aux autres données environnementales que vous pouvez surveiller ensuite.