格安でAIやIoT開発ができるボードRaspberryPi(ラズベリーパイ)を入手してみた!

AI

格安でAIやIoT開発ができるボードRaspberryPi(ラズベリーパイ)を入手してみた!

みなさん、こんにちは。
中村忍です。

今回の記事では、Raspberry Pi(ラズベリーパイ)について紹介します。
ここでは、ラズベリーパイとはどんなものかということや、実際にOS(オペレーティングシステム)をインストールした内容についてお話していきます。


ラズベリーパイとは?

みなさんはラズベリーパイをご存知でしょうか。甘い食べ物?お菓子?そう思った方もいるかと思います。筆者も最初、そう思いました。ソフトウェアの開発で駆使した頭に糖分を与えてくれるのかとも。
ラズベリーパイは、2012年にイギリスの「Raspberry Pi Foundation」によって開発された、クレジットカードサイズほどの大きさのコンピュータです。元々は、イギリスで子供向けのコンピュータ教材としてリリースされました。しかし、子供向けと考えるにはその性能は凄まじく、かつ、35ドル(=日本円で5000円弱程度)と安価な値段で入手できるため、近年ではIoT向けに注目されています。

ラズベリーパイは累計1,100万台(2016年11月25日時点)出荷されており、2018年6月時点ではバージョン3までリリースされています。また、同型で日本製のバージョンもリリースされています。
では、ラズベリーパイのバージョン3の主な性能を見てみましょう。

1. CPU
 Cortex-A53(ARMv8、4コア 1.2GHz、64bit、L1キャッシュ=32kB、L2キャッシュ 
 =512kB)
2.GPU
 デュアルコア VideoCore IV® 400MHz(3D 300MHz)
 OpenGL ES 2.0対応
 ハードウェアOpenVG対応
 1080p 30fps
 H.264 high-profileデコード
 1Gピクセル/秒、1.5Gテクセル/秒、または24G FLOPの性能を持つ
3.メモリ
 1GB DDR2 450MHz 低電圧 SDRAM (ELPIDA B8132B4PB-8D-F)
 ※GPUと共用
4.電源
 Micro USB Bソケット 5V2.5A/ 2.54mm ピンヘッダ
5.最大消費電力
 約12.5W
6.サイズ
 85 × 56 × 17mm
7.サポートOS
 Raspbian (Debianベース)、Ubuntu MATE、Snappy Ubuntu Core、OpenELEC、OSMC、 Arch Linux、PiNet、RISC OS、Windows 10 IoT Core
8.イーサネット(有線LAN)
 10/100 Base-T RJ45 ソケット(SMSC LAN9514)
9.Wi-Fi(無線LAN)
 IEEE 802.11 b/g/n 2.4GHz(Broadcom BCM43438 SDIO)
10.Bluetooth
 Bluetooth 4.1、Bluetooth Low Energy(Broadcom BCM43143)
11.ビデオ出力
 HDMI(rev. 1.3、1.4)、コンポジット 3.5mm 4極ジャック(PAL、NTSC)、DSI
12.オーディオ出力
 3.5mm 4極ジャック、HDMI(ビデオ出力と共有)、I2Sピンヘッダ
13.USB
 USB 2.0 × 4(SMSC LAN9514)
14.GPIOコネクター
 40ピン 2.54mm ピンヘッダ(GPIO×26 3.3V 16mA、UART、I2C、SPI、I2S、PWM、5V(使用電源に依存)、3.3V 50mA(GPIOとの総和))
15.メモリースロット
 microSDメモリーカード(SDIO)

実際のラズベリーパイ3の写真はこのようになります。

