< トラ技第2弾 Wi-Fi・リモコンカメラ製作その3 >
1. ラズパイ側の準備
今回で終わる予定でしたが、MPLAB X IDEの使用方法などいろいろ手こずり終わりませんでした。 PICのファームウェアを作成しますが、その前にWebページでサーボモータを制御するための4個の操作ボタンを画面上に追加します。
写真1、2はラズパイ側の準備作業の状況で、PICボードとラズパイ間にケーブルをつないでいますが、現状は機能していません。
ラズパイ側の準備としましては、先ずは前回展開されたファイルのうち次の3つのファイルも同様に、「home/pi/work」ディレクトリにファイルマネージャーでコピペして保存します。
@ CamRemocon.html (操作画面HTMLファイル)
A CamRemocon.py (Pythonスクリプト)
B shut_down.py (Pythonスクリプト)
ラズパイ起動時に@、Aが指定されて自動で起動するように、トラ技2016年11月号 P98、P99のようにWebIOpiのコンフィグレーション・ファイルを追加修正し、次のコマンドを入力します。
sudo update-rc.d webiopi defaults
確認作業は、ポート番号が8020の場合は、ChromeのURL欄で次のように指定します。
http://192.168.1.17:8020
Wi−Fiがつながれば、写真3のようID、PWの確認画面が表示されるので、デフォルトのID、PWの場合は次のように入力しますと、写真4のようにスタート画面が表示されます。
・ID : webiopi
・PW: raspberry
当然ですが、現状ではPICのファームウェアが入っていませんので、ラズパイ上のカメラは機能しますが、画面上の操作ボタンは単に表示されているだけで機能しません。
2.PICのファームウエアを作成
いよいよPICのファームウエアを作成するためにMPLAB X IDE関連をMicrochip Technology社のWebサイトからインストールします。 コンパイラはXC8をインストールし、MCCをアドインとしてインストールしました。 インストルが完了すると写真5のようにアイコンが作成されます。
ファームウエアの作成は、同紙のP102〜108に準じて、次の手順で作業しました。
(1) 「Raspi_Servo」名のプロジェクトを作成。
・ 写真5のように、MPLAB X IDEを起動させて「Raspi_Servo」名のプロジェクトを作成しました。
(2) MCCの「Device Resources」で各モジュールの設定。
@ クロックとコンフィグレーション
・ 「System Module」を選択しクロックを設定。(写真7)
A I/Oピンの入出力ポートの設定。
・ 「Pin Module」でI/Oピンの入出力と名称を設定。(写真8)
B I/Oピンの機能の設定。
・ 「Pin Manager」でI/Oピンの機能を設定。(写真9)
C TMR0、TMR2モジュールの設定。
・ 「Device Resources」のTMR0、2をダブルクリックして開いたダイヤログで設定する。(写真10)
D PWM2、PWM4モジュールの設定。
・ 「Device Resources」のPWM2またはPWM4をダブルクリックして開いたダイヤログで設定する。(写真11)
E CLC1、2、3、4モジュールの設定。
・ 写真12はLCL1の設定状況ですが、同様にCLC2、3、4を同紙のP105に準じて設定する。
(3) MCCで「Generate」を実行し、コードの生成。
・ 各モジュールの設定が終了すれば、「Generate」ボタンを押してコードを自動生成させます。 写真13は、自動生成されたmain関数の一部です。
(4) コンパイルを実行。
・ 写真14はコンパイルが成功した状況の写真です。
以上で何とかコンパイルまでの作業は終了しました。
因みに写真15は、コンパイル終了後の全体の状況です。
@ 自動的に生成されたヘッダファイル群。
A 生成されたmain関数。
B 生成されたモジュールごとの関数群。
C Dashboard。
D main関数の内容。
E コンパイル状況と結果の表示。
F PIC16F1509のピン配列と使用状況表示。
次はいよいよPICへ書込みと最終テストの結果を報告したいと思います。
写真1 ラズパイ側の準備作業状況1
写真2 ラズパイ側の準備作業状況2
写真3 ID、PW入力画面
写真4 スタート画面
写真5 MPLAB X IDE関連のアイコン
写真6 MPLAB X IDEの起動とプロジェクトの作成