• Première étape
  • Matériel et accessoires ; GPIO
  • Projets
  • Logiciel
    • Serveur Web
  • Arduino & ESP8266
  • Automatisation de la maison
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Matériel et accessoires ; GPIO
  • Projets
  • Logiciel
  • Serveur Web
  • Première étape
  • Automatisation de la maison
  • Anglais
  • Allemand
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Logiciel»Enregistrer les données des capteurs Raspberry Pi avec ThingSpeak et les analyser

Enregistrer les données des capteurs Raspberry Pi avec ThingSpeak et les analyser

Facebook Twitter LinkedIn Tumblr Email Reddit
Share
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Il arrive fréquemment que de nombreuses données soient générées dans des projets qui fonctionnent 24 heures sur 24. Une façon de les conserver en permanence est de stocker les données dans une base de données locale. Cependant, il y a aussi des raisons qui plaident contre cette solution. Pour que les données mesurées (par exemple, celles d’une station météorologique) restent disponibles à l’avenir, il est également possible d’éviter divers services en ligne.

L’un de ces fournisseurs est ThingSpeak. Vous pouvez y créer un compte gratuit pour de petites applications et transférer ses données très facilement. Et c’est exactement le sujet de ce tutoriel : Comment transférer des données de capteurs vers ThingSpeak et les évaluer par la suite.

 

Pièces de matériel requises

Tout ce dont vous avez besoin est un Raspberry Pi avec une connexion Internet et un capteur dont vous mesurez les données. Même l’activité du CPU peut être enregistrée. Dans ce tutoriel, j’ai utilisé un DHT22, à l’aide duquel je mesure et enregistre la température et l’humidité.

Les capteurs et modules suivants seraient utiles pour une station météorologique :

  • DHT22 (Tutoriel)
  • BMP180 (Tutoriel)
  • Photorésistants
  • Résistances normales
  • Câble jumper femelle femelle
  • Si nécessaire, une boîte en plastique étanche

Une liste des autres composants peut être trouvée dans cet article : 50 des plus importants capteurs et modules de Raspberry Pi

 

Créer un compte ThingSpeak

Avant de commencer, vous devez avoir un compte sur ThingSpeak. Créez un compte ici si vous n’en avez pas encore. Ensuite, créez un nouveau canal à https://thingspeak.com/channels.

Ici, vous donnez un nom au canal ainsi que les champs que vous voulez utiliser. Au total, on peut utiliser jusqu’à 8 champs. Les noms donnés n’ont aucune influence sur la transmission des données, car nous spécifions seulement « champ1 », « champ2 », etc. Tous ces noms attribués sont toujours modifiables ultérieurement.

thingspeak new channel

Après avoir enregistré le canal ci-dessous, vous serez automatiquement redirigé vers l’onglet « Vue privée ». Ici, les champs attribués sont affichés sous forme de diagramme. Plus haut, vous trouverez l' »ID du Canal« . Nous en aurons bientôt besoin.

Ensuite, nous passons à l’onglet « Clés API ». Les deux valeurs « Écrire la clé API » et « Lire la clé API » sont également nécessaires pour que nous puissions écrire ou récupérer des données.

 

Installation et configuration du capteur de température

Si vous ne voulez pas utiliser le DHT11 ou le DHT22, vous pouvez sauter ce chapitre.

J’ai déjà parlé des deux capteurs en détail ici, il ne s’agit donc que de la connexion pour mémoire (résistance de 10kΩ) :

Humidity DHT11 Breadboard

Si vous n’avez jamais utilisé le capteur auparavant et que la bibliothèque n’est pas encore installée, nous devons d’abord l’installer. Certains paquets sont nécessaires pour cela:

sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl git

Nous installons ensuite la bibliothèque pour lire les capteurs DHT11/22:

clonage git https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
sudo python setup.py install

Si tout s’est déroulé sans erreur, nous pouvons déjà procéder.

 

Utilisation de la bibliothèque ThingSpreak de Raspberry Pi

Pour pouvoir utiliser le service, il est possible d’envoyer simplement les données via « POST » ou de les récupérer via « GET ». Les fonctions sont disponibles dans à peu près tous les langages de programmation et avec un peu de connaissances, le transfert de données devrait être rapide. Les réponses sont en principe en JSON.

Si vous n’avez pas assez d’expérience ou si vous n’avez tout simplement pas envie de l’écrire vous-même, vous pouvez également utiliser la bibliothèque ThingSpeak. Pour cela, nous l’installons simplement par pip :

sudo pip install thingspeak

D’une part, une bibliothèque Python est créée et, d’autre part, une application de terminal. Vous pouvez également appeler thingspeak via la console (ou depuis un autre programme C ++ / Java).

