ラズベリーパイ(Raspberry Pi)とは、手のひらに乗るくらいの小さなコンピュータです。
この小型のコンピュータについて、またどのようなことができるかについて解説します。
ラズベリーパイは小型コンピュータ
ラズベリーパイは、英国を拠点とするラズベリーパイ財団によって開発されたシングルボードコンピュータ、つまり一枚の基板上にCPUや必要な入出力インターフェイス類が実装されているコンピュータです。
もともとコンピュータの教育用として開発されたということもあり、小型で安価であることが特長です。
通常のデスクトップPCやノートPCのように、HDDやSSDのようなストレージデバイスは内蔵していません。
その代わりに、1枚のSDカードにOSやアプリをインストールし、それを本体に挿し込んで使用します。
その後は、ユーザーが作成したデータなどもこの1枚のSDカード上に書き込みます。OSやアプリのアップデートもラズベリーパイ上で行うことになります。
メモリはボード上に1GB(DDR2)のものが搭載されていますが、この容量は拡張できません。
性能的な面について見ると、コンピュータ教育用ということもあり、プログラミングの勉強や後述するGPIOを介したデバイスの制御、USBポートを介したUSBデバイスの制御、ネットワークの基本的な勉強、といったことをしてみる分には十分な性能をもっています。
さすがに、通常のデスクトップPCやノートPCでできるようなグラフィックを駆使するゲームや高画質の動画の再生をストレスなく行うことは、執筆時のフラッグシップモデルである Raspberry Pi 3 model B や、同 model B+ でも性能的に限界がありますが、ラズベリーパイの開発目的や価格を考えると当然ともいえます。
ラズベリーパイのOSは有料?無料?
コンピュータを購入するとなると、やはり気になるのはOSが有料かどうかという点ですね。
しかし、この点は心配いりません。OSは Windows ではなく Linux ベースではありますが、無料で入手できます。
ラズベリーパイは Raspbian という公式OSを基本として、他にもいくつかのディストリビューション(配布するためのソフトウェアのまとまり)を無料でサポートしています。
これらを各自がダウンロードし、さらにSDカードにインストールして使用します。
ラズベリーパイの外観
ラズベリーパイの外観を見てみましょう。ここでは、Raspberry Pi 3 model Bを例にあげます。ラズベリーパイのモデルによって、外観やサポートするインターフェイスが異なりますのでご注意ください。
写真1が基板の上から撮った写真です。
基板本体の大きさは約86(W) x 57(D) x 17(H) mm、重さは約45g。
インターフェイスとしては、以下のものをサポートしています。
- USB2.0 x 4 (type A)
- 有線LAN (RJ-45, 10BASE-T/100BASE-TX)
- 無線LAN (IEEE 802.11b/g/n)
- Bluetooth (4.1(BLE))
- HDMI (HDMI1.3/1.4, type A)
- microSDカードスロット
- GPIOピン (40pin)
- 3.5mmジャック(オーディオ/コンポジットビデオ出力)
- カメラインターフェイス (CSI-2, 15pin))
- ディスプレイインターフェイス (DSI 15pin)
- 電源端子 (microUSBソケット, +5V@2.5 A)
これらの詳細は別の記事で紹介していきます。ここでは外観の写真のみ載せます。
写真1を再掲します。
上部の40本のピンがGPIO端子ですね。
この面には基板左の端にディスプレイインターフェイスの端子、下部中央にカメラインターフェイス端子があります。小さく白い刻印が見えると思います。
このカメラインターフェイス端子は、Raspberry Pi 専用のカメラモジュール用です。
無線LAN/Bluetooth モジュールも基板上に実装されています。
写真2は基板をケースに収めたところです。
ケースに収めると、私の手元にあるケースでは大きさが約89(W) x 60(D) x 28(H)mmでした。
ここでは透明のケースに入れました。ラズベリーパイは基板上に2つのLEDが実装されているのですが、それがよく見えます。shutdown するときに、このLEDの点灯の様子を見ることがあります。
ミニPCとして使用するならば、ケースは必須です。基板のまま使用すると、はんだ付けされているところに金属片が触れたときなどにショートしてしまうことがあり、危険です。
写真3はUSBポートと有線LANポートの面です。
USBポートは4つ(USB2.0, Type A)、有線LANポートは1つ実装されています。
写真4はHDMIポートがついた面です。
左から、電源供給用のmicroUSBソケット、HDMIポート(Type A)、3.5mmジャック(オーディオ/コンポジットビデオ出力)が並んでいます。
写真5は基板の裏面です。
SDカードスロットが見えます。ここにmicro SDカードを差し込みます。
スポンサーリンク
ラズベリーパイでできること
ラズベリーパイでできることは、たくさんあると思います。
アイデア次第でいろいろなことができるでしょう。
ミニPCとして使う
前述のように、ミニPCとして使用するだけの性能は十分にあります。
OSがLinuxベースということもあって、Windows ほど簡単に使用できるというわけでもありませんが、今ではインターネットや書籍で情報がたくさん公開されているので、少し勉強すればすぐに使えるようになると思います。
比較的安価に手に入るので、試してみる価値はあります。
プログラミングの学習をする
プログラミングを学習するための入門機としても活用できます。
ここはLinuxベースのOSということもあって、OSインストール時点で使用可能な状態になっているプログラム言語もありますし、そうでない場合もインストールは簡単に行えるようになっています。
普段、WindowsのGUIに慣れている方には、エディタでプログラムのソースコードを編集したり、プログラム言語によってはコンパイルをコマンドで実行したりという作業に戸惑うこともあると思いますが、これもプログラミングの基本としてとらえればよいでしょう。
もちろん、プログラミング言語によっては統合開発環境が用意されている場合もあります。
USBデバイスを制御する
USBポートにいろいろなUSBデバイスを接続し、これをプログラミングにより制御することも比較的簡単にできます。
USBカメラやUSBマイク、学習リモコンなどを接続し、早速プログラミングの練習として動かしてみましょう。
USBデバイスを動かすには、ドライバやアプリケーションプログラムが必要になり、いきなりそのプログラミングをするのはさすがに困難ですが、すでに開発されていてインターネット上に公開されていることがあります。
最初はそれを活用して動かし、やってみたいことに応用してみるところから始めるのがよいです。
プログラミングの腕が上がってきたら、ドライバやアプリケーションプログラムの開発を行えるところまで進めるかもしれませんね。
GPIOでモノを制御する
GPIOとは、General-Purpose Input/Output”の略であり、日本語では”汎用入出力”と呼ばれています。
一般的なGPIOの説明はさておき、ラズベリーパイでは、基板上に実装されている40本のピンのことを指していると考えてください。(CPUが載せられているSoCのGPIO端子に接続されています。)
ここにある40本のすべてのピンが同じ機能を持っているわけではないのですが、大雑把にいうと、「何番のピンの出力電圧を3.3Vにする」という設定をするとか、「何番のピンの入力電圧は0Vか3.3Vか」という読み取りをする、といったことがプログラム上で比較的簡単にできます。
電子工作に興味がある方なら、1つのピンから取り出せる電流値や、プルアップ抵抗の有無などが気になると思いますが、これらはお使いのラズベリーパイの仕様を確認する必要があります。
また、I2CやSPI,UARTといったシリアル通信を行う端子もこの40ピンの中に含まれています。
まとめ
- ラズベリーパイは小型コンピュータである。
- ラズベリーパイはプログラミングの学習をするための入門機としても十分活用できる。
- USBポートやGPIOを介して、いろいろなデバイスをプログラムで制御することができる。