Pour ce projet Raspberry Pi, nous allons nous immerger dans l'Internet des objets (IoT). Nous allons déterminer la température de notre maison à l'aide d'un capteur économique, puis transférer ces données dans le nuage et les utiliser pour créer un graphique..

Le capteur que nous utilisons est un Dallas DS18B20. Celles-ci peuvent être récupérées à moindre coût, mais une solution simple consiste à acheter le CamJam EduKit 2 car il comprend un Dallas DS18B20 imperméable..

Ce dont vous aurez besoin

  • Toute Raspberry Pi A + B + ou Pi 2
  • Le dernier système d'exploitation Raspbian
  • Un capteur DS18B20 (faisant partie du Cam Jam EduKit 2)
  • Planche à pain
  • Câbles de démarrage mâle à femelle
  • Résistance 4.7kOhm
  • Clé WI-FI
  • Un compte www.initialstate.com
  • Télécharger le code

Construire le projet

Assemblez le matériel et attachez-le à votre Pi conformément au schéma (voir ci-dessous)..

Nous fixons le DS18B20 à une carte d’assise et alimentons sa broche de données via une résistance de 4,7 kOhm.

Nous avons ensuite installé le capteur et une feuille de travail Cam Jam très pratique à cet effet. Pour continuer, vous aurez besoin d’un compte Initial State et de votre clé API, que vous trouverez dans les paramètres de votre compte..

Pour installer le type de streamer Initial State:

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

Nous commençons notre code en important des bibliothèques pour travailler avec le système d'exploitation, l'heure et pour diffuser nos données dans le cloud:

import os, glob, temps

depuis ISStreamer.Streamer import Streamer

Ensuite, nous chargeons les modules du noyau pour le capteur en utilisant modprobe , nous enveloppons les commandes Bash dans un os.system () Fonction pour Python et dire à notre code où trouver le fichier pour stocker les données de température:

os.system ('modprobe w1-gpio')

os.system ('modprobe w1-therm')

rép_base = '/ sys / bus / w1 / devices /'

device_folder = glob.glob (rép_base + '28 * ') [0]

fichier_périphérique = dossier_périphérique + '/ w1_slave'

Ensuite, nous créons une fonction pour gérer la lecture du contenu du fichier qui stocke les données de température brutes et stocke les données sous forme de variable..

Maintenant, nous lisons les données et les transformons en quelque chose de plus utilisable. Nous conservons les informations et supprimons le reste des données avant de les convertir en température.

Notre dernière section est une boucle qui vérifie constamment la température, effectue des conversions et transmet les données à l'état initial toutes les minutes..

Enregistrez le code et cliquez sur Exécuter> Exécuter le module pour commencer.

Etat initial

Dans ce projet, nous avons envoyé des données de température au nuage en utilisant un service appelé Etat initial. Ce service permet aux utilisateurs de représenter graphiquement et de manipuler des données provenant de plusieurs sources à la fois..

Nous avons utilisé la couche gratuite dans ce didacticiel, qui conserve nos données pendant 24 heures avant de les supprimer. Il existe d'autres niveaux qui peuvent conserver les données indéfiniment pour un nombre illimité de capteurs.

Pour notre projet, nous avons utilisé une entrée de capteur, un DS18B20, mais grâce au Raspberry Pi et à son GPIO, nous pouvons utiliser beaucoup plus de capteurs pour collecter des données sur notre maison. Par exemple, dans un autre tutoriel, nous avons utilisé un commutateur à lames. Cela aussi peut être utilisé avec Initial State afin que nous puissions afficher les données lorsque les portes sont ouvertes.

Donc, en utilisant ce service, nous pouvons interpréter les données de notre maison. Des choses telles que des roseaux allument les fenêtres; capteurs de température dans les chambres; Une pince sur notre compteur électrique et des capteurs de lumière à l'extérieur peuvent être utilisés pour fournir des données sur l'efficacité énergétique de notre maison. Ces données peuvent être représentées graphiquement pendant de nombreux mois pour montrer notre utilisation au fil des saisons..

Ces données peuvent être utilisées avec un système de chauffage central pour contrôler votre maison automatiquement à l'aide d'un humble Raspberry Pi..