マルツTOP > APPLICATION LAB TOPページ おすすめ技術記事アーカイブス > Raspberry Piプロジェクトを開始する前に知っておくべき10の事柄

Raspberry Piプロジェクトを開始する前に知っておくべき10の事柄

Digi-Key's North American Editorsの提供
2017-02-22
マルツ掲載日:2018-09-24

Raspberry Piは、広範なエコシステムをサポートする使いやすいプラットフォームを提供することで、多くの人々にPCの力をもたらすという革命の中心にあります。プラットフォームとして直観的で使いやすいので、熟練したエンジニアでも初心者でも、すでにRaspberry Piを利用している人から多くのヒントを得ることができます。

ここで述べる「10の知るべき事柄」は、オンラインコミュニティが継続的にサポートするような包括的な内容を意図していません。苦労した経験から手に入れたもので、どこかのガイドブックやチュートリアルでは見つからないような貴重なものです。具体的には、SDカードの選び方とフォーマット、Raspberry Piの電源の選び方、適切なWi-Fiドングルの選び方、プログラミングのヒント、システムがフリーズしたときの対応、正しく電源を入れてボードを破損させない方法、などについてのアドバイスやヒントが含まれています。

これらのチップスに目を通しておけば、Raspberry Piと最初に出会って、一般的なシングルボードコンピューティングプラットフォームのパワーが楽しいものとなる長い道のりが始まるでしょう。

1:Raspberry Piはいつどこで使用するのか

Raspberry Piの価格やパフォーマンス、サポートコミュニティのことを考慮すると、あらゆる仕事において使わないということは考えられません。これは本質的にパーソナルコンピュータです。たとえば、Raspberry Pi FoundationのRaspberry Pi 3モデルBを例にとると、1.2GHzまで動作するARM Cortex-A53をベースとし、1GBのRAM、IEEE802.11n無線LAN、Bluetooth4.1とBluetooth low energy、4つのUSBポート、40ピンのGPIO、フルHDMIポート、Ethernet、3.5mmオーディオジャック、カメラとディスプレイインターフェースをサポートしています。


図1:Raspberry Pi FoundationのRaspberry Pi 3モデルBは、最大1.2 GHzで動作するARM Cortex-A53をベースにし、1ギガバイトのメモリと802.11nワイヤレスLAN接続を備えています。(画像提供:Raspberry Pi Foundation)

温度センサを読み取ってモータとピストンの機械的なシステムを制御するようなことから、本格的なPCとしての利用に至るまで、ほぼすべてのことを行うことができますが、ビデオ操作、ロボット工学、リモート3Dプリンタ制御などは興味深く面白いプロジェクトです。

2:Raspberry Piを起動して実行させるには

Raspberry Piは、ベアメタル上のコードではなく、オペレーティングシステムを実行させることを意図しています。最も一般的なOSはRaspbian(RaspberryとDebianからの造語)と呼ばれる専用のLinuxの一種です。初心者はまずRaspbianから始めますが、Raspberry Piは他のオペレーティングシステムも実行させることができます。

Raspberry Piをスタンドアロンのコンピュータとして使用する場合は、マウス、キーボード、SDカード(クラス10、Apacer Memory AmericaのAP8GMCSH10U1-Bなど、少なくとも8GB)、そしてモニタなどの従来の周辺機器がすべて必要です。

最初に、SDカードに別のコンピュータからRaspbianのイメージファイルを転送するために外部のSDカードリーダーが必要です。イメージファイルがSDカードにコピーされると、すべてがRaspberry Piから実行できます。SDカードリーダーのお薦めとしては、ほぼすべての一般的なメモリカードフォーマットに対応しているAssmann WSW ComponentsのDA-70310-2 USB 2.0リーダーがあります。

SDカードをフォーマットするには、Raspberry PiのWebページのリンクをクリックして、SD AssociationのSDカードフォーマッタソフトウェアを入手してください。NOOBSをSDカードにインストールする際には、実証済みのソフトウェアを使用して成功を確実にしてください。あるいは、Raspberry Pi NOOBS 16GBカードなどの、NOOBSがプリインストールされたSDカードを購入してください。

Adafruitの1738などのワイヤレスキーボードとマウスを選択すると、USBポートが解放され、ケーブルの絡まりも防止できます。また、Tripp Liteの4ポートU22-004-RAなどのUSB 2.0ハブを使用することもできます。4ポート電源ハブは、Raspberry Piの電源負荷を低下させるので、正にお薦めです。

