Tuto 6 : Installer Yadoms sur Raspberry Pi avec disque dur

Note : ce tutoriel est obsolète, et remplacé par celui-ci. Il est laissé en l’état pour information…

Inhérent à leur technologie, Les cartes SD ont un nombre de cycles d’écriture limités. Nos applications de domotique embarquent souvent une base de données, où les écritures sont nombreuses, sans compter les logs (de l’application et du système). Une solution fiable est d’utiliser un disque dur classique, voire un SSD, les progrès récents des disques SSD les rendant suffisamment fiables pour cette utilisation.

Ce tutoriel présente l’installation de Yadoms sur un PiDrive, le disque dur officiel pour la RaspberryPi. Un disque de récupération (USB) ferait tout aussi bien l’affaire.

Ce tutoriel est certes un peu long, mais il présente toutes les étapes une par une (certaines sont optionnelles), de sorte qu’un débutant dans le monde Linux puisse réaliser l’opération. En cas de difficultés, laissez-nous un commentaire ou utilisez notre forum.

Yadoms peut également utiliser une base de données déportée (sur un NAS par exemple), ce qui fera l’objet d’un prochain tutoriel.

Prérequis matériel

Le disque doit être branché sur un des ports USB de la RaspberryPi. Etant donné sa consommation électrique, il ne pourra pas être alimenté par la RaspberryPi. La solution proposée par le PiDrive est pratique : le câble fourni permet de n’utiliser qu’un adaptateur secteur pour alimenter l’ensemble.

Une carte SD est toujours nécessaire pour le boot de la RaspberryPi, mais celle-ci ne sera que très peu sollicitée.

Il est possible de se passer de la carte SD et booter directement sur le disque dur en modifiant un bit OTP de la RaspberryPi, mais l’opération est irréversible (OTP = One Time Prom. Mémoire dont les bits ne peuvent changer d’état qu’une fois). Ce n’est pas la solution retenue dans ce tutoriel.

Préparation carte SD

Pour le boot, nous allons utiliser la distribution Noobs-Lite, à télécharger ici. Sur un PC, il suffit ensuite de copier les fichiers contenus dans le zip à la racine de la carte SD (celle-ci doit être formatée en FAT32). Ejecter ensuite la carte SD.

Préparation de la Pi et du disque dur

Pour cette étape, il va nous falloir brancher écran, clavier et souris sur la RaspberryPi.

Une fois le disque câblé sur la RaspberryPi, Insérer la carte SD et mettre sous tension. Lorsque Noobs a démarré, nous arrivons sur un écran de sélection de l’image à déployer sur le disque :

Sélectionner la distribution « Raspbian Lite » ainsi que le disque comme destination (l’entrée commençant par « sda » dans « Destination Drive »), puis cliquer sur Installer.

Accepter le formatage.

Lorsque l’installation est terminée, cliquer sur OK, la RaspberryPi va redémarrer.

Se logger (login ‘pi’, mot de passe ‘raspberry’) : Attention, à ce stade le clavier est en QWERTY (sur un clavier français, il faut utiliser le ‘q’ pour saisir le ‘a’ du mot de passe).
On va maintenant configurer la distribution.

sudo raspi-config

Configurer ensuite ces options :

  • Interfacing Options
    • SSH ==> YES
    • SPI ==> YES
  • Serial
    • Login shell on serial ==> NO
    • Enable serial interface ==> YES
  • Finish ==> YES (redémarrage de la RaspberryPi)

On peut également en profiter pour modifier la locale (et le clavier).

Création de l’utilisateur yadoms

L’écran, clavier et souris peuvent maintenant être débranchés, on peut maintenant prendre la main en SSH sur la RaspberryPi (voir le paragraphe « Accéder à la Raspberry en SSH » de cette page).

Créer l’utilisateur yadoms (tout en minuscule), et choisir un mot de passe :

sudo adduser yadoms

Configuration de l’environnement de Yadoms

Dépendances de Yadoms

Installer les dépendances de Yadoms (toujours avec l’utilisateur ‘pi’) :

sudo apt-get install postgresql owfs ow-shell fuse ntp iptables python python-dev usbutils pciutils wpasupplicant wireless-tools policykit-1

Accès aux ports séries

Ajouter l’autorisation d’accès aux ports séries pour l’utilisateur yadoms :

