工房出荷時プログラム

 「走れ!モバイルバッテリー」のカメラ付マイコンユニットには、工房出荷時にあらかじめスマホ操作用プログラムを書き込んでいます。

 この項では、書込み済みプログラムの提供と、マイコンへの書き込み方法を掲載しています。

 プログラムの書き込みには、USBケーブル(A-TypeC)を使います。付属のケーブルも使用できますが、別途長めのケーブル(50~100cm程度)の使用をお奨めします。

書込み済みプログラム

車体色に合わせて、二種類のプログラムを掲載しています。ZIP形式で提供しますので、ダウンロード後解凍してお使いください。

車体色<ゴールド>用プログラム

  こちらからダウンロードできます。 DASHMBGL01.zip

車体色<ブルー>用プログラム

  こちらからダウンロードできます。 DASHMBBL01.zip

 解凍すると、次のようなファイル・ファルダが構成されます。

マイコンへの書き込み法

PCとM5CameraをUSBケーブルで接続

 PCとM5Cameraユニットを、USBケーブル(A-TypeC)で接続します。初めて接続したときは、ドライバーのインストールが行われます。

COMポートの確認

 正しく接続されていることを確認するために、デバイスマネージャーで確認します(WindowsPC)。
 「Sillicon Labs CP210x USB to UART Bridge(COMxx)」 と表示されていれば、正常に接続されています。
 右端のCOM番号もあわせて確認してください。

スケッチの読み込み

 AdruonoIDEを起動し、メニューの「ファイル>開く・・・」で先ほど解凍したフォルダ内の「DASHMBGL01.ino」または「DASHMBBL01.ino」を開いて下さい(車体色にあわせてください)。右のようなスケッチが読み込まれます。

COMポート設定

 メニューの「ツール>シリアルポート」をクリックすると、接続されているシリアル(USBシリアル)のCOMポートのリストが表示されます。この中から先ほどデバイスマネージャーで確認したCOMポートを選択します。

マイコンへの書き込み

 メニューバーの「→」ボタンをクリック、またはメニューの「スケッチ>マイコンボードに書き込む」を実行します。

 最初にコンパイル(人間が理解しやすいプログラミング言語で記述されたファイルを、プロセッサが処理する機械語に変換すること)を行います。進捗状況は右下のバーに表示されます。
 もし途中でエラーが表示されたならば、スケッチに誤りがあるか、ボードマナージャーの設定が誤っている可能性がありますので、確認して下さい。

 コンパイルに問題がなければ、引き続きマイコンへの書込み(機械語ファイルの転送)が行われます。進捗状況は、下部にパーセント表示で示されます。

 書込みが完了すると、「Leaving... Hard resetting via RTS pin...」 と表示されます。マイコンユニットにサーボが接続されていると、動作確認のため回転動作をします。

HTMLファイルの転送

 本機では、スマートフォンのブラウザに表示させる内容を記述したHTMLファイルをプログラム本体とは別にフラッシュメモリ内におくようにしています。本体プログラムに引き続き、HTMLファイルを転送します。

 本体スケッチと同じフォルダ内の「data」フォルダー内に格納してある「index.html」が操縦画面のHTMLファイルです。メニューの「ツール>ESP32 Sketch Data Load」を実行すると、転送が始まります。

 転送が完了すると、IDE下部に「Leaving... Hard resetting via RTS pin...」と表示されます。マイコンもリセットされ、動作確認のためサーボが一定時間回転します。

動作の確認

 プログラムの書込みとHTMLファイルの転送が終わったら、「第3章:遊び方」を参考に、本機とスマホを接続して、正常に動作するか確認してください。

プログラムの解説

本機マイコンに書き込んできるプログラムの機能を解説します。改造やオリジナルプログラム作成の参考にしていただければ幸いです(数字はArduinoIDEで示される行番号です)。

1~8行 タイトル

 プログラムのタイトルです(コメント)。

9~14行

 必用なライブラリの読み込みを行っています。

16~49行

 プログラムで用いる変数の定義を行っています。主な変数には使用目的をコメントで記しています。

51~56行

 ブラウザから、HTTPリクエストがあったときにHTMLファイルを送出する処理です。

58~120行

 操作ボタンを押したときの処理です。該当する内容はコメントに記載しています。

123~185行

 ブラウザから、動画ストリーミングのリクエストがあったときの処理です。

187~286行

 カメラサーバーとして駆動させるための処理です。

288~305行

 カメラのパラメーター設定です。

307~314行

 サーボを作動させる処理を記しています。

316~386行

 マイコン起動時の処理です。WiFi・カメラなどの初期化を行っています。

HTMLファイル

 通常のHTMLファイルと同じように、HTML編集ソフトで編集可能です。ボタンの文字や背景色など変更が可能です。