RaspberryPi(ラズベリーパイ、ラズパイ)はざっくり言うと小さいデスクトップPCです。
数千円で購入できます。
手前がラズパイ3B+、奥はサイズ比較用のRX220ベースボード
サイズが小さく基板むき出しでマイコンっぽい見た目ですが少なくともWinXP頃のパソコンぐらいのスペックがあります。
マイコンと違いモニターやらマウス、キーボードやら挿して使うことができます。
普通のデスクトップPCと違いマイコンの様な汎用IOポートがあります。
マイコンの場合はパソコンでプログラムを作成してマイコンに書き込みますが、
ラズパイの場合はラズパイ上でプログラムを作成して、ラズパイ上でプログラムを実行します。
何ができるのか?
マイコンでできることは大体できます。
・PWM制御等
・UART,I2C等各種通信
・モバイルバッテリーで動きます
※AD変換機能は無いらしい→AD変換が必要な場合は変換IC等を使う
パソコンでできることも大体できます。
・USB機器の接続
・Ethernet、WiFi、BlueToothによる通信
・Webブラウジング(インターネット)等
それなりのスペックがあるので
画像処理ができます。
RaspberryPi+OpenCVを用いた画像処理と画像処理結果に基づいた機械の制御を目的として使い方を解説していきます。
OpenCVのサンプルプログラムで顔検出
機材の準備
必要なもの
・RaspberryPi本体Model3Bまたは3B+(未だ4Bが入手できないため)
・マイクロSDカードOSとOpenCVで12GB程度必要なので16GB以上を推奨
・電源5Vで2.4A以上の給電性能を持つマイクロUSB端子の物
ちょっと古いスマホの充電器等
・モニターHDMI入力があるもの
最初は小型モニターを使わず
普通のパソコン用モニター推奨・マウス、キーボードUSBタイプ
最初は有線タイプを推奨
※Logicool K400 PLUSは専用ドライバや設定無しで初回起動時から動きました
・マイクロSDを編集可能なPCあった方が良いもの
・ネット回線各種機能のインストール時に必要となります
・ケース・放熱板(+冷却ファン)ラズパイ内でOpenCVをmakeするとCPU使用率100%近くの状態が2~3時間続きます。
放熱なしで重い処理を長時間実行すると温度計のマークが出てフリーズするらしいです、
きっちり放熱しましょう。
パソコン周辺機材以外は
秋月電子や
ロボショップ等にて購入できます。
ラズベリーパイのOSについて
普通デスクトップPCを購入した場合はモニタ等周辺機器を繋いで電源を入れれば起動しますが、ラズパイは起動しません。
本体を買っただけだとOSが付いてきません。
OSを入れるためのSDカードすら付いてきません。
これを自分で行う必要があります。
セットアップ済みのSDカードも売っていますが、今回は自分でセットアップします。
ラズパイには色々なOSを入れることができます。
ラズパイ公式のOS「
Raspbian」(ラズビアン)をインストールする事を前提とします。
Raspbianは
Linuxから派生した
Debianから派生したOSです。
根本的なところは
Linuxです。
Raspbianはネットで無料配布されています。
Raspbianにはバージョンがいくつかあります。
参考:FabShop様「
ラズベリーパイ用OS Raspbianのバージョンの調べ方と歴代バージョンについて」
参考:猫屋敷工房様「
Raspberry Piの過去の古いバージョンの Raspbian OSのイメージファイルをダウンロードする方法」
最近のものだと
Raspbian Jessie
Raspbian Stretch
Raspbian Buster
といった感じです
名前が変更されておりXP Win7 Win10みたいに違うように思えますがWindowsみたいに思いっきり変わったりしません。
メジャーバージョンアップの際にトイ・ストーリーの登場人物の名前が付けられて
Raspbian 8.x系→Jessie トイ・ストーリー2のカウガールの人形
Raspbian 9.x系→Stretch トイ・ストーリー3の紫のタコみたいなやつ
Raspbian 10.x系→Buster トイ・ストーリー1の最後に家に来た犬
となっています。
でもって、古いOSを新しいボードに入れると動かないようです。
B+とJessie(Raspbian 8.x)の組み合わせは正常に動かず、虹色画面+雷マークで止まります
(Jessie最終版でも)
電圧不足だったりカーネルのブートに失敗していても同じ画面で止まるらしいのですが、
B+とJessieの組み合わせの場合は電源を確保しても設定を変更してもどうにもなりません。
B+には素直にStretch(Raspbian 9.x)以降をインストールした方が良いでしょう。RaspbianとNOOBSの違い
Raspbianについて調べていると
NOOBSという単語が出てきます。
NOOBSはラズパイにOSをインストールする際に使用可能なOS管理ソフトです。たぶん。
複数のOSをインストールしたい時に役に立ちます。たぶん。
インストール後も起動時にNOOBSでOSの追加インストール等ができます
Raspbianを直接インストールする時とNOOBSを使ってインストールする時では手順が若干違います。
直接インストールはイメージ書き込みソフト(フリーウェアでOK)を使うだけで、特に難しい事はありません。
NOOBSを使う場合はイメージ書き込みソフトを使用しません。
NOOBSでインストールするとラズパイ上で1.4GBのファイルを4Gに展開するので30分ぐらいかかります。
直接インストールはパソコンで4Gのイメージを書き込むので直接インストールの方が圧倒的に早く終わります。
設定項目は直接インストールでもNOOBSでも一緒なので、NOOBSを使うとなにか楽になるわけではありません。
NOOBSにてインストールすると毎回NOOBSの設定が起動してからRaspbianが起動するので起動が遅くなります。インストール完了後に起動時間を比較すると
BとJessie8.0: 30秒程度 ※色々追加インストールしてある状態にて
BとStretch9.8: 25秒程度
B+とStretch9.8: 20秒程度
BとBuster10.0: 30秒程度
B+とBuster10.0: 35秒程度
BとNOOBS3.1.1(Buster10.0):
50秒程度B+とNOOBS3.1.1(Buster10.0):
50秒程度Raspbianのみを使う場合はNOOBSを利用するメリットを全く感じません。
ということで、直接インストールを前提とします。
エディションの違い
さて、
ダウンロードサイトへ行くと
フル版:Raspbian Buster with desktop and recommended software
標準版:Raspbian Buster with desktop
軽量版:Raspbian Buster Lite
の3種類があります
これらの違いはざっくりこんな感じです。
標準版:お試しソフトとかがほとんど入っていないバージョン
画像処理装置等として使用する分にはこれで問題ありません。
ネットブラウザChromiumなど基本的なソフトはインストールされています。
python/python3やらpipやら必要になる機能も最初から使用可能です。
フル版:標準版に比べて付属ソフトが多い
マインクラフトとか
Libreofficeとか
Scratchとか
がインストールされています
※Jessie8.0だとMathematicaがインストールされていた
軽量版:GUI(デスクトップの画面)が無いバージョン
リモートアクセス等の画面不要な場合に使う
Linux初心者がいきなりこれに手を出すのは厳しい気がする
画像処理の開発目的で使うのであればスッキリした標準版が良いと思います。
フル版でも構いません。
使い方に慣れ、開発も完了したらLiteに移植といった感じでしょうか。
古いバージョンを使用する
Buster10.0でも問題ないのですが、試した結果Stretch9.8の起動が早かったのでStretch標準版をインストールしたいと思います。
例によって標準の
ダウンロードサイトでは
最新版しかダウンロードできません。
本家の過去データのページ:https://downloads.raspberrypi.org/raspbian/images/
または
日本のミラー(北陸先端科学技術大学院大学):http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/
からダウンロードできます。上の階層へ行けばフル版もあります。
stretchの最終版は
raspbian-2019-04-09の
2019-04-08-raspbian-stretch.zip
です。
ダウンロードしておきます。
zipファイルを解凍する必要はありません。
続いてOSのインストール等セットアップを行います。