Electronics

2014.03.25

Raspberry Pi 101:ところでPiって何だろう?

Text by kanai

MKRPI2-1

MAKEでもみんなRaspberry Piが大好きだし、Piファンはどんどん増えている。しかし、なんのことやらサッパリわからないという人も、当然ながら大勢いる。そこで、Pi Day(3/14)を記念して、Matt RichardsonとShawn WallaceのGetting Started with Raspberry Pi(『Rapsberry Piをはじめよう』(オライリー・ジャパン刊)から抜粋して、Piとは何か、なんでこんなに騒いでいるのかを解説しよう。)(日本語版編注:以下の訳文は本記事のためのオリジナルです)

–Stett Holbrook(MAKEシニアエディター)

Raspberry Piの話が初めて公表されたとき、みんなが半信半疑だったのは無理もない。35ドルの名刺サイズのコンピューターなんて、世迷い言にしか聞こえないからだ。だから、実際に発売されると、Raspberry Piは大きな騒ぎを引き起こした。

何カ月にもわたって需要が供給を上回る状態が続き、予約リストはどんどん長くなった。価格を別として、ハードウェアに飢えた大勢の人たちを、これほど忍耐強く待たせることができた理由は何か? Raspberry Piのすごさを詳しく説明する前に、それがターゲットとするユーザーのことをお話ししよう。raspberry_pi_logo1

Eben Uptonとケンブリッジ大学の同僚たちは、今のコンピューター科学を専攻する学生たちは、1990年代の学生にくらべてスキルに欠けていると感じていた。その原因はいろいろあるが、なかでも「初期の世代の人々がプログラムを学んだAmigaやBBC MicroやSpectrum ZXやCommodore 64といったマシンに代わって、ホームコンピューターとゲームマシンが普及した」ことだ。コンピューターが家族全員にとって重要なものになってから、みんなの大切なコンピューターを壊してしまってはいけないと、子どもがコンピューターをいじくりまわすことをやめてしまったのだ。しかし最近になって、スマートフォンやタブレットの価格が下がり、同時に性能が高くなると、超安価で実際に使える性能のコンピューターボードの世界にRaspberry Piが飛び込む道筋が開けた。Linuxの創設者、Linus TorvaldsがBBCニュースのインタビューに応えて言っていたように、Raspberry Piは「安く失敗できる」環境をもたらしたのだ。

これで何ができるのか?

Raspberry Piのすごいところは、ひとつには、使い道がひとつではないということがある。ビデオを見たり、ウェブサーフィンをしたり、ハックしたり、研究したり、何かを作ったり。Raspberry Piは、遊びにも、実用的な用途にも、また実験にも使える柔軟なプラットフォームなのだ。Raspberry Piの使い道の例をいくつか紹介しよう。

汎用コンピューティング
覚えておいてほしいのは、Raspberry Piはコンピューターだということだ。なので、コンピューターとして使うことができる。これを立ち上げれば、グラフィカル・デスクトップ環境が開き、ウェブブラウザーが使える。今どきのコンピューターの用途は、これでだいたいカバーできる。ウェブだけではない。LibreOfficeなどのフリーソフトをインストールすれば、インターネットにつなげなくても文書作成や表計算も可能だ。
プログラムの学習
そもそも Raspberry Piは、子どもたちがコンピューターをいじり回せるようにと開発されたものだ。インタープリターとコンパイラーが最初から搭載されていて、いろいろなプログラミング言語に対応している。初心者には、MITが開発したグラフィカルプログラミング言語のScratchがいいだろう。いきなりコーディングをしたければ、Pythonがある。それだけではない。C、Ruby、Java、Perlなどさまざまな言語が使える。
プロジェクト用プラットフォーム
Raspberry Piが普通のコンピューターと違うのは、価格のほかに、電子プロジェクトに内蔵できることがある。では、Raspberry Piを使ってLEDや交流電源で駆動するデバイスのコントロール方法と、ボタンやスイッチの状態を読み取る方法をお教えしよう。

MakerにとってのRaspberry Pi

Makerとして、これを技術系プロジェクトのプラットフォームとして使う場合に、選択肢は大きく広がる。最近では、Arduinoなどのマイクロコントローラー開発ボードが人気だが、それは非常に使いやすいからだ。しかし、Raspberry Piのような“ワンチップのシステム”のプラットフォームは、いろいろな意味で従来型のマイクロコントローラーとは大きく違っている。実際、Raspberry Piは、Arduinoに比べて、パソコンとの共通点がずっと多い。

なにも、Raspberry Piがこれまでのマイクロコントローラーより優れているという話ではない。別物だという話だ。たとえば、単純なサーモスタットを作るときは、Arduino Unoなどのマイクロコントローラーを使ったほうがシンプルにできる。しかし、ウェブを使ってそのサーモスタットの設定を遠隔操作したり、ログファイルをダウンロードしたいと思えば、Raspberry Piのほうが便利だ。

どれを選ぶかはプロジェクトに何が必要かによって決まるが、どちらかでなければならないということもない。Raspberry PiでArduinoにプログラムする方法と、Raspberry PiとArduinoとを通信させる方法を紹介しよう。

