Raspberry PiのIPアドレスを確認する ~ 山の中で確認するには?

2023年1月7日

rasip_1
これでGPSログを取ってます

Raspberry PiGPSなどのセンサーを付けて外出先(私は山の中が多い)で運用することがあります。その場合、スマートフォンでテザリングをしてRaspberry PiVNC接続で操作します。

しかしテザリングでは、状況によってRaspberry PiIPアドレス変わってしまうことがあり得ます。そのような時では、HDMIディスプレイがないとIPアドレスを確認ができません。それでは、どうすればよいでしょうか。

rasip_2
HDMIモニターに直接繋げば分かるけれど

(最近、raspberrypi.localを使っていません。それを前提に話を進めます)

方法を考えてみました。

1.テザリングをしているスマートフォン以外にPC等がある場合

テザリングをしているスマートフォン以外PC別のスマートフォンタブレットがあれば、Raspberry PiIPアドレスを確認することができます。

Wireless Network Watcher (Windows)

rasip_3

Windowsマシンがあるなら、「Wireless Network Watcher」が良いでしょう。同一LAN上のデバイスをリストで出してくれます。上記のように、Raspberry Piがどれかが一目瞭然です。

Fing (Android)

テザリングをしているスマートフォン以外スマートフォンタブレットがあれば、Raspberry PiIPアドレスを確認することができます。Fingを使ってみました。

rasip_4

同一LAN上のデバイスをスキャンします。

rasip_5

Fingは、デバイスの名前OSなども表示されていて、理想的なネットワークスキャナーです。テザリングでない場合は最強でしょう。

2.テザリングしているスマートフォンしかない場合

テザリングしているスマートフォン以外にデバイスがない場合が困りました。Androidの「設定」「パーソナルホットスポット」(バージョンによってメニューが違いますので注意)にある「接続管理」で、接続しているデバイスの一覧が出るのですが、MACアドレスしか分かりません(バージョンによっては、見れる?)

上記のアプリケーションFingWi-Fiネットワークに接続することが前提のようで、テザリングを有効にするとWi-Fiが無効になるのでうまくいきません。(やり方があるのかも?良かったら教えてください)

あれこれ探すうちに、「NetTools」というアプリケーションで取得できました。

NetTools

Playストアから、「NetTools」をインストールします。

rasip_6

起動したら、メニューボタンを押します。

rasip_7

Net scan」を選択します。

Net scanの画面が表示されます。画面にスキャンするIPアドレスの範囲があります。この範囲を指定します。テザリングしているスマートフォンのIPアドレスは分かっているので、最後の3桁IPアドレスの指定を1から255で指定します。

rasip_8

IP1」ボタンを押します。「XXX.XXX.XXX.1」と指定します。

rasip_9

IP2」ボタンを押します。「XXX.XXX.XXX.255」と指定します。

rasip_10

スキャンボタンを押します。スキャン結果はIPアドレスのみで分かりずらいため(Playストアの画面だと、追加情報が出てますが)、他のデバイスは止めておきましょう。テザリングをしているスマートフォンIPアドレスの他にIPアドレスが表示されました。これが、Raspberry PiIPアドレスです。(192.XXX.XXX.176)

rasip_11

これで、山の中でもIPアドレスが確認できます。

実際にIPアドレスが変わってしまう場合は少ないと思いますが、用意しておく方が良いでしょう。

3.Raspberry PiにキャラクタLCDを付けるのも良いが

Raspberry PiキャラクタLCDを接続して、起動時に表示するといった例が多くあります。これも良い方法ですが、何台もRaspberry Piを所有すると間に合いません。それにGPIOを使ってしまうのも問題です。場合によってはGPIOが競合して、キャラクタLCDを使えない場合も出るでしょう。

4.Raspberry Pi以外のデバイスのIPアドレスを確認する

今回はRaspberry Piで話を進めましたが、M5Atomでも使いたいところです。しかし、Atom LiteIPアドレスは取得できませんでした。Atom Liteは、Wireless Network Watcherでも表示できませんでした。

また、Net scanは、Windows11の検出ができませんでした。ちょっと、今回の結論は早すぎるみたいです。何か分かったら報告します。

番外編:Line NotifyでIPアドレスを送信する

圏外では使えませんが、IPアドレススマートフォンLine Notifyで送るというのも有効でしょう。Python版ですが、以下のサイト様の記事が良いです。

C言語版も作りました。やっぱり自分はC言語じゃないと落ち着きません。