ユーザーがRaspberry PiをSSHで操作したり、タッチスクリーンを使用するのなら、マウスやキーボード、モニタは必要ありません(ヒント9を参照)。

また、モニタにHDMI入力がなければ、Raspberry PiのHDMIポートからそのモニタの入力にアダプタを接続する必要があります。たとえば、HDMIからDVI-Dを備えたモニタに接続するには、CnC Techの741-20010-00300を使用します(図2)。


図2:CnC Techの741-20010-00300 HDMI 19ピン〜DVI-D 19ピンオスアダプタなどのアダプタが、Raspberry PiのHDMI出力をモニタに接続するために必要な場合があります。(画像提供:CnC Tech)

後で、Raspberry Piをシステムやプロジェクトに組み込む際には、これらの周辺機器は別に用意される可能性もあります。

3:適切な電源を入手しよう

SDカードの破損やRaspberry Piのフリーズ、その他の散発的な電力関連の問題を防ぐために必要な電力の余裕はないので、コンピュータのUSBポートからはRaspberry Piに電力を供給しないでください。通常は2Aの電源で十分ですが、Raspberry Pi 3には2.5Aの電源を推奨します。

高電流の電源の多くはバレル出力コネクタのプラグを備えているので、Adafruitの2727ケーブルアダプタ(ジャック-microUSB Aプラグ)を使用して、5V/センタープラスで5.5×2.1mmのDC電源を使用して、Raspberry Pi 3(図3)に接続します。


図3:推奨の2.5AをRaspberry Piに供給するには、Adafruitの2727ジャック〜マイクロUSB Aケーブルアダプタと5Vのセンターがプラスの5.5 x 2.1mmバレル電源を組み合わせます。(画像提供:Adafruit)

Raspberry Piは、電源のもつすべての電流が必要というわけではありません。目的は、余裕のある電源を使用して、他の電子機器やアクセサリがボードに接続されても入力電圧が垂下しないようにすることです。これを念頭に置いて、ここで一般的な消費電力の要件を見てみましょう。

モデルによりますが、Raspberry Piはアイドルモードで約100mA~300mAを消費し、連続した動作のそれぞれにおいて、より多くの電流が流れます(図4)。アプリケーションが超低消費電力を要求する場合は、Raspberry Piを選択する過程でこのことを考慮してください。


図4:いくつかの一般的なRaspberry Piモデル間の電流の比較。(画像提供:Raspberry Pi Foundation)

Raspberry Piがモバイルに移行している場合は、ほとんどのUSBポータブル電源バンクは、内部回路の設定のためにオンになるのに十分な電流が流れないことに注意してください。すでにRaspberry Piで動作することが確認されているAdafruitのバッテリパック1565(4000mAhモデル)または1566(10,000mAhモデル)を入手するとよいでしょう。

4:インラインのオン/オフボタン付きUSBケーブルを入手または作成しよう

Raspberry Piには、リセットボタンやオンボードの電源スイッチが付属していません。ボードがフリーズしてリセットする必要があるたびにUSBケーブルを抜き差ししないようにするには、Adafruitの2379などのインラインのオン/オフボタン付きのUSBケーブルを入手してください。その理由は、実験と学習の結果です。初心者の学習曲線が上昇するにつれて、システムがロックアップすることは避けられません。コードやコネクタではなく、ボタンを押して対処する方がはるかに簡単で、苛立ちを減らし、不必要なUSBコネクタの摩耗を減らすことができます。

ただし注意が必要です。通常の状況では、オン/オフボタンを使用してRaspberry Piをオフにすることを既定にしないでください。電源を単に切るだけでSDカードが破損する可能性があるので、必ず適切なシャットダウン手順に従ってください(「オン/オフスイッチがどこにあるか」を参照)。

5:成功への鍵はRaspberry Piのアクセサリボード

Raspberry Piはパワフルなシングルボードコンピュータですが、シングルボードコンピュータはすべての機能を持っていません。幸運なことに、Raspberry Piの機能を強化するために、容易に入手できるアクセサリボードが豊富にあります。

