Raspberry Piという、小さなパソコンを購入しました。送料込みで4,510円でした。
小さいし、基板むき出しで、見かけはパソコンに見えませんが、
・USBポートx2
・HDMI出力端子
・イーサネットポート
・SDカードスロット
などを備えており、キーボードとマウス、ディスプレイを接続することができます。
OSはRaspberry Pi用にチューニングされたLinuxをSDカード(別売)にインストールします。
OSのSDカードヘのインストール
OSのインストールはSDカードに事前にコピーすることで行います。コピーはRaspberry Piではなく、別のパソコンで行います。
使用したSDカード
Transcend社製の16GB SDHC SD Card class 10を購入しました。
Raspberry Pi用のOS
(Raspberry Pi公式ページ【http://www.raspberrypi.org/downloads/】より)
PIDORAという、LinuxディストリビューションのFedora CoreをRaspberry Pi向けにチューニングしたOSを選びました。Raspberry Piの公式ページ(http://www.raspberrypi.org/)からダウンロードできます。
Raspberry Piで使用できるOSは何種類かあるのですが、ネット上を見るとRASPBIANという、DebianベースのOSを使用されている場合が多い感じがします。
私は以前にCentOSを愛用していたので、その系列に属するFedoraベースのPIDORAを使うことにしました。
OSのSDカードへの書き込み手順
OSのSDカードへのインストールはMacのターミナルを使って行います。
1. Macのターミナルを起動し、接続されているドライブを確認
df -h
Macに接続されているディスク(内蔵含む)が表示されます。
2. SDカードをMacのSDカードスロットに挿し、SDカードのドライブ名を確認
df -h
SDカードを挿す前との差分で、一番下の行に”/dev/disk1s1”という項目が新たに表示されています。
3. SDカードをアンマウント
いったんSDカードをアンマウントします。SDカードはスロットに挿したままにします。
sudo diskutil unmount /dev/disk1s1
4.OSのイメージファイルをSDカードに書き込む
さきほど確認したSDカードのディスク名は
disk1s1
でしたが、お尻に付いている”s1”を削り、さらに頭に”r”を付けて
rdisk1
という名前をSDカードのディスク名として指定して、OSイメージ(.img)を書き込みます。
※ディスク名は、各パソコンの状態によって異なるので、必ずdfコマンドで確認する必要があります。
sudo dd if=SDカードに書き込むOSの.imgファイルまでのパス of=/dev/rdisk1 bs=1m
”of=”にはSDカードのディスクを指定します。disk1の頭に”r“が付いて”rdisk1“になっています。”r”を付けると、書き込みが速くなるそうです。
ddコマンドを実行しても直後には何も表示されませんが、書き込みが終わると下の画像のような結果が表示されるので、それまで待ちます。
5. SDカードをアンマウント
書き込みが終わったらSDカードをアンマウントしてSDカードスロットから取り外します。
sudo diskutil unmount /dev/disk1s1
以上でOSのインストールは完了です。
Raspberry Piの起動
Raspberry Piには起動スイッチはありません。OSをインストールしたSDカードをRaspberry PiのSDカードリーダーに挿し、USB電源を接続すれば、Raspberry Piが起動します。初期設定画面が表示に従い、ユーザ名などを入力していくと完了し、使い始めることができます。
CUI・GUIの切り替え
Raspberry Piのリソース(CPUとかメモリの容量など)は限られているので、あれもこれもしようとすると動作が重くなってしまいます。私はRaspberry Piの操作を、MacからSSHを使い、LANを通じて行うことにしました。
GUIに切り替える
Raspberry Piをモニターにつないで、マウスを使って操作するデスクトップ画面を使いたいときは、root権限で
systemctl isolate graphical.target
というコマンドを実行することで、一時的にデスクトップ画面でマウスを使った操作を行うことができます(再起動すると、再びCUIモードに戻る)。
CUIに切り替える
逆に、標準でデスクトップ画面を使っていて、一時的にCUIを使いたい場合は、
root権限で
systemctl isolate multi-user.target
というコマンドを実行します。
各種設定・インストール
足りないツールのインストール
とりあえず、ifconfigが使えなかったので、
yum -y install net-tools
また、CUIベースで使うのであまり関係ありませんが、日本語入力をすることがあるかもしれないので
yum -y install ibus-anthy
をインストールしました。
SSHの設定
Raspberry Piの設定中、しばらく操作をしていないとSSH接続が切断され、再接続ができなくなることが何度かあったので、効果があるか分かりませんが、操作していなくても60秒ごとに信号を送ってSSH接続を維持する設定をしてみました。
/etc/ssh/sshd_config ファイルに記述されている
#ClientAliveInterval 0
をコメントアウトし、
ClientAliveInterval 60
とします。
Webサーバー(Apache)のインストール・設定
yum -y install httpd
Webとして公開する対象のディレクトリを変更
/etc/httpd/conf/httpd.conf ファイルに以下を追加
<Directory “/公開対象のディレクトリまでのパス”> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
データベース(MySQL・SQLite)のインストール
MySQLのインストール
yum -y install mysql
SQLiteのインストール
yum -y install sqlite
PHPと関連ライブラリのインストール
//PHP yum -y install php //日本語などのマルチバイト文字関連 yum -y install php-mbstring //画像処理関連 yum -y install php-gd //mysql関連 yum -y install php-mysql
感想
このサイズで独立したLinux機として使えるのは驚きです。今後は各種センサー類、ArduinoやXBeeとの連携で活用方法を探っていきたいと思います。