05.ソフトウェア実装
ネットリモコンのソフトウェアの実装、すなわち、Raspberry Pi のプログラムの実装
概要
ハードウェア仕様、ハードウェア組み立て、ソフトウェア仕様に従い、Raspberry Pi プログラムを実装します。
リモコンから信号を受信する処理、赤外線LEDから信号を送信する処理は、マイクロ秒精度の処理速度が必要であり、C言語で書かれた Raspberry
Pi 用のGPIOアクセスライブラリである、「Wiring Pi」を利用します。
Webブラウザからの操作は、Raspberry Pi 用のフレームワークである WebIOPi を利用します。
WebIOPiを利用した処理は、Python言語で作成します。
C言語で作成した「リモコンから信号を受信する処理」「赤外線LEDから信号を送信する処理」をPython言語から使えるように、Pythonモジュール化します。
Wiring Pi のインストール
Raspberry Pi に Wiring Pi をインストールしてない場合は、まず、Wiring Pi をインストールします。
Wiring Pi のインストール
WebIOPiのインストール
Raspberry Pi にWebIOPiをインストールしてない場合は、まず、WebIOPiをインストールします。
WebIOPiのインストール
リモコン処理
リモコンから信号を受信する処理、赤外線LEDから信号を送信する処理は、マイクロ秒精度の処理速度が必要であり、C言語で書かれた Raspberry
Pi 用のGPIOアクセスライブラリである、「Wiring Pi」を利用して作成します。
「/home/pi/work/netremocon」というフォルダを作成し、作成したフォルダに、「myremocon.c」というファイル名で、以下の内容のファイルを作成します。
リモコン処理をPythonモジュール化するために必要な実装
C言語で作成した「リモコンから信号を受信する処理」「赤外線LEDから信号を送信する処理」をPython言語から使えるように、Pythonモジュール化します。
「/home/pi/work/netremocon」フォルダに、「myremocon.h」というファイル名で、以下の内容のファイルを作成します。
「/home/pi/work/myremocon」フォルダに、「myremoconWrapper.c」というファイル名で、以下の内容のファイルを作成します。
リモコン処理Pythonモジュールファイルの作成
コンパイルし、Pythonモジュールファイルを作成します。
「/home/pi/work/netremocon」フォルダで、以下のコマンドを実行します。
「/home/pi/work/netremocon」フォルダに、「myremocon.so」というファイル名で、リモコン処理Pythonモジュールファイルが作成されます。
Pythonスクリプトの作成
WebIOPiを利用したPythonスクリプトを作成します。
ボタン操作、リモコン処理Pythonモジュールの処理呼び出し、Webブラウザからの信号送信要求時の処理、を実装します。
「/home/pi/work/netremocon」フォルダに、「netremocon.py」というファイル名で、以下の内容のファイルを作成します。
HTMLファイルの作成
Webブラウザからアクセスする HTMLファイルを作成します。
「/home/pi/work/netremocon」フォルダに、「netremocon.html」というファイル名で、以下の内容のHTMLファイルを作成します。
WebIOPi サービスの設定の変更
WebIOPi のサービスを開始したときに、作成したスクリプトが実行されるように、WebIOPi サービスの設定を変更します。
また、Webブラウザからアクセスしたときに、作成したHTMLが表示されるように、WebIOPi サービスの設定を変更します。
WebIOPi サービスの設定は、「/etc/webiopi/config」ファイルに記述されています。
以下のコマンドを実行し、「/etc/webiopi/config」ファイルを開きます。
[SCRIPTS] セクションを探し、[SCRIPTS] セクションの「myscript =」に、作成したスクリプトファイルを指定します。
[HTTP] セクションを探し、[HTTP] セクションの「doc-root =」、「welcome-file =」に、作成したHTMLファイルを指定します。
編集し終えたら、
Ctrl + O
で上書き保存し、
Ctrl + X
で nano を終了します。
ダウンロード
関連ページ
前項目:04.ソフトウェア仕様
次項目:06.ダイナミックDNSサービス登録