たとえば、Raspberry Piにはデータ収集用のA/Dコンバータはありませんが、いくつかのコンバータソリューションがあります。優れたソリューションの一つは、Seeedが専用に設計した103990060 A/DコンバータとD/Aコンバータボード(図5)があります。


図5:Seeed Technologyの103990060 Raspberry Pi拡張ボードは、Raspberry Piに8ビットADCとDAC機能を提供します。(画像提供:Seeed Technology)

Raspberry PiにADC入力を装備させるもう一つの方法は、Adafruitの3.3Vで動作するTrinketのような小さなArduinoボードに仕事を分担させることです。

これを行うには、まず「Arduinoプロジェクトを開始する前に知っておくべき10の事柄」を読んで、アナログデータ収集を行う簡単なスケッチでボードをプログラムしてください。データは、シリアル接続を介してRaspberry Piに送られます。

もっと直接的には、SeeedのAlaModeやDFRobotのDFR0327拡張シールドなどのように、Raspberry Piで動作するようにカスタム化されたArduinoボードもあります。

リアルタイムで実行させる必要があるタスクはRaspianではできないので、必然的にアクセサリボードが必要になります。Raspbian/LinuxはCPU時間を分割し、必要に応じてアプリケーションやPythonコード、およびRaspbian自体に割り当てます。このようにリソースがシャッフルされて予測が不可能になるため、リアルタイム実行ができなくなります。

6:Wi-Fiドングルについて

更新プログラムやアプリケーションをRaspberry Piにインストールする最も簡単な方法は、Raspberry Pi 3に組み込まれていて便利なWi-Fi(802.11n)を経由してインターネットに接続することです。ただし、他のバージョンのRaspberry PiにはWi-Fiが搭載されていないため、Wi-Fiドングルを購入する必要があります。その場合には、必要な調査を行って、Wi-FiドングルがRaspbian OSによって認識されることを確認してください。Raspberry Pi用のよく知られたドングルは、Adafruitの小型814(802.11/b/g/n)モジュールです(図6)。


図6:手持ちのRaspberry PiボードにWi-Fiが内蔵されていない場合は、調査を行い、Raspbianで動作することが知られているAdafruitの814 USBアダプタのようなドングルを見つけます。(画像提供:Adafruit)

7:出力ロジックレベルとドライブ能力に注意しよう

Raspberry Piは、3.3Vのロジックレベルで動作します。これはしばしば見過ごされる些細なことですが、重要なことです。3.3Vのロジックレベルのために、5Vのロジックレベルで動作する多くのデバイスやアクセサリがRaspberry Piでは動作しない可能性があります。また、各ピンの駆動電流は16mAで、総電流は約50mAを超えてはいけません。この問題は、SparkFunのBOB-12009双方向コンバータのようなロジックレベルコンバータで簡単に解決できます。


図7:SparkFunのBOB-12009は、5V信号をRaspberry Piに必要な3.3Vに変換します。(画像提供:SparkFun)

8:プログラミング言語はPython

Pythonは、Raspbianのデフォルトのプログラミング言語です。実際、Raspbianのイメージファイルには、Python開発環境のIDLE(統合開発および学習環境)がプリロードされています。Pythonを使って作業することは、ほとんどのRaspberry Piプロジェクトにとって不可欠になります。

Raspbianには、Python 2を実行させるためのIDLE 2を使用するか、Python 3を実行させるためのIDLE 3を使用するかの選択肢があります。初めてならIDLE 3/Python 3で作業するようにし、最新のドキュメントを入手してください。

なお、Python 2とPython 3のコードは、直接交換できないことに注意してください。Python 2のコードがすでにたくさんあるので、Python 3からそれに戻りたいと思うかもしれませんが、構文と命名規則にいくつかの違いがあり、2つのバージョンは直接互換性がありません。ただし、変更することに決定した場合は、コードを調べてPython 2のコードをPython 3に変換したり、逆に変換するのに必要な変更を加えることができます。

Pythonプログラム用にパーソナライズされたGUIを構築する最も早い方法は、TkInterと呼ばれる一連のツールを使用することです。TkInterは、すでにRaspbianにバンドルされています。TkInterに関しては、オンライン上に短いチュートリアルがたくさんあり、ユーザーは簡単に始めることができます。

