デスクトップ以外の Raspberry Pi の用途

記事
IT・テクノロジー

デスクトップ以外の Raspberry Pi の用途

Raspberry Pi に通常利用している OS をインストールして、デスクトップ PC のような利用方法を紹介してきました。デスクトップ用途以外ではどんな使い方があるかを簡単にまとめてみました。


身の回りにはコンピュータが沢山あります!
はじめに、Raspberry Pi を PC 代わりに使う用途を考える前に、身の回りにあるコンピュータを考えてみてください!

かなり多くの家電製品には、コンピュータが搭載されています。 テレビをはじめとして、電子レンジ、炊飯器、車など殆どの機器にコンピュータが組み込まれています。 こうしたコンピュータを「組み込み型(embedded)」と呼んでいます。

こうした、組み込み型のコンピュータに必要なアプリを載せて必要な機能を実現しています。 こうしたソフトウエアの開発も沢山あって、組み込み型ソフトウエアのエンジニアは色々な会社から求められています。

駅や空港のチケットの販売やチェックインの機器も、コンピュータが使われていて、中には Windows が動作している PC とほぼ同じハードウエアを使ってこうした端末を実現しているものもあります。

Raspberry Pi は組み込み型のコンピュータとしても使える!
Raspberry Pi は、デスクトップ用途以外に、こうした組み込み型のコンピュータとして利用することも想定されています。 というか、元々のコンセプトは、こうした組み込み用途の汎用コンピュータとして開発されたと言えます。

組み込み用途に利用する場合は、実際の PC のような使い方をする以外にも必要な機能があります。

例えば、温度を測るセンサを接続したり、位置情報を取得するために GPS のモジュールを接続したりなど、通常の PC の利用方法では余り必要のないインターフェースも必要になってきます。最近は、USB を利用するとかなり広範囲の機能をカバーできますが、LED などをつけたりするような用途に USB を利用するのは少し大袈裟です。

こうした、要求も満たせるように Rasberry Pi は設計されています。

Raspberry Pi の基盤上には、「ヘッダー」と呼ばれるピンの接続が可能なコネクタが実装されています。

ここのには、I2C と呼ばれるシリアルのインターフェースや、シリアルポート、SPI(メモリデバイスのインターフェース)や GPIO などが利用できるようになっています。ここに、センサや LED、ディスプレーなどを接続して利用することができます。

GPIO って何?
GPIO(General Purpose Input Output)は、普通だと殆ど耳にしない言葉です。 簡単にいうと、色々な用途に使える入出力ポートです。汎用の IO ポートなどと言われる場合もあります。

何か難しそうですが、簡単に機能を説明すると、プログラムで「0」か「1」を自由に書き込める出力と、プログラムで、対応するピンの情報が「0」か「1」かを読み取れる入力の機能を持っています。

例えば、LED を繋いで光らせたい場合は、プログラムで「ON」か「OFF」の状態を「0」か「1」に対応させて、LED の ON と OFF をコントロールする場合などに利用できます。あるいは、扉にセンサーをつけておいて、空いている時は「0」、しまっている時は「1」になるようなセンサを繋いで、扉の状態をプログラムからモニタしたりできます。

具体的な例を挙げると、「スマートプラグ」のようなものを簡単に作れます。 例えば、AC のコンセントの100 V の電圧をリレーを使ってインターネットから ON・OFF の管理をしたい場合は、Raspberry Pi をインターネットに接続して、ネットワーク経由でコマンドを送れる仕組みをソフトウエアで書く事ができます。

リレーのコントロールに GPIO の出力を使えば、AC のコンセントから電気を供給するかしないかを Raspberry Pi でコントロールできます。 GPIO が「1」の時は ON になるように、「0」の場合は OFF になるようなコードを書いておけば Raspberry Pi で ON/OFF をコントロールできるという感じです。インターネットからのコマンド以外にも、特定の時間に自動的に電源を入れたりとか、電源を切ったりということもできます。

LED などの場合は、GPIO から直接 LED をつけるのに利用する事ができますが、リレーなどを制御する場合には、外付けの回路が必要になる場合が多いので、多少ハードウエア(電気・電子回路)の知識も必要になってきます。

I2C は何?
もう一つ耳なれない言葉が出てきています。「I2C」です。なんだかご存知ですか?「アイツーシー」などと呼ぶことが多いですが、SMBUS などという言い方をする場合があります。2本の信号で色々な部品を繋ぐことのできる便利なインターフェースです。

GPIO の場合は、「0」か「1」かで行うコントロールや監視しかできませんが、I2C につながる部品は、電圧や温度を測ったり、ファンの回転数を監視したりすることができる物もあって、もっと複雑な機能を持った制御や監視ができます。

I2C が使えると、かなり色々な事ができるようになります。センサーで測った値を使って、ファンの速さを変えたり、エアコンの温度の自動設定などの機能も作れるようになります。どんな部品があるかは、「I2C センサ(I2C sensor)」などで検索すると色々見つかります。

こちらも、上手く利用するには、外部の回路が必要になってくるので、ハードウエア(電気・電子回路)の知識が必要になってきます。

まとめ
Raspberry Pi は組み込み用途のコンピュータとしても利用可能なハードウエアです。 通常の PC と似たインターフェースの他にも、基板上では、GPIO や I2C などのインターフェースをサポートしています。 こうした、インターフェースにセンサや LED、リレーなどを繋ぐとアイディア次第では色々な機能を簡単に実現できます。

外部の回路と繋ぐ必要があるので、多少ハードウエアの知識が必要になりますが、Raspberry Pi を利用して組み込み型のソフトウエアの開発の体験もできます。

こうした、GPIO を使ったり、センサーを使うには、ハードウエアだけではなく、GPIO をコントロールしたりするためのドライバソフトウエアの知識も同時に必要になってきます。Web 開発の場合は、ソフトウエアの知識だけでもある程度可能ですが、組み込み型の開発になると、ハードウエアや OS、デバイスドライバなど幅広い知識が必要になってきます。こうした、体験は以前は中々できなかったのですが、Raspberry Pi の登場で簡単に誰でも体験できるようになりました。

Raspberry Pi 素晴らしいですね!

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す