Raspberry Pi を 頭を使わずに食べてみる(Eating Raspberry Pi Headless)

旅行から帰ってきたらRPi が届いていたので早速食べてみた。本来ならば、キーボードとモニターを接続して初期設定することになるのだが、最初から小規模のhtmlサーバーとして使おうと考えているのでモニターやキーボードは接続せず (いわゆるheadless)、EtherNetへの接続だけでの設定を試みた。 ネット上から拾ってくるオフィシャルOSであるRaspbian ”wheezy” (Debian LinuxのRPiポート)のイメージではsshが最初から組み込まれているのでこのイメージを展開したSDカードをスロットに挿入し、ネットワークケーブルを接続しておいてから電源を接続する。 RPiのLEDが華やかに点滅を始めるので、これが一段落したのちに、ラウターのDHCPテーブルを眺めてみるとRaspberrypiの名前でIPが設定されているのでこのIPに対してSSH接続を行う。自分の環境では192.168.1.122 に設定されていたので

 ssh pi@192.168.1.122

これをcygwin ターミナルから入力する。

最初の設定ではuser がpi, password がRaspberry と設定されている。
なお、母艦はWindows 8なのだが、巷で人気のあるPutty ではaptitude や、raspi-configなどAscii Codeでグラフィック表示を行うアプリでは表示が崩れるようなので、ここではcygwin からオプションでインストールしたSSHクライアントを使ってアクセスしている。

Putty terminal でrapsi-configを実行。
Putty terminal でrapsi-configを実行。

cygwin TerminalからのSSH アクセスで raspi-configを実行
cygwin TerminalからのSSH アクセスで raspi-configを実行

最初のログインでは「まずRaspi-configを起動して設定を行ってください」というような意味のメッセージが出る。 モニターとキーボードを使っていれば、自動的に起動するようだが、headlessではマニュアルで進めることになる。
sudo raspi-config

このraspi-config の設定画面、インターネットなどで見る設定画面とはメニュー構成が異なっている。バージョンが上がっているのだろう。 去年の今頃から発売開始になって以来、環境は日々進化しているようなのでネット上の情報は十分吟味する必要がありそうだ。ネットでみると大変そうな作業がツール側の対応が進んでいて実は簡単にできるようになっていました、というような事例が多々ありそうだ。

例えば、最初に使うOSのイメージは2GBなので、サイズの大きなSDカードを使っている場合、このRaspi-configの最初のオプションexpand rootfsを実行することにより、ファイルシステムのサイズをSDカードのサイズいっぱいまで拡大する作業、 は必須項目なのだが最初のころはこれも手作業でやっていたようなのだ。

次の項目、Change Password は、後々別のユーザーを追加するにしても、やっぱりやっておいた方がよい。
Boot to desktopは、モニターを使っていた場合、いちいちstartxとコマンドラインから立ち上げるのではなく、直接GUIを立ち上げてしまおう、というオプションだが、今回の使用目的とは関係ないのでスキップ。

Internationalized option ではkeyboard、locale,time zoneなどが変更できる。 Default ではUKのキーボード配列、使用場所英国になっているため、適宜変更。
Advanced option ではメモリースプリットやhostnameなどが変更できる。モデルBの512MBバージョンではGPUに64MBが振り分けられている。headless で使うということであまりグラフィック関係にメモリーは必要ない、と考えられるのでメモリースプリットにかんしては16MBに変更しておく、
OverClock は興味のある分野ではあるが、とりあえずはパス。 ちなみにつかうとRPi内部のフューズが切れて例えクロックを元に戻しても履歴がわかるようになって、保証対象外となるそうである。というのは古い情報で、Raspi-configで設定するオーバークロックはターボモードと称し、温度が85度以上になると自動的にステップダウンする仕組みになっているらしい。補償対象内の設定だそうだが、チップのばらつきにより、設定によってはブートしなくなる可能性あり。この場合、シフトキーを押しながらリブートしろ、とあるが、こちらはヘッドレスで動かしているので、復帰の仕様がない。
Enable Camera というのはそのうち出てくるPI カメラモジュールに関した設定。
Add to RasTrack はRPiのユーザーがそれぞれ自分のPiを登録し、それをマップで確認できるサービスで登録するのは任意だ。日本はまだ100個台の登録状況であるが、隠れユーザーはこの何倍もいるはず。 街のレベルまで登録するので、ご近所さんで食べてる人が何人いるか確認できてそれなりに楽しい。

Finish を選択するとリブートするか聞いてくるのでYESを選択。

ファイルシステムのサイズ変更にしばらくかかるので他の仕事をやりながら気楽に待ち、LEDの点滅が落ち着いたら、もう一度sshでログイン。 このタイミングでraspbianのアップデートも行っておく。

sudo apt-get update
sudo apt-get upgrade

(Update でデータベースのアップデートをおこない、upgradeで最新のモジュールに更新する。)

自分はDebian Base のUbuntuをデスクトップで使ったり、使っているNAS(Wester ditigal 製 Mybooklive)がDebian で動いているなどの経緯からDebian Linuxはある程度馴染みがあるのででほとんどストレスがなく設定できた。

ところでRPiには電源スイッチがない。電源を落とすにはプラグを抜くことになるのだが、その前にシステムをシャットダウンしておくのが利口なようだ。プラグを引っこ抜いてSDカード上のイメージが破損してしまった、というような報告がネット上に散見される。

sudo shutdown -h now

五個あるLEDのうち電源表示の赤いLEDだけの点灯になったら多分安全。 ここでプラグを抜くのだが、機械的ストレスをPRi本体に与えない、という観点からRPi側ではなく、電源プラグ側のコードを抜く。

電源だが、700mA以上必要、となっている。 携帯の充電器では 400mA定格が多いという記述もネット上で見ていたので、手持ちのスマホ携帯の定格を調べてみたがいずれも1Aとなっており、問題なさそうだ。

裸のままのRPiではケーブルをいくつも接続すると非常に不安定になる、のでケースは必須に思われる。ネット上では厚紙で作るケースの設計図なども落ちてはいるのだが 自分は見栄えに引かれてアクリルの透明なケースを買った。が、電源を入れっぱなしにしておくと、結構暖かくなる。 オーバークロックなどヘビーな使い方をするのであればヒートシンクを追加するか、最初からアルミのケースのほうがよいかもしれない。

次回は母艦からのGUIアクセスのためのTightVNCの導入、Wifi モジュールのインストールおよびIPアドレスの固定をおこなった後、nginx, php, mysqlの導入の顛末を述べる。

One thought on “Raspberry Pi を 頭を使わずに食べてみる(Eating Raspberry Pi Headless)”

Leave a Reply

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

Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.