本書を読み進めるうちに、Raspberry Piの実力について理解が深まるはずだ。これが、Maker のツールボックスに入れておくべき新たな便利ツールであることも、わかるだろう。

待った、まだある!

Raspberry Piでできることは多すぎて、この本1冊に収めることはできない。そのなかから、いくつかの使用例を紹介しよう。

メディアセンター
Raspberry PiにはHDMIとコンポジットビデオ出力の両方があるので、テレビに簡単につなげられる。処理能力も高いので、高解像度でフル画面のビデオが表示できる。この能力を活かせるよう、無料でオープンなメディアプレイヤー、XBMCがRaspberry Piに移植されている。XBMCは数多くのメディア形式に対応していて、ボタンや文字などの表示が大きくデザインされているので、ソファに座っていても楽に操作できる。XBMCとRaspberry Piを使えば、完全にカスタマイズが可能なホームエンターテインメントセンターが作れるのだ。
“Bare metal” computer hacking
プログラムを書く人なら、たいていはWindows、Mac OS、そして Raspberry Piの場合はLinuxだが、こうしたオペレーティングシステムの上でコードを書いているはずだ。しかし、オペレーティングシステムを介さずに、プロセッサーに直接コードが書けるとしたらどうだろう。やろうと思えば、オリジナルのOSを一から作ることも可能だ。ケンブリッジ大学のコンピューター研究室では、アセンブリ言語を使ってオリジナルのOSを作る方法をウォークスルーで教える無料のオンライン講座を開いている。

Linuxと Raspberry Pi

一般のコンピューターは、Windows、OS X、Linuxといったオペレーティングシステムを走らせている。これはコンピューターを起動したときに同時に起動し、アプリケーションへのアクセスや、コンピューターのハードウェア機能の提供などのサービスを行う。たとえば、インターネットにアクセスするアプリケーションをプログラムを書く場合は、オペレーティングシステムのアクセス機能を利用できる。EthernetやWiFiなどの個別のハードウエアタイプに対していちいちコードを書く必要がない。

そうした一般のコンピューターと同じく、Raspberry Piもオペレーティングシステムを使っていて、その“ストック”OSは、LinuxをカスタマイズしたRaspbianだ。Linuxは無料でオープンソースなので、Raspberry Piには最適だ。プラットフォームを安く作れるうえに、ハックもしやすい。

Raspberry Piで使えるのは Raspbianだけに限定されているわけではない。他のLinuxのティストリビューションも対応している。さらに、Linux系以外のOSにも対応するものがある。しかし本書では、Raspberry PiのページからダウンロードできるRaspbianディストリビューションを使って解説していくことにする。

Linuxをよく知らない人でも心配はいらない。あれこれ行うために必要な基本的な知識は本書で教えていく。

他の人たちは何に使っているのか

エキサイティングな新しい技術を手にしたとき、それを何に使えば良いか悩んでしまうことがある。もしそうでも、Raspberry Piを使った参考になる刺激的なプロジェクトの例は山ほどある。MAKEの編集者である私たちの元へは、素晴らしいRaspberry Pi関連プロジェクトの情報がどんどん入ってくるのだが、なかでも私たちのお気に入りをいくつか紹介しよう。

アーケードゲーム・コーヒーテーブル
Instructablesのユーザー、grahamgeldingが、Raspberry Piを使ったクラシックゲームのエミュレーターを組み込んだコーヒーテーブルの作り方を、ステップ・バイ・ステップで公開している。Raspberry Piでゲームを走らせるために、彼は無料でオープンソースのソフトウェアプロジェクト、MAME(Multiple Arcade Machine Emulator)を使っている。これは、現代のコンピューターに昔のゲームを走らせるためのプログラムだ。テーブルには24インチの液晶パネルが埋め込まれ、それがHDMIでRaspberry Piに接続されている。クラシックなボタンやジョイスティックは、Raspberry PiのGPIOピンに入力として接続されている。
RasPod
インドのティーンエイジャー、Aneesh Dograは、Raspberry Pi財団の2012 Summer Coding Contestに参加した経験を持つ。Raspodは、ウェブでコントロールするRaspberry PiベースのMP3プレイヤーだ。Pythonと、Tornadoと呼ばれるウェブフレームワークで作られている。遠く離れた場所からRaspberry Piにログインできて、音楽の再生、停止、ボリューム調整、選曲、プレイリストの作成ができる。音楽はRaspberry Piのオーディオジャックから出力される。そこにパソコン用のスピーカーやステレオを接続すれば、音楽が楽しめる。
Raspberry Piスーパーコンピューター
標準的なコンピューターをたくさんリンクしてジョブを数多くのプロセッサーに分散させるという形のスーパーコンピューターがたくさんある。イギリスのサウザンプトン大学では、コンピューターエンジニアのグループが、64台のRaspberry Piを接続して非常に安価のスーパーコンピューターを作った。現在のトップクラスのスーパーコンピューターとは比較にならないが、こうしたシステムの原理のデモンストレーションにはなっている。とくに素晴らしいのは、このコンピューターのラックを、チームリーダーの6歳の息子がレゴで作ったということだ。

Raspberry Piで面白いことをしている人がいたら、ぜひMAKE編集部に教えてほしい。editor@makezine.com>

– Stett Holbrook

原文