しばらく愛用のVaio Proをいじる時間がとれなかったもんで、新しい記事をポストできずにおった。
実におよそ2ヶ月ぶりの新規記事。新年あけましておめでとうございます。
今年もぼちぼちでやっていきます。目指せ100記事。
Raspberry Pi起動時に、PiTFTにIPアドレスを表示させる
いま自分のとこで扱っているRaspberry Piは、基本的に画面を接続せず、操作はネットワーク越し(SSH)に行う前提にしている。
そのため、SSHによるログインにあたってはRaspberry PiのIPアドレスを知る等してネットワーク的にリーチする必要がある。
いままではarpをしてみたりpingをブロードキャストに投げてみたり、ホストネームを打ってみたり、色々やっていたのであるが、
いまひとつうまく行かないことがあって、そのたびにトラブルシューティングのために、結局画面を接続する必要が生じていた。
実に間抜け感を感じるわけである。
PiTFTをくっつけた、というのはちょっと前の記事で書いたところなのであるが、
じゃあとりあえず、Raspberry Pi起動時にこいつに現在のIPアドレスを出力してみれば便利なのでは、と思ったのである。
IPアドレスさえわかれば、だいたいにおいてSSH接続できるしね。
方法は、
- 自動でログインさせる
- ログイン時にifconfigし、IPアドレスの部分を抽出しつつ、コンソール(PiTFT)出力
といった感じ。以下、詳細。
自動ログインさせる
ちなみに私が扱っているRaspberry PiにはArch Linuxが載っている。
Raspbian、Pidora等とは設定が違うと思われるので注意されたし。
Arch Linuxなので、現在のところ起動時の仕組みはSystemdが用いられている。
Systemdにおける自動ログインの設定は、例によってArch Wikiに載っていたのでそれを参照した。
ここを参照。→ Automatic login to virtual console
仮想コンソールの章を、騙されたと思ってそのまま設定し、そんで再起動してやればもう自動ログインできているはずである。
ログイン時にifconfigし、IPアドレス部分を抽出
自動ログインできたらあとは簡単で、.bashrcにでもIPアドレス出力用の何かを書いてあげればOKである。
{% codeblock .bashrc %}
ifconfig | grep inet
{% endcodeblock %}
これでいいや、という感じで書いておいた。
ただ、起動と同時に自動ログイン → IPアドレス表示、だと、IPを取れてないことがあって具合が良くない。
そのため、上記IPアドレス取得の前に、ちょっとだけsleepなんかを入れてあげるとそのへんは心配がなくなる。
{% codeblock .bashrc %}
sleep 5
ifconfig | grep inet
{% endcodeblock %}
こんな具合である。
IPアドレスがわかるようになったがPiTFTがもったいない感
PiTFTだとちょっとやりすぎなので、もっと小さい画面モジュールでやってもいいと思う。
というか早く無線化しようね。次の目標は無線化です。それでは。