一般的に、プログラミングが初めての方は、プロジェクトを基本的なビルディングブロックに分割することをお勧めします。たとえば、LCDへの出力、SPIに接続されたセンサからの読み込みや、3つのボタンからユーザー入力を取得することを含むプロジェクトを実行するとします。各タスクで別々のコードを書きます。一度にすべてを書くとエラーが発生し、デバッグが困難になることがあります。

9:画面サイズについて

プログラミングするときは読みにくいので、Raspberry Piの上に乗る小さな3インチディスプレイではなく大きなディスプレイを使用してください。小型のディスプレイはプロジェクトの最終的なカスタムインターフェースには適していますが、プログラミングの際にはRaspberry Pi Foundationの8997466 LCDのようなフルサイズのモニタや7インチのタッチスクリーンディスプレイ(図8)の方がよいでしょう。どのようなRaspberry Piが使用されているかによりますが、このディスプレイはDSIコネクタから自動検出されないことがあります。Raspberry Piのタイプにより画面を手動で有効にする必要がある場合は、Githubにこの手順が文書化されています。


図8:読みにくいので、小さな3インチディスプレイを使用しないようにします。代わりに、Raspberry Pi Foundationのフルサイズモニタまたは7インチの8997466 LCDを選択します。(画像提供:Raspberry Pi Foundation)

つまり、フルサイズのモニタが望ましいと言えます。また、DSIまたはHDMIポートに接続するディスプレイは、汎用I/Oポートを介して制御されるディスプレイよりもはるかに高速になります。

10:クイックヒントと対処法

・32GB以上のSDカードを入手することは魅力的です。その場合、カードをFAT32ファイルシステムとしてフォーマットしてください。Raspberry Piは、FAT32フォーマットのみ読み取ることができます。
・SDカードがRaspberry Piと互換性があることが証明されていることを確認してください。
・コマンドラインで動かない場合は、コマンド "sudo start x"を実行してGUIを起動してください。
・Raspberry PiのGPIOピンには信号名が書かれていません。混乱を避けるため、図9のようなGPIOリファレンスをSeeedから入手してください。



図9:Raspberry PiのGPIOピンを簡単なリファレンスで識別します。(画像提供:Seeed Technology)

・GPIOピンを介してRaspberry Piに電力を供給しないでください。これは可能ですが、オンボードのヒューズをバイパスすることになります。ヒューズは自己復帰式であり、必要に応じて交換することができます。電源がGPIO経由でルーティングされ、何かがポップすると、おそらくRaspberry Piを破壊してしまいます。


図10:ユーザーがGPIOを介して電源を供給することを選択すると、Raspberry Pi 3搭載の自己復帰型ヒューズ(赤い矢印)がバイパスされます。これにより、ボードが危険にさらされます。(画像提供:Digi-Key Electronics)

開発用にRaspberry Piを使用している場合は、すべてのファイルをバックアップしましょう。ある時点でSDカードのイメージが破損し、データが回復不能になる可能性があります。ファイル収納用としてApacerのAPHA016G2BACG-DTM(16GBのUSBドライブ)などのUSBジャンプドライブを使用して、リスクを回避してください。


図11:USBドライブにファイルを保存すると、Raspberry Piのファイルシステムが破損した場合に保護できます。(画像提供:Apacer Memory America)

結論

Raspberry Piはすばらしく強力で、使いやすく、サポートも充実しているので、プロ用のアプリケーションや楽しいプロジェクトを構築するための優れた基盤になります。経験や技術レベルに関係なく、ここで紹介したチップスは学習時間を短縮し、市場投入までの時間を加速し、プロセス全体をより生産的にすることでしょう。

 

このページのコンテンツはDigi-Key社より提供されています。
英文でのオリジナルのコンテンツはDigi-Keyサイトでご確認いただけます。
   


Digi-Key社全製品 1個からマルツで購入できます

マルツ経由なら送料全国一律240円〜450円
3,000円以上のお買い上げで送料無料
学校・法人のお客様、校費支払い、請求書後払い承ります

※製品カテゴリー総一覧はこちら



定期購入・量産をご検討のODM、OEM、EMSのお客様へ【価格交渉OK】

毎月一定額をご購入されるお客様、量産部品として検討されるお客様に向けては、マルツ特別価格にてDigi-Key社製品を供給します。
条件に応じてマルツオンライン表示価格よりもお安い価格をご提示できる場合がございます。
是非一度、マルツに見積もりをご用命くださいませ。


ページトップへ