Photo by Martin Shreder on Unsplash

Créer sa box domotique sur RaspberryPi et Jeedom

Ça y est, je me lance enfin dans la domotique !
Mon objectif : pouvoir contrôler plus simplement mon ensemble home cinéma (télévision, ampli hi-fi, lecteur blue-ray, box tv, etc…) ainsi que quelques lumières. J’aimerais gérer tout ça avec les télécommandes, via une interface web et par la voix (avec Alexa).

Mais avant de se lancer avec des objets connectés, il faut que je mette en place un système qui centralisera la gestion des appareils : une box domotique.

Dans ce tuto je vous propose d’utiliser une RaspberryPi couplée avec le logiciel open-source Jeedom pour fabriquer sa propre box domotique.

Aucune connaissance en électronique ou en développement n’est nécessaire.

Prérequis

Installer Etcher
Télécharger une image de Raspbian
Installer PuTTY

Matériels

Une raspberryPi, j’utilise le modèle 3B.
Une carte micro SD, une capacité de 16Go est largement suffisant.

Supprimer une partition sur une carte micro SD

Si jamais vous avez déjà une partition sur votre carte micro SD, voici la marche à suivre pour la supprimer et la formater.

Allez dans la recherche de Windows et taper « cmd » pour ouvrir un invite de commande. Puis faites les commandes suivantes :
« DISKPART » une autre invite de commande s’ouvre.
« list disk » et repérer le numéro qui correspond à la carte.
« select disk x » où « x » correspond au numéro de la carte.
« clean » pour effacer les partitions.
« create partition primary » pour créer une partition sur l’ensemble de la carte.
« format fs=fat32 quick » pour formater l’espace et le rendre utilisable.
« assign » pour donner une lettre au disque.

Avec cette procédure vous obtenez une carte avec une partition formatée, prête à l’emploie.

Installer Raspbian sur la RaspberryPi

Pour pouvoir installer Jeedom sur une RaspberryPi, nous avons besoin que celle-ci possède un OS. Et comme le monde du développement est décidément bien fait, il existe une solution linux toute faite pour RaspberryPi : Raspbian.
Dans un premier temps nous allons donc voir comment installer Raspbian sur la carte SD. Puis nous activerons la connexion SSH et paramétrons le wifi pour pouvoir se connecter à la RaspberryPi à distance.

Installer l’image sur la carte SD

Démarrez Etcher.
Cliquez sur « Select image » et sélectionnez l’image de Raspbian précédemment téléchargée.
Vérifiez que la destination est bien la carte SD.
Cliquez sur « Flash ».

Interface de Etcher

Activer le SSH sur la RaspberryPi

Insérez la carte SD sur l’ordinateur et se rendre dans la partition boot.
Créez un dossier « ssh ».

Connecter la RaspberryPi au Wifi via SSH

Insérez la carte SD sur l’ordinateur et se rendre dans la partition boot.
Créez un fichier « wpa_supplicant.conf » à la racine.
Ouvrez le fichier avec un éditeur de texte et insérez : 

country=fr
update_config=1
ctrl_interface=/var/run/wpa_supplicant

network={
    scan_ssid=1   
    ssid="SSID"
    psk="clefDeSécurité"
}

Remplacez « SSID » par le nom de votre réseau et « clefDeSécurité » par la clef WEP ou WPA.

Se connecter à distance à la RaspberryPi

Démarrez PuTTY et indiquez l’adresse ip de la Raspberry dans « Host Name (or IP adresse) ».

Interface de PuTTY

Cliquez sur « Open » pour ouvrir la connexion.

Un invite de commande va s’ouvrir et vous demandera le login puis le mot de passe. Par défaut les informations sont : 

  • login: pi
  • password: raspberry

Lors de la première connexion, je vous encourage à changer le mot de passe.
Pour cela, tapez la commande « passwd » et suivez la procédure.

Définir une ip statique

Afin d’identifier votre RaspberryPi sur le réseau, il est préférable de lui attribuer une adresse ip statique.

Si vous utilisez votre RaspberryPi via le wifi, il vous suffit simplement de changer l’adresse ip via l’interface de votre box internet.

Si vous utilisez votre RaspberryPi avec une connexion filaire, suivez la procédure suivante :

Connectez vous à votre RaspberryPi via PuTTY avec son adresse ip actuelle.
Modifiez le fichier « dhcpcd.conf » avec la commande : sudo nano /etc/dhcpcd.conf

Décommentez ces lignes :

#interface eth0
#static ip_address=192.168.0.4/24
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1

Remplacez l’adresse ip que vous désirez dans « static ip_adresse ».
Remplacez « static routers » et « static domain_name_servers » par l’adresse ip de votre box internet.

Une fois les modifications effectuées relancez la RaspberryPi avec la commande : sudo reboot

