1. Raspberry Pi とは
1-1. Raspberry Pi の概要
Raspberry Pi は、英国のラズベリー・パイ財団(Raspberry Pi Foundation)が教育用に開発した 32bit ARM プロセッサを用いたクレジットカードサイズ のシングルボードコンピュータで、2006 年頃からプロ トタイプの開発が始まり、2012年2月に市販が始まっ た。2013年3月現在、オンラインショップでは Model A が 25 ドル相当で、Model B が 35 ドル相当で購入でき る。
1-2. Raspberry Pi の仕様
Raspberry Pi には、標準構成の Model B とそこからいくつかのインタフェースを削った Model A がある。
Model B の主な特徴は以下のとおり。
システムチップ: Broadcom BCM2835 Embedded Multimedia Applications Processor
CPU: 700 MHz ARM1176JZF-S
GPU: Broadcom VideoCore IV
メモリ: 512MB SDRAM(初期型は256MB)
Ethernet: 10/100BASE-T Ethernet
USB: USB 2.0 (2ポート)
ビデオ: コンポジットビデオ出力(RCAピンジャック), HDMI出力
オーディオ: ステレオライン出力(3.5mmφ), HDMI出力
ストレージ: SD/MMC/SDIOカードスロット
低レベル周辺機器: GPIO, SPI, I2C, UART
定格電源: 700mA
電源電圧: 5V (マイクロUSBポートから給電。ただし内部では 3.3Vで動作)
サイズ: 8.6cm x 5.4cm x 1.7cm
1-3. Raspberry Pi でできることできないこと
できること:
- Debian Linux をもとにした Raspbian をインストールした場合、Debian Linux が実行できることの多くをそのまま実行できる。
- GPIOポートを利用すれば、ユーザが製作した電子回路との連携が容易。
- HDMI接続によって、地上デジタル放送対応テレビをビデオサーバにできる。
できないこと:
- ADC(A/Dコンバータ)を搭載していないので、単体ではアナログ値の計測ができない。
- リアルタイムクロックを搭載していないので、NTPサーバ等を利用しなければ正確な時刻を保持できない。
- 単体では音声入力ができない。
注意すべき点:
- 二次記憶装置がSDメモリカードなので、同じ領域に頻繁に読み書きを繰り返すとSDメモリカードの障害を早期に誘発する可能性がある。
コラム:Raspberry Jam Session #2 お手軽シャットダウンフリー化 - ケースに入れなくても稼働できるが、本体表面の電子部品やコネクタ類に手を直接触れると、システムが停止したり再起動する可能性が高い。
- メインメモリが 512MB しかなく、拡張できない。
2. 購入から初ログインまで
2-1. 購入方法
2013年2月現在、Raspberry Pi は以下のサイトから購入できる。
- RSオンライン (http://jp.rs-online.com/)
- ModMyPi (http://www.modmypi.com/)
Raspberry Pi は世界中で人気が沸騰しており、一時は入手に半年以上かかった。今は改善してはいるが、それでも注文した翌日に配送というわけにはゆかない。ネットでこまめに検索するなどして、すばやく入手する方法を検討してほしい。
2-2. Raspberry Pi 以外に必要なもの
Raspberry Pi を動かす前に Raspberry Pi Model B 本体以外に必要な機材を準備する。
Raspberry Pi 以外に必要なもののより詳しい説明
SDカード(8GB程度)
4GB でも 16GB でも問題はないが本稿では 8GB を想定している。
書き込み速度は速いにこしたことはない。
デジカメ等に比べると読み書きの回数が圧倒的に多いので、実績のある製品を選ぶのがよい。
電源アダプタ
Raspberry Pi は少なくとも単体で 5V 400mA 程度は消費し、公式には 700mA 消費するとしているので、余裕をもって 5V 1A 程度の電源アダプタを用意すること。コネクタ形状はマイクロUSB。
電源、ケーブル、ケースなどについて
HDMIディスプレイ
Raspberry Pi のビデオインタフェースはコンポジットビデオと HDMI のみであり、VGA はサポートしていない。地上デジタル放送対応テレビならば、HDMI イ ンタフェースを持っているので問題なく利用できる。
パソコン用液晶モニタが、VGA だけでなく DVI 入力に対応しているなら、HDMI/DVI 変換ケーブル(1000 円前後から購入可能)を介して接続できる。
Raspberry Pi の HDMI 出力を VGA モニタで 表示するためのコンバータも販売されている。
Raspberry Pi と HDMI について
HDMIケーブル
特に指定はないが、Raspberry Pi が小さいので細いケーブルの方が取り回しはしやすい。
USBマウス/キーボード
特に指定はないが Raspberry Pi が小さいのでケーブルの細い小型のものが使いやすい。
また、消費電力が大きいものだと動作が不安定になる。その場合は、セルフパワーのUSBハブが必要になる。
Bluetoothドングルを用意して設定すれば、Bluetoothマウス/キーボードも利用できる。キーボードは英語配列/日本語配列どちらも利用できる。
キーボードとマウスの詳細
DHCPでアドレスが取得できるネットワーク
Raspberry Pi は固定IPアドレスを設定することもできるが、今回は DHCP でIPアドレスと DNS の設定をしている。
2-3. 初起動前の下準備
今回は、Debian Linux をもとに、Raspberry Pi のために新たに作られた Raspbian wheezy(以下、Raspbian)をとりあげる。
Raspbian 以外にも、FreeBSD, NetBSD といった BSD 系 UNIX でも稼働実績がある。
コラム “Raspberry Jam Session” #1″
Raspberry Pi で Raspbian を使えるようにする作業は、2GB SDメモリカード用のイメージファイルをイ ンターネットからダウンロードするところから始まる。 今 回は、http://www.raspberrypi.org/downloads から 2012-12-16-wheezy-raspbian (執筆当時の最新版)をダウンロードした。
次に、ダウンロードした OSイメージを SDカードに書き込む。この作業は使用する OS によって対応が異 なるので、以下では Mac OS X の場合の例を示す。この作業は、RPi Easy SD Card Setup (http://elinux.org/RPi_ Easy_SD_Card_Setup) を参考にした。
$ cd ~/Download
$ shasum 2012-12-16-wheezy-raspbian.zip
$ unzip 2012-12-16-wheezy-raspbian.zip
$ sudo diskutil unmount /dev/ディスク名
$ sudo dd bs=1m if=2012-12-16-wheezy-raspbian.img of=/dev/ RAWデバイス名
$ sudo diskutil eject /dev/ディスク名
上記作業では、まずダウンロードしたファイルのハッシュ値を確認してからファイルを展開し、次に SD カードに上書きをするために、いったん SD カードのパーティションをアンマウントし、その後、展開した OS のイメージを SD カードの RAW デバイスに書き込んでいる。書き込みが完了したら SD カードを取り出す。Mac 以外のパソコン(Linux, Windows)からの SD カードに書き込む方法は、以下を参照のこと。
2-4. Raspbian をインストールしてみよう!
SD カードの準備ができたらいよいよ Raspberry Pi を開封する。まず本体に SD カードを挿し、LAN ケーブル、HDMI ケーブルとディスプレイを接続する。次に、USB キーボード、マウスを接続する。このとき、USB の電源供給が不足ぎみになり動作が不安定になることがあるのでバスパワーでの実績がない限り、セルフパワーの USB ハブを用意することをお勧めする。最後に、電源ケーブルを接続すると Raspberry Pi がたくさんのメッセージを表示しながら起動する。
初回起動時には設定画面が表示される。ここで各種設定を行う。この設定画面の実体は /usr/bin/raspi-config であり、初回起動時以外でも sudo raspi-config で随時起動できる。以下では、raspi-config のメインメニューでメニュー項目を選択し、必要な操作を実施した後にメインメニューに戻ることを繰り返している。
(1)メニュー項目 “expand_rootfs” で、ファイルシステムを拡張する。
初期状態だと 2GB 以上の容量の SD カードを利用していても、2GB のパーティションしか生成されない。この項目を選択すれば、それだけで SD カードの最大容量までパーティションが拡張される。この設定は再起動後に反映される。
(2)メニュー項目 “configure_keyboard” で現在利用しているキーボードに合致した設定に変更する。
国と言語によって微妙に配列が異なるキーボードが多数存在する。USB キーボードには、自分がどのような配列なのかをコンピュータ側に通知する機能がないので、利用者自身が現在利用しているキーボードの配列をコンピュータに伝えなければならない。本メニュー項目ではそのための設定を行う。ここでは、代表的な配列として米国式の英語配列キーボードと、日本語配列キーボードの設定を取り上げる。
- 英語配列(米国配列)の場合
この項目を選択後、以下のようにたどる。
[Generic 101-key PC] → [English(US)] → [The default for the keyboard layout] → [No compose key]
Raspberry Pi は英国製であるため、英語配列のキーボードを使おうとして Generic 101-key PC を選んだだけでは、米国配列ではなく英国配列となってしまう。英国配列は米国配列と異なるので、米国配列にしたい場合には、English(UK) ではなく English(US) を選択しなければならない。
- 日本語キーボードの場合
この項目を選択後、以下のようにたどる。
[Generic 105-key (Intel) PC] → [Other] → [Japanese] → [Japanese – Japanese (OADG 109A)] → [The default for the keyboard layout] → [No compose key]
(3)メニュー項目 “change_timezone” でタイムゾーンを変更する。
この項目を選択後、[Asia] → [Tokyo] と設定を行う。
(4)メニュー項目 “ssh” で起動時にSSHサービスが立ち上がる設定にする。
Linux、Mac OS X、Windows が稼働するパソコン、Android タブレット、iOS デバイスなどから Raspberry Pi にリモートログインする際に SSH サービスは必須なので、[Enable] に設定したままにしておく。
(5)メニュー項目 “boot_behaviour” で起動時に X window system を立ち上げる設定にする。
ここでは [Yes] を選択して次回起動時からは X window system が立ち上がるように設定する。なお、これだけだと起動時にパスワードなしでデスクトップが開いてしまうので注意が必要であるが、本稿では当面この設定を前提とする。
以上の設定が終わったら、最後に [Finish] を選択し、再起動を行う。再起動すると X window system が起動して Raspberry Pi のロゴのデスクトップが表示される。
これ以外にも、メニュー項目 “change_locale” で locale の変更が可能だが、この時点では日本語フォントの準備ができていないので、実行しない。
ここまでで初期設定は完了したので、次は起動と終了の操作方法を確認する。まずは “LXTerminal” を起動して shutdown コマンドを実行し終了する。
$ sudo shutdown -h now
shutdown が完了したかどうかは、Raspberry Pi 表面の LED の点滅状況を見ていれば把握できる。shutdown 完了後は電源ケーブルを抜いてよい。ふたたび Raspbrry Pi を起動するには電源ケーブルを micro USB ポートに挿すことで起動できる。
2-5. ネットワークと日本語環境の設定
起動と終了の方法が確認できたので、次はネットワークの動作確認を行う。
2-5-1. ネットワークの設定
Raspbian は、起動時に DHCP でIPアドレスと DNS の設定をしている。そのため、標準のWebブラウザ(Midori)を起動し、http://e-ark.jp/ のホームページが表示できれば問題ない。表示されない場合は、LANケーブルの接続、Raspberry Pi を接続したネットワークの DHCP 稼働状況などを確認する必要がある。
ネットワークの設定とトラブルシューティング
ネットワークの接続確認ができたら、ソフトウェアパッケージ管理コマンド “apt-get” を用いてパッケージのアップデートを行う。今後、apt-get コマンドの利用に際しては、必ず sudo することにする。
$ sudo apt-get update
$ sudo apt-get upgrade
Raspberry Pi を接続したネットワークの状況によっては、上記のコマンド実行にはそれぞれ数分から数10分を要する場合がある。
2-5-2. 日本語環境の設定
まず日本語を表示するために、フリーの日本語 TrueType フォントである takao をインストールする。
$ sudo apt-get install ttf-takao-mincho ttf-takao
フォントがインストールできたら、raspi-config コマンドを起動し、前節では実施しなかった locale の変更を行う。
$ sudo raspi-config
メニュー項目 “change_locale” を選択して、locale 一覧からを ja_JP.UTF-8 UTF-8 を追加し、en_GB.UTF-8 UTF-8 を除外する。locale の設定画面で ja_JP.UTF-8 を選択する。
次にibus-anthyをインストールし、その後、日本語入力の設定を行う。
$ sudo apt-get install ibus-anthy
再起動後に、日本語入力の設定はデスクトップの左下のスタートアイコンを押して、以下のようにたどる。
スタートアイコン→[メニュー]→ [Preferences] → [IBusPreferences] → [Input Method] → [Select an input method]→[Japanese>Anthy]
再起動すれば [Ctl] + [Space] で日本語入力ができるようになる。
3. さまざまなログイン形態
ここまでは、Raspberry Pi のUSBポートにUSBキーボードとUSBマウスを接続して Raspberry Pi にログインし、さまざまな操作を行ってきたが、Raspberry Pi にログインする方法はこれだけではない。ここでは、別マシンから Raspberry Pi に接続する3つの方法を紹介する。
3-1. SSH
標準設定では、SSHサービスは最初から起動しているので、Raspberry Pi のIPアドレスがわかればMac の場合、ターミナルからは以下のコマンドで接続できる。
$ ssh -v pi@IP アドレス
Mac だけでなく、Linux機やWindows機からのアクセスについても以下を参照のこと。
3-2. VNC
VNC はコンピュータを遠隔操作するためのフリーソフトウェアである。Raspberry Pi を VNC で遠隔操作接続するには、まず Raspberry Pi 上でVNCサーバを立ち上げる必要がある。
そこで、以下のコマンドで、VNCサーバをインストールし、起動する。
$ sudo apt-get install tightvncserver
$ vncserver :1 -geometry 1280×800 -depth 24
この状態になれば、Mac や Linux 機上の VNC クライアントから以下の URL にアクセスすると Raspberry Pi に接続でき Raspberry Pi のデスクトップをみながらマウスやキーボードを操作できる。クライアントが Mac OS X 10.5(Leopard) 以降の場合は「画面共有」(Finder で command+K)で以下の URL に接続するとよい。
vnc://pi@IPアドレス:5901
Raspberry Pi 側のVNCサーバは以下のコマンドで終了できる。
$ vncserver -kill :1
Mac だけでなく、Linux 機や Windows 機、Android タブレット、iOS デバイス(iPhone や iPad)からのアクセスは、以下を参照のこと。
3-3. シリアルコンソール
Raspberry Pi の部品面にある P1 ピンヘッダには UART 機能を持つピンがあるので、「FT232RL 搭載小型 USB-シリアルアダプタ 3.3V」(後述)のようなシリアル USB 変換アダプタを接続すれば Raspberry Pi のシリアルコンソールに PC や Mac などからログインできる。
具体的には、まず以下の必要な部品を準備して、図1 のように Raspberry Pi と USB-シリアルアダプタをジャンパワイヤで接続する。USB-シリアルアダプタと PC を USB で接続する。
必要な部品
次に、以下のページから FTDI のドライバをダウンロードして PC や Mac にインストールしておく。
http://www.ftdichip.com/FTDrivers.htm
ドライバがインストールされていれば USB シリアルアダプタを接続した時点で /dev/ 以下に新しい TTY デバイスが見えるので、クライアントが Mac の場合はターミナルエミュレータソフトウエアを使ってシリアルコンソールにアクセスできる。たとえば screen コマンドがインストールされているなら、以下のコマンドを実行すればよい。
$ screen /dev/tty.usbXXXXXX 115200
Raspberry Pi に接続できると以下のように表示されるのでログイン名とパスワードを入力してログインする。ログインに成功すれば PC から Raspberry Pi を操作できる。
raspberrypi login:
Password:
Mac だけでなく、Linux 機や Windows 機からアクセスする場合は、以下を参照のこと。