Cómo identificar un Pi

13

Tengo una pila de cinco Pis, cada uno de los cuales tiene un nombre de host diferente y están en la misma red. Necesito identificar físicamente cada Pi de otra Pi, tal vez parpadeando los LED integrados de una manera reconocible. ¿Alguna idea de cómo podría hacer esto desde Bash idealmente y sin conectar nada?

Mella
fuente
1
Puede controlar los LED integrados, aunque parece haber algunas restricciones en algunos modelos. Probablemente desee utilizar el ACT verde, ya que el PWR rojo puede no ser tan fácil de elegir. raspberrypi.stackexchange.com/search?q=onboard+leds
goldilocks
1
¿solo quería ejecutar algo en bash para identificar a un Pi en particular a la vez, o deseaba algo que hiciera que el Pi siempre "parpadeara" en su propia secuencia única?
Jaromanda X

Respuestas:

25

Al menos en un Pi 3, puede encender el LED verde (actividad de la tarjeta SD) para que se encienda constantemente con el siguiente comando (como root):

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

Ahora que Pi tendrá el LED verde encendido, lo que hace que sea muy fácil de identificar y etiquetar.

Para volver a poner el LED en su estado predeterminado:

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

Itere a través de todos sus Pis de esta manera hasta que tenga todos los direccionados y etiquetados en consecuencia.

stevieb
fuente
1
puedes hacerlo también en un Pi 1 y 2
Jaromanda X
@stevieb que solucionó el problema muy bien, gracias. Apagar y reiniciar o desconectar de la red no estaba en funcionamiento ya que necesito mantener el clúster en funcionamiento. Solo necesitaba identificar qué Pi estaba en la parte superior de la pila para poder ingresar y volver a encender el puerto HDMI para poder conectarlo a una pantalla.
Nick
Gracias @ Nick. Si realmente resolvió su problema, acepte la respuesta.
stevieb
13

Apaga uno de ellos. Debe haber un comportamiento reconocible de la luz verde, que eventualmente se apagará.

Luego ponga una etiqueta en ese pi con su ipname.

Entonces puedes comenzar ese de nuevo.

Repita hasta que todos estén marcados.

O puede apagarlos todos, y luego abrirlos uno por uno y ver qué número de IP aparece en su enrutador.

Una etiqueta física o un nombre de host con una muy buena descripción de dónde están si eso no cambia es algo muy útil. Si usan Ethernet, puede envolver la etiqueta alrededor del cable.

NomadMaker
fuente
3

Recomendaría simplemente tirar del cable de Ethernet y hacer ping a cada Pi a su vez. ¿Cuál no responde entonces? Estas otras soluciones son claras, pero el ping es perenne. Si por alguna razón ha filtrado las solicitudes de icmp en estos Pis, puede usar nping desde el paquete nmap: nping —arp 192.168.0.25

Si tienes prisa, solo usa Fing (gratis) de Play / App store para hacer un escaneo rápido de arp y ver qué host se cae cuando tiras de un cable.

Y asigne IP estáticas basadas en la dirección MAC en su dhcpd.conf para evitar este tipo de problema. ISC-DHCPD es justo lo que necesita. Es un hermoso servicio. No use dnsmasq a menos que necesite sus muchas funciones ++.

Imprima etiquetas dymo con MAC, IP y nombres de host y péguelas encima de cada Pi. No confíe en mDNS / avahi / bonjour / auto-anything, no es infalible. Además, avahi-daemon ha tenido algunos problemas de seguridad graves a lo largo de los años.

/etc/hosts sigue siendo el rey de las redes de laboratorio pequeño / SoHo, siempre lo uso como referencia para mis clientes estáticos dhcpd.

user2497
fuente
1
Cuando me molesté en comenzar a usar mi (único) Pi como servidor dhcp, seguí adelante y configuré un dominio falso (.ivan, por supuesto) e hice entradas DNS para cosas para las que tengo un dhcp estático configurado ... fuera a ser todos mis dispositivos. Los huéspedes obtienen un verdadero DHCP. Mucho más fácil que /etc/hostsespecialmente para dispositivos donde no puedes hacer eso, como mi iPhone.
ivanivan
@ivanivan Solo mantengo entradas / etc / hosts para entradas dhcp estáticas. Es más fácil grep que dhcpd.conf
user2497