
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
- Démonstration
- Pré-recquis
- Mise en place du capteur
- Développement du back-end
- Développement du front-end
- Déploiement
- 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)