以上から見てわかると思いますが、ひと昔前のパソコンやゲーム機並みの性能はあります。
演算の核となるCPUは、2012年にパソコンなどで利用されている「ARMアーキテクチャ」で、コア数も4と、並列処理もできます。
画像処理の核となるGPUは、24GFLOPS(=1秒間に20ギガの浮動小数点演算を行える)の演算能力と1GBのメモリを持ちます。FLOPSに関してはプレイステーション2の約4倍、プレイステーション3の1/8程の性能があります(プレイステーション3の56基あるシェーダユニットの1基分が4GFLOPSなので、約6基分に相当します)。メモリに関してはプレイステーション3の4倍、Xbox360の2倍ほどあります。
また、これらゲーム機は、「メモリバンド幅」という、GPUの処理結果を転送するための余分な時間がかかり、ボトルネックになることが多いのですが、ラズベリーパイはチップセット内蔵のため(CPUとGPUが同じチップ内にある)、オーバーヘッドが比較的少ないのも特徴です。
さらに、ラズベリーパイの描画機能には2007年に出た「OpenGL ES 2.0」が使われています。
これらを考慮すると、FLOPSを除けば、プレイステーション3やXbox360よりも高性能のスペックがあります。

他にも、「映像出力端子がHDMIである」、「有線/無線LAN機能を持つ」、「USB端子が4つもある」など、子供用として扱うには十分すぎる性能を持つのが、このラズベリーパイなのです。
これだけの性能をもちながらも、消費電力も12.5Wと、スマートフォンやタブレット、小さい消費電力の蛍光灯と同じくらいであり、パソコンと比べたら環境にも優しいです。

OSは、基本Linuxベースとなり、ラズベリーパイ専用の「Raspbian」というDebian(デビアン)ベースのも存在しますが、IoT用のWindows10もインストールできるという特徴もあります。
ハードディスクはついていませんが、代わりにmicroSDカードスロットがついており、OSをインストールしたmicroSDカードから起動する仕組みとなっています。
※microSDカードは、最低でも8GBのものが必要になります。

ラズベリーパイ3をセットアップしてみよう!

ラズベリーパイ3を入手したら、セットアップをしてみましょう。
今回は、ラズベリーパイ専用のOSであるRaspbianを例にとります。

まずは、こちらのラズベリーパイの公式ホームページより、Raspbian OSをダウンロードしてきます。
RASPBIAN、NOOBSの2種類ありますが、NOOBSの方を選びます。両者の違いは、インストーラーがあるかないかの違いで、NOOBSはインストーラー形式のものです(中身に違いはありません)。また、NOOBSも「NOOBS」と「NOOBS Lite」の2種類ありますが、後者はネットワークインストーラーなため、前者を選びます。
また、ダウンロードした圧縮ファイル「NOOBS_v2_8_1.zip」を解凍します。ファイルサイズは1.7GBとなります。

次に、microSDカードをフォーマットします。念のため、クイックフォーマットではなくフルフォーマットします。以下に、Windowsの場合のフォーマット例をのせておきます。

フォーマットしたら、解凍したファイルをmicroSDカードに保存します。
保存したら、microSDカードをラズベリーパイ3のmicroSDスロットに差します。
他、HDMI端子とモニターを接続、USBキーボードとUSBマウスをUSB端子に接続したら、microUSBポートを電源とつなぐと起動します。

起動すると、OSのセットアップ画面となります。
最初の画面で、以下のように選択すると、インストールが始まります。
– 言語を日本語にする
– Raspbian [RECOMMENDED] にチェックする
– インストールをクリックする
インストールは30分ぐらいかかりますので、コーヒーでも飲みながら気軽に待ちましょう。
インストールが完了すると再起動します。Linuxユーザーにはおなじみの画面が出てきます。

今回は以上になります。
Raspbian OSには、「Python」が入っていますので、USBポートなどに市販のカメラを接続すれば、AIによる機械学習も可能になります。
また、GPIOがあるため、電子工作ができる方はジャンクショップで様々なデバイスを購入して接続すれば、オリジナルのコンピュータやIoT装置化ができるでしょう。
筆者も、IoTなど何かしらチャレンジしますので、次回はその内容を書いていきます。


参考