Serveur Domotique DIY

Pour la seconde partie de ce projet de domotique DIY, nous allons nous occuper de mettre en place un serveur permettant la gestion des différents modules disponibles pour ce projet. Pour cela nous allons nous servir de deux outils dont vous avez peut-être déjà entendus parler : le Raspberry 3 et que Node-Red.


Matériel requis


Présentation des outils et mise en route du Raspberry

Présentation des outils

Le Raspberry PI 3 est un ordinateur monocarte, c’est-à-dire que sur ce circuit imprimé, vous trouverez tous les composants nécessaires pour le fonctionnement de l’ordinateur. Cependant, comme pour la langue française il existe quelques exceptions :  ici il faut fournir le stockage, soit une carte SD de minimum 8 Go.

Node-Red, quant à lui, est une application web écrite avec le langage JavaScript permettant d’écrire des scripts avec une interface de glisser-déposer (comme le logiciel Scratch).

Elle nous permettra de contrôler nos modules domotique comme nous le souhaitons.

Mise en route du Raspberry Pi 3

Avant de commencer à penser logiciel, nous allons tout d’abord monter l’écran tactile de 7 pouces sur le Raspberry.

  1. Sortez les deux composants de leurs emballages, puis déposer l’écran sur une surface plane. Petit conseil  : posez-le sur un morceau de papier bulle.
  2. Branchez sur le contrôleur de l’écran les fils et les rubans comme ci-dessous.

  3. Montez les entretoises et vissez le Raspberry dessus. Attention à ne pas trop serrer les vis sous peine d’endommager la monocarte !
  4. Finissez le branchement de l’écran comme ci-dessous.

  5. Il ne vous reste plus qu’à alimenter le Raspberry PI via son port USB.

ATTENTION : Ne branchez pas d’autre périphérique sur le rail d’alimentation du GPIO (les fiches disposés en barre), vous risquez de surcharger la phase d’alimentation.

Maintenant que la partie Hardware (matériel) est prête, attaquons-nous au côté Software (logiciel).

Pour cela, téléchargez l’image du système d’exploitation officiel sur le site du fabricant.

Nous avons besoin d’une interface graphique, nous choisirons donc la version “Raspbian Jessie with PIXEL
(je vous conseille la version Torrent pour accélérer la vitesse de téléchargement)

Installation de l’OS sur la carte SD :

  1. Téléchargez et installez ETCHER
  2. Sur ETCHER: sélectionnez l’archive de l’OS, puis la carte SD
  3. Lancez l’écriture sur la carte SD
  4. Attendez la fin et quittez ETCHER

Vous noterez que l’écran est inversé , si vous souhaitez retourner l’écran de façon logicielle, la démarche est expliquée ici.

Il ne vous reste plus qu’à mettre la carte SD dans le slot prévu à cet effet sur la monocarte et l’alimenter.

Mise à jours de l’OS

  1. Branchez le Raspberry au réseau (un câble ethernet est préférable au WiFi)
  2. Ouvrez un terminal
  3. Exécutez la commande sudo apt-get update
  4. Exécutez la commande sudo apt-get upgrade, puis entrez “y”
  5. Exécutez la commande sudo apt-get dist-upgrade, puis entrez “y”
  6. Exécutez la commande sudo reboot

SSH et mot de passe

Afin de vous simplifier l’accès au terminal nous allons activer SSH, qui permet d’accéder à un terminal à distance de façon sécurisé :

  1. Ouvrez le logiciel Raspberry Pi Configuration (Menu > Preferences) .
  2. Dans l’onglet Interfaces au niveau de la ligne SSH cliquez sur “Enabled”, puis ok et redémarrez la monocarte.
  3. Avec un client SSH (par exemple : PuTTY) connectez-vous sur le Raspberry avec les l’adresse IP local de votre raspberry et l’identifiant suivant : login = pi, password = raspberry
  4. Un fois connecté, exécutez la commande passwd pour changer le mot de passe d’accès

Installation / Mise à Jour de Node-Red

Node-Red fait depuis quelque temps parti des logiciels pré-installé dans la distribution Raspbian, vous n’avez techniquement donc pas à l’installer.

La version installée étant une ancienne version, nous devons la mettre à jour avec la commande suivante :

sudo update-nodejs-and-nodered

Cependant, si pour une raison ou une autre, le terminal vous indique qu’elle est inexistante, vous devrez exécuter cette commande :

sudo bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

Maintenant que Node-Red est installé, il nous faut activer le démarrage automatique du serveur après que le système ait booté :

sudo systemctl enable nodered.service

Voilà, il ne vous reste plus qu’à redémarrer votre Raspberry PI .


Ajout des nodes et création des “Flow”

Enfin nous pouvons attaquer les choses sérieuses : la programmation de notre serveur domotique !

Cette partie contenant beaucoup de notion, j’ai choisi de la présenter en vidéo.
Je souhaiterais d’avance m’excuser pour la faible qualité sonore, mais sachez qu’elle sera nettement améliorée dans les prochains tuto !


Accès depuis Internet

Il se peut que vous souhaitiez accéder à votre interface depuis le monde extérieur, nous allons donc mettre en place cet accès.

Attention : je ne peux vous donner que les grandes lignes de cette partie du fait de la multitude de box qui existe en france (livebox, bbox, sfr box, etc).

  1. Assignation d’une IP fixe pour le Raspberry Pi.
  2. Création d’une Zone Démilitarisé (DMZ) sur votre box.
  3. Faire pointer la DMZ sur l’IP du raspberry.
  4. Autoriser les ports 80, 1880 sur la DMZ, et du port 22 si vous souhaitez accéder à ssh depuis l’extérieur.
  5. Obtenir l’adresse IP (WAN) de votre box, c’est celle-ci que vous utiliserez pour accéder à Node-RED depuis l’extérieur.
  6. (Optionnel) Faire pointer un nom domaine sur l’IP de la box.

Remerciements et Sources

Je tenais à remercier l’équipe de Conrad Community pour m’avoir fourni le matériel nécessaire à la réalisation de ce projet, ainsi que l’équipe derrière le développement de Node-Red qui fait un excellent travail !

Sources

Laisser un commentaire