Archive

Posts Tagged ‘Raspberry Pi’

Remise en état de ma pi-box


Ma Pi-Box me sert de DNS – Serveur de noms de domaines en français, i.e. ce permet de relier le nom d’un site en son adresse internet (adresse IP). Elle tournait toute seule dans son coin, sans faire de bruit, et me donnait de ses nouvelles via les clignotements de sa led RGB. Je n’ai pas son uptime car …

Carte SD HS ?

Ça tournait tout seul dans son coin. A l’imparfait, car la Pi-Box a fini par planter après une longue série d’erreur d’entrée-sortie sur la carte SD.

La carte SD est finalement en bon état, mais le système de fichier a besoin d’un peu d’entretien (fsck). Elle n’a pas dû subir trop de wearing, grâce à log2ram, que j’utilise dès qu’il y a du Linux sur une carte SD.

Raspberry Pi HS?

J’ai restauré la dernière image disque de ma Pi-Box. Il n’y a aucune donnée à récupérer car il s’agit uniquement d’un serveur DNS.

La machine démarre correctement sur la SD restaurée. On connaît les problèmes d’interface chaise-clavier ; ici ça ressemble à un problème de rallonge. Après examen, le diagnostic est définitif : le câble plat qui permet de déporter le connecteur SD vers la façade est en partie dessoudé, et la connexion électrique tient du hasard.

En attendant un remplacement du cable, la carte SD ira directement sur la Raspi.

Remise en état