Vous pouvez maintenant vous connecter à votre RaspberryPi via PuTTY avec l’adresse ip statique.

Eteindre la RaspberryPi à distance

Tout comme pour votre ordinateur de bureau, la carte RaspberryPi ne s’éteint pas en débranchant directement la prise électrique. Pour éteindre votre RaspberryPi, il suffit de :

Se connecter en SSH à la Raspberry.
Lancez la commande : sudo shutdown -h now

Installer Jeedom sur la RaspberryPi

Maintenant que nous avons un OS d’installé nous allons pouvoir effectuer l’installation de Jeedom et des dépendances.

Note : les phrases en italique sont les lignes de commandes à taper et à valider avec la touche « Entrée ».

Préparation

Se connecter à distance à la RaspberryPi.
Passez en root : sudo su
Effectuez une mise à jour du système : apt-get update

Installer Jeedom

Récupérez le script Jeedom : wget –no-check-certificate https://raw.githubusercontent.com/jeedom/core/master/install/install.sh

Rendre le fichier d’installation exécutable : chmod +x install.sh
Exécutez l’installation : ./install.sh

Lors de l’installation, le package Samba Server vous demandera une confirmation. Répondre « Yes ».

Installation du package Samba Server

Paramétrer Apache

Entrez en édition dans le fichier de conf : nano /etc/apache2/ports.conf

Changez la ligne « Listen 80 » par « Listen 8080 »
Pour sortir du mode édition, faites « Ctrl+X » puis tapez « y » pour autoriser la sauvegarde et validez avec « Entrée ».

Relancer le service Apache : service apache2 restart

Installer des outils supplémentaires

Installer fail2ban : apt-get install -y fail2ban
Installer Java : apt install default-jre

Lors de l’installation de Java, une confirmation est demandée pour valider l’utilisation d’espace disque supplémentaire. Répondre “Y”.

Installation de Java

Installer Ha-Bridge

Ha-Bridge sera très utile pour effectuer un pont entre notre enceinte connecté Alexa avec Jeedom.

Téléchargez Ha-Bridge dans le dossier de Jeedom : wget https://github.com/bwssytems/ha-bridge/releases/download/v5.3.0/ha-bridge-5.3.0.jar -P /home/jeedom/

Créez le service. Pour cela, éditez le fichier habridge.sh : nano /home/jeedom/habridge.sh

Ajouter le texte suivant : 

#!/bin/bash
sudo java -jar /home/jeedom/ha-bridge-5.3.0.jar

Rendre le fichier exécutable : chmod +x /home/jeedom/habridge.sh
Créez le service en éditant le fichier habridge.service : nano /etc/systemd/system/habridge.service

Insérez le texte suivant : 

[Unit]
Description=ha-bridge

[Service]
User=root
WorkingDirectory=/home/jeedom
ExecStart=/home/jeedom/habridge.sh
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Activez le service au démarrage : systemctl enable habridge
Lancez le service : systemctl start habridge

Se connecter à Jeedom

Pour se connecter à Jeedom, il suffit d’indiquer l’ip du raspberry dans un navigateur avec le port 8080.
Par exemple : http://192.168.1.10:8080

Les identifiants sont : 

  • nom d’utilisateur : admin
  • mot de passe : admin
Ecran de connexion à Jeedom

A la première connexion il vous est proposé de changer le mot de passe par défaut. Je vous recommande de le faire et si vous ne savez pas pourquoi je vous invite à (re)lire mon article sur les mots de passe.

Se connecter également au compte Jeedom Market (le créer si vous n’en avez pas). 

Ecran de connexion au Jeedom Market

Créer son premier Objet

Lors de votre première connexion, vous aurez ce message qui s’affichera : 

Page d’accueil de Jeedom

Pour organiser la gestion de vos appareils connectés, il est préférable de les relier à un « Objet ». Pour faire simple cet « objet » peut être considéré comme une pièce de la maison où se situeront les devices domotiques.

Pour ajouter un objet, allez dans Outils -> Objets.

Page Outils / Objets

Cliquez sur « Ajouter » et indiquez le nom de votre objet, par exemple « Salon ».

Popup d’ajout d’un objet

Vous pouvez ensuite définir plus en détail votre Objet. J’ai précisé que l’Objet doit être visible (c’est à dire disponible dans la liste des Objets) et j’ai ajouté une icône. Une fois les configurations terminées, cliquez sur « Sauvegarder » en haut à droite.

Configuration de l’objet

Maintenant votre objet est disponible depuis le dashboard.

Page d’accueil Jeedom

Félicitation !
Vous avez un Jeedom fonctionnel sur une RaspberryPi.
Il ne vous reste plus qu’à rajouter vos appareils connectés !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *