RackPi : Mise en place

Ayant fait l’acquisition d’un rack de taille moyenne l’an dernier, dans le but d’organiser et de ranger correctement tous mes appareils informatiques: switch, NAS, routeur, Raspberry Pi, onduleur, je cherchais une bonne manière d’organiser les Raspberry Pi. Après quelques recherches parmi les modèles 3D existants sur Thingiverse et Prusa Printers, j’ai trouvé le projet RackPi: nombreuses photos, documentation plutôt complètes, étapes d’assemblage claires. Il ne restait plus qu’à me lancer dans la construction de mon exemplaire.

Assemblage

Quelques notes concernant l’assemblage. Premièrement, les résistances, celle de 1k ohm est à utiliser avec la led et celle de 10k ohm sert pour le bouton poussoir. Pour les vis, j’utilise du côté des headers, une M2.5 de 14mm de longueur, afin de pouvoir sécuriser par la suite un PoE hat. De l’autre côté, j’ai fait le choix d’une M2.5 de longueur 10mm. Les différents composants sont maintenus en place à coup de pistolet à colle. Étape incontournable avant l’encollage: tester, tester et tester ! C’est du bon sens, mais cela évite de devoir tout démonter après coup. Illustration: dans le deuxième exemplaire que j’ai assemblé, ma partie bouton ne fonctionnait pas et j’ai donc pu en refaire une nouvelle avant de procéder à l’assemblage.

Gros plan sur le circuit du bouton poussoir.

Câblage

En suivant le câblage et en m’aidant du document de référence concernant les GPIO du Raspberry Pi, j’obtiens la configuration suivante.

LED

(+) -> Fil jaune -> Pin 16 -> GPIO 23
(-) -> Fil orange -> Pin 14 -> GROUND

Bouton marche/arrêt

Fil violet -> Pin 39 -> GROUND
Fil bleu -> GLOBAL_EN

Bouton poussoir

Fil violet -> Pin 17 -> POWER 3V3
Fil gris -> Pin 38 -> GPIO 20
Fil blanc -> Pin 25 -> GROUND

Écran

SDA -> Fil vert -> Pin 3 -> GPIO 2
SCL -> Fil jaune -> Pin 5 -> GPIO 3
VCC -> Fil rouge -> Pin 1 -> POWER 3V3
GND -> Fil noir -> Pin 6 -> GROUND

Câblé et prêt à coller.

Configuration du pi

Activation de I2C et SPI via raspi-config:

$ sudo raspi-config
-> Interfacing Options
-> SPI
-> I2C

Installation des dépendances nécessaires:

$ sudo apt-get install python3-pip
$ sudo pip3 install adafruit-circuitpython-ssd1306
$ sudo apt-get install python3-pil
$ sudo apt-get install -y python-smbus
$ sudo apt-get install -y i2c-tools
$ sudo pip3 install psutil

Vérification du câblage de l’écran. Celui-ci doit apparaître à l’adresse 3c.

sudo i2cdetect -y 1

Ensuite, récupération du script d’affichage des informations sur l’écran. Deux URL possibles, celle du fichier sur Thingiverse, ou celle pointant vers le même script dans un dépôt sur Github que je contrôle. De cette manière, je peux m’assurer que le code exécuté et bien celui que j’ai relu et qu’il n’a pas été modifié ultérieurement sur Thingiverse, dans le cas d’une installation ou d’une réinstallation future.

# Utilisation du fichier "officiel".
$ wget https://www.thingiverse.com/download:8343823 -O infoscreen.py
# Utilisation d'une copie du fichier dans un dépôt que je contrôle.
$ wget https://raw.githubusercontent.com/vvision/rack-pi/main/infoscreen.py
$ sudo chmod 755 infoscreen.py

Exécution du script pour vérifier son fonctionnement.

$ sudo python3 infoscreen.py

Afin de s’assurer que le script est lancé automatiquement au démarrage, on modifie rc.local en ajoutant la ligne suivante, juste avant la ligne exit 0, via sudo nano /etc/rc.local et en modifiant le chemin vers l’emplacement du script sur le disque si besoin.

sudo python3 /home/pi/infoscreen.py &

Côté contrôle, un appui simple sur le bouton permet d’allumer l’écran. Un appui d’environ 8s déclenche un redémarrage et au-dessus de 12s, le pi déclenchera un shutdown. En cas d’arrêt, si vous avez câblez le bouton slider sur le pin central EN/GLOBAL_EN de votre pi 3+ ou de votre pi 4, il est possible de couper l’alimentation du pi grâce à ce bouton une fois le pi éteint.

Conclusion

Quelques mots pour terminer. Le résultat est extrêmement satisfaisant, mon Raspberry Pi est maintenant correctement installé dans le rack (ce sera encore mieux dès que j’aurais trouvé des vis auto-taraudantes correctes). L’écran est utile pour avoir l’adresse IP du Pi, surtout dans les premiers moments de mise en place, le temps de configurer une IP statique au niveau du DNS local. Sinon, les informations d’utilisation du CPU et de la RAM sont toujours bonne à prendre lorsqu’on s’interroge sur la charge du Pi, et deviennent donc facilement accessible. Les deux boutons permettant de contrôler extinction, redémarrage et de maintenir éteint le Pi sont également utiles puisque je peux désormais effectuer ces opérations sans avoir à ouvrir une connexion SSH.

En bref, un projet intéressant, qui ne se limite pas à installer quelques lignes de codes, mais permet de pratiquer mes compétences en soudure, de découvrir la partie GPIO des Raspberry PI et au final d’améliorer l’organisation du rack.

Anonyme

Auteur/autrice : Victor

Ingénieur en informatique de formation et de métier, j’administre ce serveur et son domaine et privilégie l'utilisation de logiciels libres au quotidien. Je construis progressivement mon "cloud" personnel service après service pour conserver un certain contrôle sur mes données numériques.

Laisser un commentaire

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