4 minute(s) de lecture

AquaPi Je me lance dans l’aquariophilie d’eau douce et je saute sur l’occasion de me fabriquer un monitoring complet de mon aquarium avec un Raspberry pi zéro. Si vous regardez la photo de près vous ne rêvez pas: il n’y a aucun poisson! La mise en eau avec les plantes et les décors date de moins de 3 semaines à l’heure où j’écris cet article, alors il me faut patienter encore un peu pour que le taux de nitrates ne soit pas toxique pour les poissons.

Mon besoin

  • Piloter les éléments électriques tels que la pompe, la lumière et un distributeur de nourriture et d’autres idées qui viendront.
  • Monitorer le niveau de l’eau, le Ph et la température de l’eau, avec un système d’alerte quand un seuil alarmant est atteint.
  • Définir des alarmes récurrentes, pour me rappeler quand il faut changer l’eau, quand nettoyer les filtres etc …
  • Avoir une console WEB qui me permette de tout paramétrer et visualiser les historiques sur un tableau de bord.

Ce premier tutoriel ne concerne que l’installation informatique du système sur un Raspberry pi: le reste (alimentations, pilotage des éléments électriques et capteurs) viendra au fur et à mesure de l’avancée du projet et feront l’objet de tutoriels dédiés. Tous les articles sont regroupés sous le tag #aquapi

La bonne nouvelle c’est que Adafruit a déjà développé et mis en oeuvre tout un monitoring d’aquarium qui répond exactement à mon besoin, alors je vais réutiliser leur merveille et l’adapter pour mon cas.

Matériel nécessaire

  • 1 Raspberry pi zéro WH: on va avoir besoin du réseau pour le serveur WEB, il faut donc le wi-fi. Enfin pour commander les sondes, éclairages et pompe on va avoir besoin du port GPIO: il faut donc absolument une version WH du pi zéro (W = wi-fi et H = port GPIO soudé)
  • 1 SD card 16Go (8Go suffisent, mais j’ai un mal fou à en trouver)
  • Inutile pour la suite mais très pratique pour installer le système sans se casser la tête: prévoir une alim Raspberry pi, un câble mini-HDMI vers HDMi (attention la sortie hdmi d’un piZERO c’est du mini-HDMI: les câbles micro-HDMI des pi3 et pi4 ne sont pas compatibles), et très pratique pour brancher clavier, souris + le réseau ethernet: un HUB USB avec prise ethernet + 2 usb: le réseau et le clavier et souris sont ainsi récupérés via le mini-usb unique du piZERO c’est très très pratique pour installer et mettre à jour son piZERO.

Configuration du système

  • Dans un premier temps il faut installer Raspbian Lite (pas besoin d’interface graphique) via NOOBS (le plus simple). Tout est bien expliqué sur le site Raspbian. Une fois NOOBS installé sur la SD card choisissez Rasbian Lite à installer au démarrage du piZERO. Le user par défaut est pi, et le password par défaut est raspberry (si le password raspberry ne passe pas essayez rqsberry …)
  • Exécutez sudo raspi-config pour modifier la langue, le clavier (AZERTY) et le password du user (mettez un password robuste genre 32 caractères car un serveur WEB va tourner 24h/24), modifier le nom du piZERO qui apparaîtra sur le réseau (moi j’ai mis aquapi par exple), et activer SSH ainsi que le WI-FI. La connection SSH va permettre de se brancher sur le piZERO à distance pour les opérations de maintenance sans avoir à rebrancher souris/clavier/écran.
  • Réflexe de sécurité: modifier le port SSH par défaut (22) par une valeur supérieur à 1024. Ça évite les attaques de robots qui viennent snifer le port 22. C’est bien expliqué sur le site de Framboise314.
  • Faire une mise à jour (c’est long!) du Raspberry pi: sudo apt-get update suivi d’un sudo apt-get upgrade.
  • Installer le serveur WEB de monitoring d’aquarium reef-pi développé et fourni par Adafruit: il suffit de suivre les étapes du guide “Reef-pi GUIDE 01: Setup and Démonstration” c’est très très simple je compte sur les doigts d’une main les commandes à taper en ligne ;-) et ça passe tout seul sur le piZERO.
  • Enfin pour finir il faut sécuriser sa carte SD en déportant les écritures de logs dans la RAM en suivant ce guide très simple.

Voilà à la fin de cette étape vous avez configuré votre piZERO et pouvez débrancher tous les câbles sauf l’alimentation du pi. Assurez vous que vous accédez bien à votre pi via un autre ordinateur en SSH, et et que le serveur WEB est bien accessible sur le réseau local depuis un autre ordinateur comme indiqué dans le guide d’Adafruit. Le piZERO peut être éteint via l’interface WEB (onglet Configuration puis Administration: cliquer sur “Arrêt” et ça éteint proprement le piZERO: ne jamais l’éteindre sauvagement en débranchement l’alimentation, la SD card ne survivrait pas longtemps…)

Test de commande d’une LED à partir du serveur WEB reef-pi

Les prochains tutos vont traiter les aspects de banc de puissance pour alimenter tous les éléments électriques (je ne vais pas faire exactement comme le suggère Adafruit) et les cartes qui vont gérer les capteurs, ainsi qu’un boitier imprimé 3D pour héberger toute l’électronique.