如何识别Pi


13

我有一堆五个Pi,每个Pi都有一个单独的主机名,并且位于同一网络上。我需要从其他Pi物理识别每个Pi,也许是通过以可识别的方式闪烁板载LED来实现的。知道我怎么能从Bash理想地做到这一点,并且无需进行任何连接吗?


1
尽管某些型号似乎有一些限制,但是您可以控制板载LED。您可能要使用绿色的ACT,因为红色的PWR可能不太容易被选中。raspberrypi.stackexchange.com/search?q=onboard+leds
金发姑娘


1
您是否只想运行一次bash来一次标识一个特定的Pi,还是想要使Pi始终“闪烁”自己的唯一序列的某些东西?
Jaromanda X

Answers:


25

至少在Pi 3上,您可以使用以下命令(以root用户身份)将绿色(SD卡活动)LED持续点亮:

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

现在,Pi的绿色LED会一直稳定点亮,这使得识别和标记非常容易。

要将LED恢复到默认状态:

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

以此方式遍历所有Pi,直到您对所有Pi进行了寻址和标记。



1
您也可以在Pi 1和2上做到这一点
Jaromanda X

@stevieb很好地解决了这个问题,谢谢。因为我需要保持群集的正常运行,所以关机,重新启动或与网络断开连接都没有运行。我只需要确定哪个Pi是堆栈的顶部,就可以将其插入ssh并重新打开HDMI端口,以便将其连接到显示器。
尼克(Nick)

谢谢@尼克。如果确实可以解决您的问题,请接受答案。
stevieb

13

关闭其中之一。绿灯应该有可识别的行为,最终将熄灭。

然后在该pi上贴上一个标签,并标上其ipname。

然后,您可以重新启动一个。

重复直到所有标记都被标记。

或者,您可以将它们全部关闭,然后一次将它们调高一个,以查看路由器中出现了什么IP地址。

一个物理标签或一个主机名,如果它们不会改变,则对它们的位置有一个非常好的描述,这是非常有用的。如果他们使用以太网,则可以将标签缠绕在电缆上。


3

我建议只拉一下以太网电缆,然后依次对每个Pi进行ping操作。哪个不回复?这些其他解决方案很简洁,但是ping是常绿的。如果出于某些原因在这些Pi上过滤了icmp请求,则可以使用nmap软件包中的nping: nping —arp 192.168.0.25

如果您着急的话,只需使用Play / App商店中的Fing(免费)进行快速arp扫描,然后查看拔出电缆时哪个主机掉线了。

并根据您的dhcpd.conf中的MAC地址分配静态IP,以避免此类问题。ISC-DHCPD正是您所需要的。这是一项美丽的服务。除非您需要dnsmasq的许多++功能,否则不要使用它。

打印带有MAC,IP和主机名的dymo标签,并将其粘贴在每个Pi的顶部。不要依靠mDNS / avahi / bonjour / auto-onthing,这不是万无一失的。此外,多年来,avahi-daemon还存在一些严重的安全问题。

/etc/hosts 仍然是小型实验室/ SoHo网络的王者,我一直将它用作dhcpd静态客户端的参考。


1
当我开始将我的(单个)Pi用作dhcp服务器时,我继续进行操作并设置了一个假域(当然是.ivan),并为我设置了静态dhcp的东西设置了DNS条目。成为我所有的设备。来宾获得真正的DHCP。比起/etc/hosts那些无法做到的设备(例如我的iPhone),要容易得多。
ivanivan

@ivanivan我只保留/ etc / hosts项作为静态dhcp项。grep比dhcpd.conf更容易
user2497
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.