Come identificare un Pi


13

Ho uno stack di cinque Pis, ognuno dei quali ha un nome host separato e si trova sulla stessa rete. Devo identificare fisicamente ogni Pi da un altro Pi, forse facendo lampeggiare i LED di bordo in modo riconoscibile. Hai idea di come potrei farlo idealmente da Bash e senza collegare nulla?


1
Puoi controllare i LED integrati anche se sembra che ci siano alcuni vincoli su alcuni modelli. Probabilmente vuoi usare l'ACT verde perché il PWR rosso potrebbe non essere così facilmente cooptato. raspberrypi.stackexchange.com/search?q=onboard+leds
goldilocks


1
volevi semplicemente eseguire qualcosa in bash per identificare un particolare Pi alla volta o volevi qualcosa che avrebbe portato i Pi a "lampeggiare" la loro sequenza unica?
Jaromanda X

Risposte:


25

Su almeno un Pi 3, puoi accendere il LED verde (attività della scheda SD) per essere costantemente acceso con il seguente comando (come root):

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

Ora che Pi avrà il LED verde acceso fisso, il che rende molto facile identificare ed etichettare.

Per riportare il LED al suo stato predefinito:

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

Scorri tutti i tuoi Pis in questo modo fino a quando non li avrai tutti affrontati ed etichettati di conseguenza.



1
puoi farlo anche su Pi 1 e 2
Jaromanda X

@stevieb che ha risolto bene il problema, grazie. L'arresto, il riavvio o la disconnessione dalla rete non erano in esecuzione poiché è necessario che il cluster sia attivo e funzionante. Avevo solo bisogno di identificare quale Pi era in cima allo stack in modo da poterlo inserire e riaccendere la porta HDMI in modo da poterlo collegare a un display.
Nick,

Grazie @Nick. Se ha effettivamente risolto il tuo problema, ti preghiamo di accettare la risposta.
Stevieb,

13

Spegni uno di loro. Dovrebbe esserci un comportamento riconoscibile dalla luce verde, che alla fine si spegnerà.

Quindi metti un'etichetta su quel pi con il suo ipname.

Quindi puoi riavviarlo.

Ripetere fino a quando tutti sono contrassegnati.

Oppure puoi spegnerli tutti, quindi visualizzarli uno alla volta e vedere quale numero IP compare nel tuo router.

O un'etichetta fisica o un nome host con una descrizione davvero buona di dove si trovano se ciò non cambierà è una cosa molto utile. Se usano Ethernet, puoi avvolgere l'etichetta attorno al cavo.


3

Consiglierei semplicemente di tirare il cavo Ethernet e di eseguire il ping di ogni Pi a sua volta. Che quindi non risponde? Queste altre soluzioni sono pulite, ma il ping è sempreverde. Se per qualche motivo hai filtrato le richieste icmp su questi Pis, puoi usare nping dal pacchetto nmap: nping —arp 192.168.0.25

Se hai fretta, usa Fing (gratuito) dal Play / App Store per eseguire una rapida scansione arp e vedere quale host si interrompe quando tiri un cavo.

E assegna IP statici in base all'indirizzo MAC nel tuo dhcpd.conf per evitare questo tipo di problema. ISC-DHCPD è proprio ciò di cui hai bisogno. È un bellissimo servizio. Non usare dnsmasq a meno che tu non abbia bisogno delle sue molte funzionalità ++.

Stampa etichette dymo con MAC, IP e nomi host e incollale su ogni Pi. Non fare affidamento su mDNS / avahi / bonjour / auto-nothing, non è infallibile. Inoltre, avahi-daemon ha avuto seri problemi di sicurezza nel corso degli anni.

/etc/hosts rimane il re per le piccole reti di laboratorio / SoHo, lo uso sempre come riferimento per i miei client statici dhcpd.


1
Quando mi sono preso la briga di iniziare a usare il mio (singolo) Pi come server dhcp sono andato avanti e ho impostato un dominio falso (.ivan ovviamente) e ho creato voci DNS per cose che ho un static-dhcp impostato per ... che gira per essere tutti i miei dispositivi. Gli ospiti ottengono un vero DHCP. Molto più facile che /etc/hostssoprattutto per i dispositivi in ​​cui non puoi farlo - come il mio iPhone.
Ivanivan,

@ivanivan Conservo solo le voci / etc / hosts per le voci dhcp statiche. È più facile eseguire il grep rispetto a dhcpd.conf
user2497
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.