Raspberry Piをセットアップする際に面倒なのが、ディスプレイがないためにIPアドレスが分からず接続できない状態になることです。目の前にデバイスがあるのにIPアドレスが分からない…そんなストレスから開放される方法を4つ紹介します。

1. ホスト名でログインする

Raspberry Piのデフォルトのホスト名はraspberrypiとなっています。そしてpingを使ってIPアドレスを見つけられます。この時 raspberrypi.local とするのがポイントです。

$ ssh pi@raspberrypi.local

2. IPアドレスを固定する

/etc/dhcpcd.conf を編集します。例えば以下のような形です。IPアドレスを固定にすればアクセスは簡単です。

interface wlan0
static ip_address=192.168.0.xxx/24
static routers=192.168.0.xxx
static domain_name_servers=192.168.0.xxx

3. arpを使う

arpコマンドを使うと同じLAN内にいるコンピュータが一覧されます。これをRaspberry Piを実行する前に一度実行します。

$ arp -a
? (192.168.0.1) at XX:XX:XX:XX:XX:XX on en0 ifscope [ethernet]
? (192.168.0.2) at XX:XX:XX:XX:XX:XX on en0 ifscope [ethernet]

そして起動した頃に再度実行し、追加されたIPアドレスを見つける方法です。なお、Raspberry PiのMACアドレスはb8:27からはじまります。複数台のRaspberry Piを起動していると分からなくなってしまいますが、一台の場合にはこれが目印になります。

4. nmapを使う

arpと変わりませんが、nmapコマンドでも同じようにLAN内のコンピュータを一覧表示できます。

$ nmap -sn 192.168.0.0/24
nmap  -sn 192.168.0.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-19 18:50 JST
Nmap scan report for 192.168.0.1
Host is up (0.0071s latency).
Nmap scan report for 192.168.0.2

この方法ではMACアドレスが分からないので、Raspberry Pi起動前に実行した結果と比較するのが良いでしょう。

番外編1:HDMIディスプレイとUSBキーボードを繋ぐ

どうしても分からない場合、基本に立ち戻るとHDMIディスプレイとUSBキーボードを繋ぐことになるでしょう。この場合、ifconfig コマンドでネットワークの状態を調べられます。

$ ifconfig wlan0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether XX:XX:XX:XX:XX:XX 
    inet 192.168.0.99 netmask 0xffffff00 broadcast 192.168.0.255
    media: autoselect
    status: active

番外編2:isaax IoTエンジニア養成キットにあるカスタムイメージを使う

isaaxで提供しているIoTエンジニア養成キットではLCDを接続すると、現在のIPアドレスを表示するカスタムイメージを提供しています。これを使うと、Raspberry Piが起動後、そのIPアドレスが表示されます。

これで簡単にIPアドレスが分かります。IoTエンジニア養成キットについてはこちらをご覧ください。

まとめ

Raspberry PiでIPアドレスが分からないというのは初心者が必ず躓くポイントになります。そこで諦めたり、失望したりすることがないよう今回紹介した手法を使って素早く解決してください。


Leave a Reply

Your email address will not be published. Required fields are marked *