Ç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. Je vous recommande de prendre « Raspbian Buster with desktop and recommended software » qui est la version la plus complètes.
- Installer PuTTY. En fonction de votre système (32 ou 64 bits) prenez l’installateur dans la partie « Package Files ».
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 ».
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) ».
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 ».
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”.
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
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).
Créer son premier Objet
Lors de votre première connexion, vous aurez ce message qui s’affichera :
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.
Cliquez sur « Ajouter » et indiquez le nom de votre objet, par exemple « Salon ».
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.
Maintenant votre objet est disponible depuis le dashboard.
Félicitation !
Vous avez un Jeedom fonctionnel sur une RaspberryPi.
Il ne vous reste plus qu’à rajouter vos appareils connectés !