使い始めた最初の頃を過ぎてしまうとRaspberryPi
は基本モニター接続をせずに使用することが多いかなと思います。基本的にはSSH
やVNC
、リモートデスクトップ接続
を行うことが多いのだと思います。また、かなり前からmDNS
がデフォルトで起動していることもあり、LAN内に1台のRaspberryPi
が起動している状態であればraspberrypi.local
というホスト名でアクセスすることもでき、DHCPで割り振ら得たであろうIPアドレスなどを知ることなく、アクセスすることも容易になってきています。
そんな環境ではあるのですが、ごくたまに起動したRaspberryPi
のIPアドレスが知りたいということもあります。こういう時は体外にトラブル発生しているときが多いのですが…。今回の内容はそんなときのものになります。
使わない人はたぶん全く使わない内容だと思います。
LAN内にあるRaspberryPiのIPアドレスを調べる
RaspberryPi
のMACアドレス
は一定なのでb8-27
から始まるものになっています。そこで、OSで管理しているIPアドレスとMACアドレス
の管理テーブルを参照するコマンドarp
を使用して、該当のMACアドレス
のついたIPアドレスを検索できればRaspberryPi
のIPアドレスもわかります。
※RaspberryPi4では"dc-a6"から始まるMACアドレスのものもあるようです。
Windowsであれば、cmd
やPowerShell
に以下のようなコマンドを入力することで検索することができます。
cmd
> arp -a | findstr "b8-27" > arp -a | findstr "dc-a6"
OSの起動状況によっては時間がかかることもあります。
そんなときには一旦ネットワーク内のすべてのデバイスにpingでパケットを送信することでarpテープル
の更新を行うことができます。
以下のコマンドの192.168.0.%1
は検索するLANのネットワークになるので、適宜変更します(%1の部分はforによる変動値)。
batファイルに書く記述
for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.0.%i
RaspberryPiのIPアドレスを探すバッチファイル
for /l %%i in (0,1,255) do ping -w 1 -n 1 192.168.0.%%i arp -a | findstr "b8-27" arp -a | findstr "dc-a6"
バッチファイルの実行画面
おわりに
今回は最近ちょっとトラブルが多かったので、メモというレベルの内容となりました。 ヘッドレスの環境でトラブルがあった場合にはたまに使う機会もあるかもしれません。
ちなみにRaspberryPi3
以降でないとWiFi機能が装備されていません。そのためRaspberryPi2
などではこの情報をそのままは使えないので注意です。(これで結構時間を無駄にしたこともありましたw)