Étiquette : websocket

Raspberry

Domotique – Développer une application web en temps réel

Domotique :

Développer une application web en temps réel

 

Introduction

Dans cet article on développe une application web en temps réel pour de la domotique. Le but est de relier un capteur de température au Raspberry et afficher la température en temps réel sur une page web. Pour cela on utilisera une capteur DS18B20 que l’on fera communiquer avec le Raspberry via le bus 1-wire. Pour la partie application web, on utilisera Node.js, et les librairies Socket.io et Gauge.js.

 

Plan

  1. Démonstration
  2. Pré-recquis
  3. Mise en place du capteur
    1. Connexion du capteur DS18B20
    2. Activation du bus 1-wire
  4. Développement du back-end
  5. Développement du front-end
  6. Déploiement
  7. Certification SSL (Optionnel)

 

1 – Démonstration

En suivant ce tutoriel vous devriez aboutir à cette application 🙂

 

2 – Pré-recquis

  • Raspberry Pi 2 ou 3 fonctionnel sous Raspbian (ou n’importe quel autre OS)
  • Un capteur de température DS18B20 (kit clé en main disponible ici)
  • Des câbles de connexion femmelle/femmelle pour les ports GPIO du Raspberry (disponible ici)

 

3 – Mise en place du capteur

 

          3.1 – Connexion du capteur DS18B20

 
Pour commencer, connectez votre capteur de température via les câbles femmelle/femmelle  à votre Raspberry en branchant l’alimention (fil rouge) sur le port 4 (5V PWR), la masse au port 6 (GND) et pour finir le signal sur le port 7 (GPIO4 GPIO_GCLK)

 

          3.2 – Activation du bus 1-wire

Maintenant que le capteur est branché, il faut activer le bus 1-wire du Raspberry. Pour ce faire, ouvrez une connexion ssh avec votre Raspberry et tapez les commandes suivantes :

sudo modprobe w1-gpio
sudo modprobe w1-therm

Puis ajouter au fichier /etc/modules les lignes suivante avec nano par exemple :

w1-therm
w1-gpio pullup=1

Ensuite ajouter la ligne suivante au fichier /boot/config.txt

dtoverlay=w1-gpio

Puis redémarrer le Raspberry

sudo reboot

Une fois vôtre Raspberry redémarré, placez vous dans le répertoire regroupant les capteurs et listez les identifiants des capteurs connectés

cd /sys/bus/w1/devices/
ls

Vous devriez avoir un répertoire nommé « 28-xxxxxxxxxx » qui correspond à votre capteur, déplacez vous dedans et affichez le contenue de du fichier w1_slave

cd 28-...
cat w1_slave

Vous devriez alors voir s’afficher la température captée, vous pouvez alors passer à la partie suivante 🙂

 

4 – Développement du back-end

Pour la partie back-end (côté serveur), nous allons développer une application Node.js avec plusieurs librairies comme Express.js et Socket.io

Commencez par installer Node.js

sudo apt-get update && sudo apt-get upgrade
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install nodejs

 

5 – Développement du front-end

 

6 – Déploiement

 

7 – Certification SSL (optionnel)