sudo nano /etc/group

chercher la ligne ‘dialout’ et remplacer ‘pi’ par ‘yadoms’. Quitter Nano (Ctrl+o puis Ctrl+x).

1-wire (optionnel)

Si vous prévoyez d’utiliser le plugin 1-wire, il faut réaliser ces opérations :

Editer le fichier de configuration de OWFS :

sudo nano /etc/owfs.conf

  • commenter la ligne server: FAKE = DS18S20,DS2405
  • décommenter les lignes
    • server: usb = all
    • mountpoint = /mnt/1wire
    • allow_other

Sauver et quitter Nano (Ctrl+o puis Ctrl+x).

Editer le fichier de configuration de FUSE :

sudo nano /etc/fuse.conf

Décommenter cette ligne :

user_allow_other

Sauver et quitter Nano (Ctrl+o puis Ctrl+x).

Créer le point de montage d’OWFS :

sudo mkdir /mnt/1wire

Télécharger Script-init-owfs, l’extraire et le déposer dans le répertoire des scripts de démarrage :

wget -U Firefox http://www.yadoms.com/blog/wp-content/uploads/2017/10/Script-init-owfs.zip
unzip Script-init-owfs.zip
sudo mv owfs /etc/init.d/
sudo chown root:root /etc/init.d/yadoms
sudo chmod +x /etc/init.d/owfs

Activer les services owfs :

sudo update-rc.d owfs defaults
sudo update-rc.d owserver defaults

Wifi (optionnel)

Si vous utilisez une RaspberryPi3 et avez besoin du Wifi, c’est le moment de consulter ce tuto.

Arrêt et redémarrage du système (optionnel)

Yadoms aura besoin de pouvoir arrêter ou redémarrer la RaspberryPi. Voici les opérations à effectuer pour l’y autoriser :

sudo nano /etc/polkit-1/localauthority/50-local.d/all_all_users_to_shutdown_reboot.pkla

Dans ce fichier (vide), ajouter ces lignes :

[Allow all users to shutdown and reboot]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.re$
ResultAny=yes

Sauver et quitter Nano (Ctrl+o puis Ctrl+x).

Il peut être nécessaire d’autoriser l’accès au répertoire /etc/polkit-1/localauthority :

sudo chmod +x /etc/polkit-1/localauthority/

Installation de Yadoms

Télécharger les binaires de Yadoms et extraire (adapter le chemin à la version désirée) :

wget https://github.com/Yadoms/yadoms/releases/download/2.0.0-rc.6/Yadoms-2.0.0-rc.6-RaspberryPI.tar.gz
tar -zxvf Yadoms-2.0.0-rc.6-RaspberryPI.tar.gz

Créer le répertoire d’exécution de Yadoms et déplacer le contenu :

sudo mkdir /opt/yadoms
sudo mv Yadoms-2.0.0-rc.6-RaspberryPI/bin/* /opt/yadoms/
sudo chown yadoms /opt/yadoms/

Démarrage automatique de Yadoms (optionnel)

Pour que Yadoms démarre automatiquement au boot de la Pi, il convient de faire ces opérations :

sudo chown -R yadoms:yadoms /opt/yadoms/

Télécharger Script init yadoms, l’extraire et déposer son contenu sur la Pi :

wget -U Firefox http://www.yadoms.com/blog/wp-content/uploads/2017/10/Script-init-yadoms.zip
unzip Script-init-yadoms.zip
sudo mv yadoms /etc/init.d/

Rendre le script exécutable et l’activer :

sudo chown root:root /etc/init.d/yadoms
sudo chmod +x /etc/init.d/yadoms
sudo update-rc.d yadoms defaults

Test

Pour lancer manuellement Yadoms, en tant qu’utilisateur ‘yadoms’ : se logger avec l’utilisateur yadoms, et se déplacer dans le répertoire d’installation de Yadoms :

su yadoms
cd /opt/yadoms

Lancer Yadoms :

./yadoms

L’accès au client web à partir d’une autre machine devrait maintenant être possible, en entrant dans la barre d’adresse du navigateur http://{AdresseIpRaspberryPi}

Sur la RapberryPi, taper Ctrl-c pour arrêter Yadoms.

Quitter l’utilisateur yadoms

exit

Fin

Après déroulement du test, le système doit être redémarré.

reboot

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.