Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。
ご紹介するのはMatthias-Wandelさんのpythonスクリプトです。ラズパイの基板上には2つのLEDがあります。そのうちグリーンに光るアクセスランプを一定の法則で点滅させることで、現在割り当てられているIPアドレスを知ろうという試みです。
本人も書いているように、これまでも同じ仕組みで公開されています。しかし、1〜9の数字を点滅させる手順のため、数を数えないとならず非常に分かりにくい。そこで彼はもう少し単純化した考え方で数字を知らせる点滅方法を編み出しています。
実用性は少し懐疑的ですが、点滅自体は面白い発想で分かりやすかったため試してみました。
点滅のルール
これまで私も見てきたステータスLEDの点滅でIPアドレスを通知する場合、仮に5という数字は5回点滅させるものでした。これだと最大の9は数えるのが大変です。正直、6〜9はなんだか不確かになります。桁が増えても数えるのは面倒です。
彼の場合、数字を一旦、ローマ数字に置き換えて点滅させることによりパターンを少なくしています。
| IP4アドレス | 点灯させる数字 | ローマ数字 | 点滅パターン |
|---|---|---|---|
| 192.168.0.105 | 105 | I X V | • — • - |
| 192.168.0.13 | 13 | I Ⅲ | ・ ・・・ |
| 127.0.0.1 | 000 | X X X | — — — |
ローマ数字にすれば、I V Xの3つの文字の組み合わせになるため、3パターンで良いということになります。(よく考えたな!)
点滅のパターン
それぞれ点滅の時間が異なります。
- I → 0.1秒
- V → 0.4秒
- X → 1.2秒
- 桁間の時間は1秒、オクテット間の時間は2秒です。
この場合の桁というのは最後のオクテットが3桁、2桁の場合です。 オクテットはIPアドレスをドットで区切った4つのことで、家庭内Wi-Fiの一般的な使い方だと、第1、第2、第3オクテットまで同じになり、最後のオクテットだけ異なっていると思います。(機器に依ります)
IPアドレスについては「IPアドレスとサブネットマスクを理解しよう!」もご覧ください。
■Pi 5は8GBモデルがオススメ
スクリプトの入手
GitHubにあります。・・・が、git cloneで認証が必要となりダウンロードできなかったため、別途pythonのスクリプトだけダウンロードしました。彼のホームページでもダウンロードできます。
GitHub:Blink IP address on headless Raspberry Pi
作者HP:Blink IP address on headless Raspberry Pi
blink_ip.pyをinstallオプションで実行しろとありますが、私の環境では実行できませんでした。
sudo ./blink_ip.py install
install オプションはスクリプトを起動時に自動実行できるcrontabに追加できるということですが、ダメだったのでそこは手動で登録しました。
それ以外のメイン部分は問題なく動作します。通常に実行してみた。
sudo ./blink_ip.py

実行すると、IPアドレスを3回確認し、数字をローマ数字に変換した結果が出ます。間の空白間で実際にLEDを点滅させています。
この点滅を計10回繰り返した後は、いつものアクセスランプ状態に戻ります。
この場合は13ですから、・ ・・・と点滅するというわけです。少ない数字は分かりやすいですね!
Crontabで自動実行
ちなみに手動でcrontabへ追記する場合は以下です。
rootの権限が必要ですから先にrootフォルダへコピーしてから実行させています。
sudo cp ./blink_ip.py /root/blink_ip.py
crontab -e
エディッタで開いて最下部に追加する。
@reboot /root/blink_ip.py
確認するには-lオプションで確認できます。
crontab -l
実感として
点滅は意外と覚えられますね。最後のオクテットがいつも2桁での運用であれば分かりやすいと思います。3つ目のオクテットが異なると区切りの分、待ち時間が2秒空きますから、それがある場合とない場合では読み取るのに時間がかかるかも知れません。
今回、192.168.0.13であったり、6であったり1桁〜2桁であれば、とても分かりやすいので、ヘッドレスで運用する時は重宝しそうです。
ただ、最初から使えるわけではないので、このスクリプトを仕込んだラズパイを久しぶりに稼働させた時、IPアドレスでSSHを使う場合以外ではあまり意味を成さないでしょう。
インストールした時点で固定IPアドレスを設定するか、ローカルの名前でアクセスすれば済んでしまいます。
使える用途は限られますが、作者サイトの動画にあったようにRaspberry Pi OSを書き込んだmicroSDカードを別のラズパイに差し替えるのならば、確かに有効な手段です。・・・が、そんなことするんだろうか?とは思ってしまいました。
使いどころは微妙??
簡単なスクリプトなので、自動実行させなくてもスクリプトの実行を試してみるのはオススメです。