Ma Pi-Box tourne correctement, mais le câblage dans le boîtier ne me plaît pas. En outre, la led RGB n’est pas du bon type (alim commune au lieu de masse commune. Enfin, la platine supportant les boutons d’arrêt et de reset prend trop de place.

La led RGB et les deux boutons vont être remplacés par ce qu’on trouve sur les PC : un câble plat rassemblant le témoin d’alimentation, le témoin d’activité disque, un switch pour le reset, et un autre pour le démarrage.

La nouvelle « filasse »

Pour commencer, on démonte tout.

La carte retirée du boîtier. En bas à droite, le nouveau bouton Reset est déjà connecté.
La Raspberry Pi et l’ancien montage retirés, le boîtier est bien vide…
J’en profite pour retirer les restes de colle.
Le nouveau câblage est prêt à être testé. Spoiler : ça ne va pas bien se passer.
Au centre, l’horloge RTC, connectée en I2C. Dans cette configuration, le câble I2C passe sous les câbles USB et Ethernet, et fait le tour de la Raspberry Pi.

Avant de montrer l’installation presque finalisée…

… Une erreur de débutant

Et oui, je suis allé trop vite. Un câble, deux switches et deux led, on branche, on lance un script de test des leds et… rien. Ou plutôt un pas grand-chose. Les deux leds ont dû s’allumer, mais très brièvement et surtout, une seule et dernière fois.

Un coup d’œil au câble (la nouvelle filasse), plus haut. Une résistance quelque-part ? Visiblement, non. Et côté Raspberry pi non plus. J’ai été trop pressé, et mon cerveau a dû rester dans la cuisine ou ailleurs. J’ai complètement oublié d’ajouter une résistance à chaque led.

Rien de grave ; ça se corrige à coups de pince coupante, de pince à dénuder, d’étain et de fer à souder.

L’installation presque définitive

La plupart des fils sont maintenus en place à l’aide de colliers plastiques. Pour le moment, switches et leds sont collés – encore ! – à la colle chaude sur la façade ( à droite sur la photo ).
La carte horloge en position finale ; ses fils passent maintenant sous le connecteur HDMI et rejoignent le reste de la filasse.

Côté logiciels

Je mes suis inspiré des articles suivants :

Quelques améliorations à venir

  • Installer proprement les leds et les switches (la colle chaude est une plaie lorsqu’il faut l’enlever.
  • Ajouter des »caps » aux switches.
  • Déporter à nouveau la carte SD en façade.
  • Rendre visibles depuis l’extérieur les leds de la Rapsberry PI

Les pins du reset sont de biais, mais je ne vais pas y retoucher. Mon grand-père disait « Vaut mieux l’laisser tordu que d’y casser sin nez ».

Restent également à :

  • Activer le DHCP de Pi-Hole en remplacement de celui de ma box internet
  • Ajouter un « LCD Proc » (un tuto ici), pour afficher l’état du système, en plus des LEDS d’activité.
Catégories :Informatique Étiquettes : ,

Mon setup pour l’électronique


Côté électronique, J’ai plusieurs montages à effectuer depuis pas mal de temps : ajouter un connecteur pour le reset sur un Raspberry Pi Zero, assembler une carte d’affichage pour le Pi Zéro et doter une carte horloge de connecteurs pour la relier à… la Pi Zéro.

Manque de bol, ma presbytie m’a rattrapé il y a plusieurs mois. Manque de bol puissance deux, mon rendez-vous chez l’ophtalmo a été annulé.

J’en ai eu assez d’attendre.

Un reset pour la Pi Zéro

La famille des Raspberry Pi ne dispose pas de pin où connecter un bouton reset, mais les pads de soudure sont bien présents, et percés. Il suffit d’y connecter deux pins standard. Tant qu’à faire, je comptais bien souder également la double rangée de connecteurs du GPIO.

En principe, c’est assez simple : il suffit de positionner les connecteurs dans leurs emplacement, de retourner la carte et… et bien non. les pins du reset ne tiennent pas en place, évidemment.

En général on maintiendra le tout en place à l’aide d’une espèce de pâte à modeler avant de retourner la carte. Sans cette pâte, et sans scotch, il faut trouver autre-chose.

En haut, une barrette de connecteurs femelles maintient les deux pis à leur place en s’appuyant sur les connecteur mâles de la Pi Zéro.
Une fois le tout retourné, la seconde barrette, permet de caler le tout bien à plat.
Terminé !

La carte d’affichage

Le « Four Letter Phat » permet d’ajouter à un Raspberry Pi modèle deux ou ultérieur un afficheur alphanumérique à quatre caractères

Rien de bien compliqué, mais c’est parti pour plusieurs dizaines de points de soudure.

J’ai soudé la barrette pour les GPIO, mais je pense que j’aurais dû utiliser des barrettes coudées, plus adaptées à mon projet. Ce qui est fait, est fait.

La carte horloge

La carte horloge, et son connecteur coudé

Cette carte à base de DS1307 pour l’horloge temps réel et d’AT24C32 n’a besoin que d’un connecteur, même si deux sont prévus sur la carte. Sept points de soudure seulement pour cette carte.

Le résultat

La presbytie m’a rattrapé, disais-je, alors je triche.

Mon setup

Un bon éclairage et une bonne loupe suffisent à améliorer les choses.

La lumière est fournie par un éclairage à leds alimenté en USB, dont le pied est constitué d’une tour de CD vide.

A gauche, la loupe de huit centimètres de diamètre permet de se « rapprocher » de la cible sans se brûler les moustaches. La loupe de droite permet de vérifier les soudures en détails.

Catégories :Réalisations Étiquettes : ,

Ma Pi-Box reprend du service

10 septembre 2019 2 commentaires

Mon tout premier Raspberry Pi, un modèle B, m’a longtemps servi de lecteur multimédia, branché sur la télévision. Pour le protéger un peu, je lui ai offert un boîtier, la Pi-Box.

Avec le temps, c’est devenu un peu court, en termes de puissance, et ma nouvelle box internet a pris le relais, merci la fibre. Confier mon réseau personnel à la box d’un opérateur ne me plaît pas plus que ça, mais en attendant d’avoir un vrai routeur contrôlable par mes soins, j’ai confié à cette vénérable Pi-Box la mission de prendre en compte une partie du problème.

Kesako Pi-Box ?

C’est un simple mais confortable boîtier en plastique qui abrite, outre ma Raspberry Pi, une alimentation bien propre et un hub à quatre ports USB. Les prises vidéo, son, et réseau sont reportées sur l’arrière du boîtier, tandis que la carte SD est déportée en façade.

La face arrière, de gauche à droite : l’interrupteur d’alimentation, les sorties vidéo et son au format coax, la prise HDMI, la prise d’alimentation, quatre ports USB et une prise réseau au format RJ-45.

Un voyant d’alimentation en façade complète le tout. L’un des ports USB de la Raspberry Pi est utilisé par le Hub du boîtier ; le second reste libre. Le refroidissement est entièrement passif mais je n’ai jamais constaté de surchauffe.

En « haut » du boîtier, le PCB de la Pi-Box. En centre ma Raspberry Pi modèle 1B. La majeure partie des ports est routée vers le PCB de la Pi-Box, en haut. Le lecteur de carte SD est déporté sur l’avant.

Sans être le grand vide, la place est loin d’être comptée dans ce boîtier, et il devrait être possible d’ajouter au moins un périphériques USB.

Très bien, alors que faire de ce bidule ?

Première mission : un serveur DNS

J’ai découvert il y a quelques mois le projet « Pi-Hole« . Il s’agit d’installer sur un Raspberry Pi un serveur DNS un peu spécifique. Outre remplacer le DNS de mon FAI, il permet de filtrer – entre autres – les publicités.

Les bloqueurs de publicités utilisé par les navigateurs web fonctionnent assez bien, mais certains sites les détectent et refusent d’afficher quoi que ce soit dans ces conditions. Avec Pi-Hole, le problème disparaît, et les publicités sont remplacés par des zone vides. Mieux, en indiquant à la box internet d’utiliser la Pi-Hole comme serveur DNS, ce sont toutes les machines du réseau qui en profitent.

Pi-Hole fournit d’autres services comme le DHCP, mais je ne les ai pour le moment pas encore activés.

Installation de Pi-Hole

Rien de bien compliqué, il suffit de suivre les instructions du site du projet. Celui-ci est en anglais, mais il existe des tutos en français, comme ici par exemple.

Après avoir répondu à quelques questions, l’installation se termine et il suffit de redémarrer le Raspberry pour profiter d’internet (presque) sans publicités, et les site indésirables sont automatiquement filtrés.

Sous le capot, c’est évidemment un peu moins simple, mais la configuration peut être modifiée via un navigateur internet. Petit plus, des statistiques peuvent être activées et consultées, toujours via un navigateur internet.

Première amélioration : allonger la durée de vie de la carte SD

Le système d’exploitation de la Raspberry Pi est stocké sur une carte SD. Pi-Hole tourne sur Linux, qui est assez bavard et alimente moult fichiers de logs. Dans ces conditions, une carte SD ne dure habituellement pas des années.

Une solution serait de supprimer l’écriture des logs, mais on y perdrait en fonctionnalité, par exemple pour analyser un problème système ou une intrusion. La distribution que j’utilise, Raspbian Lite, est assez légère en mémoire. On peut donc en prélever une partie pour y créer un disque virtuel sur lequel les fichiers de log seront stockés. Pour que rien ne se perde lorsque le Raspberry est éteint, les logs seront périodiquement copiés sur la carte SD. Ainsi, celle-ci finira bien par succomber, mais beaucoup plus tard.

Pour la mise en place, il suffit de suivre les tutos disponibles, comme celui-ci ou celui-là. Le second lien a ma préférence.

Seconde amélioration : un bouton d’arrêt et un bouton reset

La Pi-Box comporte un interrupteur d’alimentation, mais l’utiliser sans précaution risque fort de mettre le système de fichier en vrac. La Raspberry ne prévoit rien pour l’éviter. Aussi, il va falloir ruser un peu.

Un script lancé au démarrage du système surveille l’appui sur un switch connecté sur deux broches « GPIO » du Raspberry. Là encore, de multiples tutos sont disponibles. Celui-ci fonctionne très bien. Lorsque ce switch est activé, le script lance la procédure d’arrêt propre de Linux, et lorsque le système est arrêté, on peut couper l’alimentation électrique, ou redémarrer via un bouton reset.

L’ajout d’un bouton reset est plus simple, mais demande de souder deux pins sur la carte du Raspberry Pi, et c’est la mise en contact de ces deux pins via un switch qui provoque le reset. Pas de panique pour la soudure des pins, c’est très facile et il est presque impossible de se louper. Encore un tuto ? Allez, c’est par-là.

J’ai choisi de positionner le bouton reset et le bouton d’arrêt sur la façade avant de la pi box, entre la LED d’alimentation et le port SD. Pour me faciliter les choses, j’ai installé deux boutons sur une plaquette de prototypage, et quatre pins mâles pour les relier aux GPIO et aux pins de reset via des câbles de type Dupont, mais il est également possible de recycler les boutons de façade d’un ordinateur de bureau, ce qui évite en partie d’avoir recours au fer à souder.

Les boutons d’arrêt et de reset sur leur plaquette. Juste derrière, la LED RGB et ses connecteurs.

Troisième amélioration : une LED d’activité

La Raspberry comporte des LEDs d’état, mais celles-ci ne sont plus visibles une fois la Pi-Box refermée. Il faut donc trouver un moyen de savoir si le système d’exploitation est actif ou non.

Par ailleurs, il peut arriver que la Raspberry Pi se bloque, ou qu’un programme utilise toute la bande passante du CPU. Dans ce cas, une fois la Pi-Box refermée, rien n’indique qu’il y a un problème.

Ici encore, j’en suis passé par un tuto. A l’arrivée un script un peu remanié et un petit montage. Le montage consiste à relier aux GPIO de la Raspberry trois LEDs de couleurs différentes, ou une LED RGB. Un script se charge de modifier régulièrement les couleurs allumées ou éteintes.

A l’arrêt du système, le script est automatiquement stoppé et les LEDs apparaissent alors fixes, ce qui indique qu’on peut couper l’alimentation ou appuyer sur le bouton reset.

Petit test in situ.En haut à droite la plaquette supportant les boutons de reset et d’arrêt.
Tout contre le boîtier, la LED RGB allumée plein phare apparaît blanche.

Installation en façade

Une mèche à bois, un peu d’adhésif de masquage et de colle chaude suffisent. Pour le perçage, on peut se contenter de pré-percer à l’aide d’un trombone chauffé au briquet (attention les doigts), puis élargir au diamètre voulu.

L’emplacement de la LED RGB est déjà percé à gauche. L’emplacement des deux boutons est repéré sur le ruban adhésif.
Les perçages ont été nettoyés à l’aide d’un scalpel.
La LED RGB (en avant plan, désolé pour le flou) et les boutons sont en place. Quelques fils de colle chaude restent à nettoyer.
Les fils du bouton d’arrêt et de la LED RGB sont maintenus en place par les connecteur audio et composite du Raspberry Pi.
Les fils du bouton reset passent derrière la nappe du lecteur de carte SD.
La LED RGB est fixée par un blob de colle, en attendant mieux.
La Pi-Box est refermée, prête à l’emploi… même si un petit nettoyage s’impose.
Les nombreuses ouïes d’aération permettent un refroidissement efficace malgré l’absence d’un ventilateur.

Remerciements

Un grand merci aux auteurs des très nombreux tutoriels que j’ai parcourus ou utilisés pour cette réalisation. Il n’y a rien de bien compliqué, mais ça m’a fait gagner un temps précieux.

Prochaines modifications

Telle qu’elle est, ma Pi-Box/Pi-Hole fonctionne très bien, mais j’envisage quelques ajouts et modifications :

  • Ajouter une horloge RTC sauvegardée pour conserver l’heure si aucune connexion internet n’est possible
  • Activer le DHCP de Pi-Hole en remplacement de celui de ma box internet
  • Ajouter un « LCD Proc » (un tuto ici), pour afficher l’état du système, en plus des LEDS d’activité.
  • Améliorer l’intégration des scripts dans systemd. Ça fonctionne tel quel, mais j’ai bidouillé sur la base des tutos utilisés, et une mise au carré s’impose.
  • Remplacer la LED RGB (je me suis trompé de type cathode/anode commune)
  • Éliminer le gros blob de colle et fixer proprement la LED RGB

Catégories :Informatique Étiquettes : ,
%d blogueurs aiment cette page :