04.ソフトウェア仕様
ソフトウェアの仕様は、「学習リモコンを作る ( Raspberry Pi + 赤外線リモコン受信モジュール + 赤外線LED + プッシュスイッチ )」を土台に、Webブラウザからの操作の仕様を追加します。
学習リモコンのソフトウェアの仕様を以下のようにしました。
概要
学習リモコンとしては、3つのモードを遷移します。
- 通常モード
- プッシュボタンが押されるのを待ちます。
1つのプッシュボタンが押されると、押されたボタンに対応したリモコン信号を赤外線LEDから送信します。
2つ以上のプッシュボタンが同時に押されると、「学習モード」に遷移します。 - 学習モード
- リモコンから信号を受信するのを待ちます。
リモコンから信号を受信すると、受信した信号をメモリに保持し、「記憶モード」に遷移します。 - 記憶モード
- プッシュボタンが押されるのを待ちます。
プッシュボタンが押されると、押されたボタンに対応したファイルにメモリに保持しているリモコン信号を保存し、「通常モード」に遷移します。
Webブラウザからの操作としては、HTTP通信プロトコルを用いて情報の送受信を行います。
HTTP通信プロトコルを用いた情報の送受信には、Raspberry Pi 用のフレームワークである WebIOPi を利用します。
WebIOPi を利用して Webブラウザから Raspberry Pi をリモート操作する際には、マクロ関数を定義します。
WebブラウザからRaspberri Pi を操作する方法については、「WebブラウザからRaspberry Pi を操作する(WebIOPi 利用)」参照。
モード仕様詳細
通常モード
部品 | 入力 | 出力 |
---|---|---|
- | 何もしない。 | 何もしない。 |
プッシュボタン | 1つのプッシュボタンが押される。 | 押されたボタンに対応したファイルに保存されたリモコン信号を読み込み、読み込んだリモコン信号を赤外線LEDから送信する。 |
プッシュ | 2つ以上のプッシュボタンが同時に押される。 | 「学習モード」に遷移する。 |
赤色LED | - | 常に消灯 |
学習モード
部品 | 入力 | 出力 |
---|---|---|
- | 何もしない。 | モードタイムアウト時間(10秒)経過すると「通常モード」に移行する。 |
赤外線リモコン受信モジュール | リモコンからの信号を受信する。 | 受信した信号をメモリに保持し、「記憶モード」に移行する。 |
赤色LED | - | 常に点灯 |
記憶モード
部品 | 入力 | 出力 |
---|---|---|
- | 何もしない。 | モードタイムアウト時間(10秒)経過すると「通常モード」に移行する。 |
プッシュボタン | プッシュボタンが押される。 | 押されたボタンに対応したファイルにメモリに保持しているリモコン信号を保存し、「通常モード」に遷移する。 |
赤色LED | - | 常に0.5秒間隔の点滅 |
マクロ関数
SendSignal( buttonID )
指定したボタンに対応したファイルに保存されたリモコン信号を読み込み、読み込んだリモコン信号を赤外線LEDから送信する。
[パラメータ]
buttonID : ボタンID
[戻り値]
送信結果 : 1(成功)、0(失敗)
[使用例]
SendSignal( 2 )
関連ページ
前項目:03.ハードウェア組み立て
次項目:05.ソフトウェア実装