Alors commençons. Notre petit script Python devrait lire la température et l’humidité du DHT22 toutes les 15 secondes et les envoyer à notre canal. En outre, les données devraient ensuite être récupérées à nouveau (cela n’est pas nécessaire dans les applications qui ne font qu’envoyer des données, il s’agit donc juste d’un exemple de démonstration).
Nous allons créer un nouveau fichier,

sudo nano thingspeak_example.py

qui aura le contenu suivant (sauvegarder et quitter avec CTRL + O, CTRL + X) :

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import thingspeak
import time
import Adafruit_DHT
 
channel_id = 206897 # PUT CHANNEL ID HERE
write_key  = '24GJQV17H7H4XGJ5' # PUT YOUR WRITE KEY HERE
read_key   = '9EZ7E0918UVVAGAY' # PUT YOUR READ KEY HERE
pin = 4
sensor = Adafruit_DHT.DHT22
 
def measure(channel):
    try:
        humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
        # write
        response = channel.update({'field1': temperature, 'field2': humidity})
        
        # read
        read = channel.get({})
        print("Read:", read)
        
    except:
        print("connection failed")
 
 
if __name__ == "__main__":
    channel = thingspeak.Channel(id=channel_id, write_key=write_key, api_key=read_key)
    while True:
        measure(channel)
        # free account has an api limit of 15sec
        time.sleep(15)

Vous devez adapter les lignes 5 à 7 en conséquence. La ligne 8 ne doit être modifiée que si vous utilisez un GPIO différent pour le capteur.

Bien sûr, si vous n’utilisez pas le capteur DHT22, le code doit être ajusté un peu.

Obtenir des données dans le Web Panel et via l’API

thingspeak view

Les données du panneau sont affichées avec un délai de quelques secondes « quasi en direct ». Vous pouvez personnaliser les panneaux (apparence et affichage des données) et même écrire vos propres idées pour les données. Pour ces « applications », il suffit de maîtriser un peu de HTML, CSS et Javascript. Vous pouvez également télécharger des plugins depuis le forum.

 

Si vous voulez récupérer les données via API, vous pouvez le faire facilement via JSON. Vous devez remplacer votre Channel ID (avec moi : 206897) ainsi que votre « Read API Key » (avec moi : 9EZ7E0918UVVAGAY) dans le lien suivant:

https://api.thingspeak.com/channels/206897/feeds.json?api_key=9EZ7E0918UVVAGAY

En outre, il existe un grand nombre d’autres paramètres que vous pouvez spécifier pour limiter, additionner ou filtrer les données. Vous pouvez les trouver dans le Wiki MathWorks.

 

En conclusion, j’aimerais souligner que vous devez toujours être conscient de ce que vous transférez exactement. Même si ThingSpeak est un fournisseur réputé, vous devriez sauvegarder vous-même les données particulièrement sensibles, même si cela est un peu plus compliqué et moins sûr. Pour les projets non critiques comme les stations météo ou, par exemple, la surveillance d’un aquarium, je ne vois aucun danger.

capteur de température DHT11 DHT22 Internet der DingeInternet des objets Internet des objets IoT LuftfeuchteHumidité Pression de l'air python Station météo temperatur température de mesure
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleUsing TensorFlow Lite with Google Coral TPU on Raspberry Pi 4
Next Article How to build a ESP8266 Scale (with Weight Sensor HX711)

Related Posts

Apprendre à programmer sur le Raspberry Pi – Partie 1 : Introduction

Contrôler le module RTC de Raspberry Pi – Horloge temps réel I2C

Transfert de données Bluetooth de Raspberry Pi vers le Smartphone

Création d’un certificat SSL Raspberry Pi gratuit avec Let’s Encrypt

Un commentaire

  1. wmltuEt on 26. novembre 2023 13:17

    Crap integrated.

    Reply

Leave A Reply Cancel Reply

Configuration du Wi-Fi et du Bluetooth du Raspberry Pi 4

Connecter un clavier Raspberry Pi – Code Lock

Création d’un certificat SSL Raspberry Pi gratuit avec Let’s Encrypt

Construire un dispositif de localisation/navigation GPS Raspberry Pi

Contrôle de moteur Stepper Raspberry Pi avec L293D / ULN2003A

Prise de photos avec le module officiel de l’appareil photo du Raspberry Pi

ABONNEZ-VOUS MAINTENANT
Et recevez de nouveaux tutoriels dans votre boîte de réception.
Cliquez ici pour soumettre!

Merci!

Nous vous contacterons bientôt.

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Politique de confidentialité
  • Conditions de service & Politique sur les cookies

Type above and press Enter to search. Press Esc to cancel.