Comment identifier un Pi

13

J'ai une pile de cinq Pis, chacun ayant un nom d'hôte distinct et se trouvant sur le même réseau. J'ai besoin d'identifier physiquement chaque Pi d'un autre Pi, peut-être en faisant clignoter les LED embarquées de manière reconnaissable. Une idée de la façon dont je pourrais faire ça de Bash idéalement, et sans rien câbler?

pseudo
la source
1
Vous pouvez contrôler les LED intégrées bien qu'il semble y avoir des contraintes sur certains modèles. Vous voudrez probablement utiliser le ACT vert car le PWR rouge peut ne pas être aussi facilement coopté. raspberrypi.stackexchange.com/search?q=onboard+leds
goldilocks
1
vouliez-vous simplement exécuter quelque chose en bash pour identifier un Pi particulier à la fois, ou vouliez-vous quelque chose qui ferait en sorte que les Pi "clignotent" toujours leur propre séquence unique?
Jaromanda X

Réponses:

25

Sur au moins un Pi 3, vous pouvez allumer la LED verte (activité de la carte SD) pour qu'elle soit constamment allumée avec la commande suivante (en tant que root):

echo 1 > /sys/class/leds/led0/brightness

Maintenant que Pi aura la LED verte allumée, ce qui le rend très facile à identifier et à étiqueter.

Pour remettre la LED à son état par défaut:

echo 0 > /sys/class/leds/led0/brightness
echo mmc0 > /sys/class/leds/led0/trigger

Parcourez tous vos Pis de cette façon jusqu'à ce que vous les ayez tous adressés et étiquetés en conséquence.

stevieb
la source
1
vous pouvez aussi le faire sur un Pi 1 et 2
Jaromanda X
@stevieb qui a bien résolu le problème, merci. L'arrêt et le redémarrage ou la déconnexion du réseau n'étaient pas en cours d'exécution, car je dois maintenir le cluster opérationnel. J'avais juste besoin d'identifier quel Pi était en haut de la pile afin que je puisse y entrer et réactiver le port HDMI afin de pouvoir le connecter à un écran.
Nick
Merci @Nick. Si cela a effectivement résolu votre problème, veuillez accepter la réponse.
stevieb
13

Arrêtez l'un d'eux. Il devrait y avoir un comportement reconnaissable du feu vert, qui finira par s'éteindre.

Ensuite, mettez une étiquette sur ce pi avec son ipname.

Ensuite, vous pouvez recommencer celui-ci.

Répétez jusqu'à ce que tous soient marqués.

Ou vous pouvez tous les fermer, puis les afficher un par un et voir quel numéro IP apparaît dans votre routeur.

Une étiquette physique ou un nom d'hôte avec une très bonne description de l'endroit où ils se trouvent si cela ne change pas est une chose très utile. S'ils utilisent Ethernet, vous pouvez enrouler l'étiquette autour du câble.

NomadMaker
la source
3

Je recommanderais simplement de tirer le câble Ethernet et de cingler chaque Pi à son tour. Qui ne répond alors pas? Ces autres solutions sont soignées, mais le ping est permanent. Si, pour une raison quelconque, vous avez filtré les demandes icmp sur ces Pis, vous pouvez utiliser nping à partir du package nmap: nping —arp 192.168.0.25

Si vous êtes pressé, utilisez simplement Fing (gratuit) sur Play / App Store pour effectuer une analyse d'arp rapide et voir quel hôte tombe lorsque vous tirez un câble.

Et attribuez des adresses IP statiques basées sur l'adresse MAC dans votre dhcpd.conf pour éviter ce genre de problème. ISC-DHCPD est exactement ce dont vous avez besoin. C'est un beau service. N'utilisez dnsmasq que si vous avez besoin de ses nombreuses fonctionnalités ++.

Imprimez des dymo-étiquettes avec MAC, IP et noms d'hôte et collez-les sur chaque Pi. Ne comptez pas sur mDNS / avahi / bonjour / auto-quoi que ce soit, ce n'est pas infaillible. En outre, avahi-daemon a eu de sérieux problèmes de sécurité au fil des ans.

/etc/hosts reste roi pour les petits réseaux lab / SoHo, je l'utilise toujours comme référence pour mes clients statiques dhcpd.

user2497
la source
1
Quand j'ai pris la peine de commencer à utiliser mon (unique) Pi comme serveur DHCP, je suis allé de l'avant et j'ai créé un faux domaine (.ivan bien sûr) et j'ai fait des entrées DNS pour les choses pour lesquelles j'ai un statique DHCP configuré pour ... qui tourne être tous mes appareils. Les invités obtiennent un vrai DHCP. Beaucoup plus facile que /etc/hostsspécialement pour les appareils où vous ne pouvez pas faire cela - comme mon iPhone.
ivanivan
@ivanivan Je conserve uniquement les entrées / etc / hosts pour les entrées statiques DHCP. Il est plus facile de grep que dhcpd.conf
user2497