2015-01-28 21:10:39

Raspberry Piでログインを自動化、ついでに現在のIP表示させてみる

しばらく愛用の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だとちょっとやりすぎなので、もっと小さい画面モジュールでやってもいいと思う。
というか早く無線化しようね。次の目標は無線化です。それでは。

Share