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

Digi-Key's North American Editorsの提供

Raspberry Piは大衆の手にPCの力を与えた革命の中心にあり、幅広いエコシステムをサポートする使いやすいプラットフォームを提供しています。プラットフォームとして直観的で使いやすく、エンジニアと初心者の両方が、すでにPiを使用している人からいくつかのヒントを得ることができます。

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

これらのクイックヒントを迅速にスキャンすることで、Raspberry Piとの最初の出会い、そして一般的なシングルボードコンピューティングプラットフォームのパワーを楽しいものとする長い道のりが始まります。

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

Raspberry Piの背後にある価格、性能と、サポートコミュニティは、考えられるすべてのタスクにそれを使用しないことを本当に難しくしています。これは本質的にパーソナルコンピュータです。たとえば、Raspberry Pi FoundationRaspberry Pi 3モデルBを例にとるとします。これは、1.2GHzまで動作するARM® Cortex®-A53をベースにしています。これは、1ギガバイトのRAM、802.11nワイヤレスLAN、Bluetooth 4.1とBluetooth low energy、4つのUSBポート、40のGPIOピン、フルHDMIポート、Ethernet、3.5mmのオーディオジャック、カメラとディスプレイインターフェイスでサポートされています。

Raspberry Pi 3モデルBの画像

図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は、マウス、キーボード、SDカード(クラス10、Apacer Memory AmericaAP8GMCSH10U1-Bなどの少なくとも8ギガバイト)、そしてモニタなどの従来の周辺機器すべてを必要とします。

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

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

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

ユーザーは、マウス、キーボード、モニタがPiにSSHするのを意図しているか、それともタッチスクリーンで使用されているのかを知る必要はありません(ヒント#9を参照)。

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

CnC Techの741-20010-00300 HDMI 19ピン〜DVI-D 19ピンオスアダプタの画像

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

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

3:適切な電源を取得

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

大電流電源の多くはオスバレル出力コネクタを備えています。5 Vのセンターがプラスの5.5 x 2.1 mmバレル電源を備えたAdafruitの2727ジャック〜マイクロUSB Aプラグケーブルアダプタを使用して、Raspberry Pi 3に適合させます(図3)。

Adafruitの2727ジャック〜マイクロUSB Aケーブルアダプタの画像

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

Raspberry Piは、そのすべての電流を必要としません。目的は、十分なオーバーヘッドを持つ電源を使用して、他の電子機器およびアクセサリがボードに接続されているときに入力電圧が垂下しないようにすることです。これを念頭に置いて、ここで一般的な電力要件を見てみましょう。

モデルに応じて、Raspberry Piはアイドルモードで約100mA〜300mAを消費し、Piの一連の動作のそれぞれで、電流が多く流れます(図4)。アプリケーションが超低消費電力を要求する場合は、それをRaspberry Pi選択プロセスで考慮します。

Pi1(B+) Pi2 B Pi3 B(アンペア) Zero(アンペア)
ブート 最大 0.26 0.40 0.75 0.20
平均 0.22 0.22 0.35 0.15
アイドル 平均 0.20 0.22 0.30 0.10
ビデオ再生(H.264) 最大 0.30 0.36 0.55 0.23
平均 0.22 0.28 0.33 0.16
ストレス 最大 0.35 0.82 1.34 0.35
平均 0.32 0.75 0.85 0.23

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

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

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

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

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

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

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

たとえば、Raspberry Piには、データ収集用のオンボードアナログ〜デジタルコンバータ(ADC)はありませんが、いくつかのコンバータソリューションがあります。1つの良い解決策は、Seeed Technologyの専用の103990060 ADCとデジタル〜アナログコンバータ(DAC)ボード(図5)です。

Seeed Technologyの103990060 Raspberry Pi拡張ボードの画像

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

RasPiにADC入力を装備するもう1つの方法は、Adafruitの3.3ボルトTrinketのような小さなArduinoボードにジョブをオフロードすることです。

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

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

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

6:Wi-Fiドングル

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

Adafruitの814 USBアダプタの画像

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

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

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

SparkFunのBOB-12009の画像

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

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

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

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

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

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

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

9:画面サイズ

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

Raspberry Pi Foundationの8997466 LCDの画像

図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ピンにはマークが付きません。混乱を避けるため、このようなGPIOリファレンスをSeeedから入手してください。

Raspberry PiのGPIOピンリファレンスの画像

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

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

Raspberry Pi 3のオンボード、自己リセットヒューズの画像

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

開発用にRaspberry Piを使用している場合は、すべてのファイルをバックアップします。SDカードのイメージが破損し、データが回復不能になる可能性があります。ファイルリポジトリとしてApacerAPHA016G2BACG-DTM 16ギガバイトUSBドライブなどのUSBジャンプドライブを使用して、リスクを完全に回避します。

Apacer Memory America USBドライブの画像

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

結論

Raspberry Piは有名なほど強力で、使いやすく、サポートも充実しています。これは、プロフェッショナルなアプリケーションや楽しいプロジェクトを構築するための優れた基盤です。バックグラウンドとスキルのレベルにかかわらず、これらのヒントは学習の時間を短縮し、市場投入までの時間を加速し、プロセス全体をより生産的にすることでしょう。

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

出版者について

Digi-Key's North American Editors