M5Camera用開発環境
M5Cameraは、カメラユニットとESP32というマイコンユニットを組み合わせたものです。ESP32マイコンに新しくプログラムを書き込むと、別の動作をさせることができます。
また、SSIDを変更する・速度を変えるなどの改造をする場合も、以下に示す開発環境を最初に整えて下さい。
こちらのM5Stackサイトのページなども参考にしてください。
https://docs.m5stack.com/#/en/arduino/arduino_development
「走れ!モバイルバッテリー」出荷時のプログラムは、「工場出荷時プログラム」にあります。自作プログラムを書き込んだあと元に戻したいときは、ご利用ください。
4つの手順が必用
「走れ!モバイルバッテリー」のプログラムを構築した環境は次の手順で構築しています。
1)USBドライバーのダウンロードとインストール
PCで開発したプログラムをM5Cameraに転送するために必用です。
2)ArduinoIDEのダウンロードとインストール
Arduino用の開発環境をインストールします。
3)ESP32用Coreの組込み
ArduinoIDEでESP32マイコンのプログラムができるように拡張機能を組み込みます。
4)SPIFFSプラグインのダウンロードと設定
操作画面の内容を記載したHTMLファイルを、フラッシュメモリで扱うためのプラグインを組み込みます。
USBドライバーのインストール
M5Camaeraでは、CP2104というUBS-シリアル変換集積回路を使用しています。USB経由でプログラムを書き込むため専用のドライバーをインストールします。
Windows10
M5Stackのサイトより下記のZipファイルをダウンロードしてください。
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/drivers/CP210x_VCP_Windows.zip
ダウンロードしたファイルを解凍し、できたフォルダーに納められている実行ファイル(exe)から、OS環境と一致するものを実行してください。
32ビット版OS・・・CP210xVCPInstaller_86_v6.7.0.0.exe
64ビット版OS・・・CP210xVCPInstaller_64_v6.7.0.0.exe
実行後は、画面の指示に従ってインストールしてください。
MacOS
M5Stackのサイトより下記のZipファイルをダウンロードしてください。
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/drivers/CP210x_VCP_MacOS.zip
ダウンロードしたファイルを解凍し、インストールしてください。
※インストール前に、「システム環境設定>セキュリティとプライバシー>全般」を確認し、開発者からのアプリを許可してください。
ArduinoIDEのダウンロードとインストール
Arduinoはイタリアで開発された小型コンピューターボードです。ボード(ハードウェア)だけでなく、開発環境(ソフトウェア)もオープンソースとして広く公開されており、専門家だけでなく、世界のアーティストや教育関係者に広く使われています。
このArduinoの開発環境「ArduinoIDE(統合開発環境)」を使って、ESP32プログラムの開発も行います。
ArduinoIDEのダウンロードとインストール
ArduinoIDEは、Arduinoのサイトからダウンロードします。
https://www.arduino.cc/en/Main/Software
使用しているシステムに合わせて、必要なインストーラーをダウンロードし、インストールしてください。
Windows・・・通常「WindowsInstaller」を選択します
MacOSX・・・10.10またはより新しいバージョン用です
寄付を求める案内がでますが、「JUST DOWNLOAD(ダウンロードのみ)」を選択すると、次に進みダウンロードが行われます。
寄付をする場合は、クレジットカードなどで決裁ができます。
ダウンロードしたファイルを使ってインストールを行います。
Windowsの場合、インストーラーを実行すると、右のようなウィンドウが開きます。英文ですが、規約に同意して、右下の「I Agree(同意します)」をクリックし、インストールを開始してください。
途中、インストールする項目やインストール先を選択する画面が表示されます。基本既定のままインストールしますので、「Next」で進めてください。ファイルの展開などが順に行われます。
インストール完了後、「Close」でインストーラーを閉じます。
インストールが完了すると、デスクトップに「Arduino」のアイコンが表示されます(規定値の「デスクトップにアイコンをつくる」のままの時)。
「Arduino」アイコンをクリックし、ArduinoIDEを起動します。
初めて起動するときに、セキュリティの注意喚起が表示される場合があります。そのときは「許可」を選択してください。
ESP32用コアの設定
インストールしただけでは、Arduino取扱のボードのみが対象になっていて、ESP32など他社マイコンのプログラムの開発はできません。このIDEには「Core」という仕組みがあり、各マイコン用のCoreを組み込むことで開発可能マイコンを追加することができます。
次の手順で、ESP32用Coreを組み込みます。
追加ボードマネージャーURLの追加
ArduinoIDEのメニューから「ファイル>環境設定」を選択し、「環境設定」画面を開きます。
「追加のボートマナージャーのURL」の欄に下記を入力します。
https://dl.espressif.com/dl/package_esp32_index.json
OKをクリックし、「環境設定」ウィンドウを閉じます。
ボードマネージャーを使いインストール
ArduinoIDEのメニューから「ツール」を選び、リストの中から「ボード:XXXX」をクリックすると、マイコンボードのリストが表示されます(「XXXX」の部分は初期値では「Arduino UNO」が表示されています)。リストの最上部の「ボードマネージャー...」を選択します。
ボードマネージャー上部の検索欄に「ESP32」と入力し検索すると、ボードリストで「ESP32」が絞り込み表示されます。
続いて、「インストール」ボタンをクリックすると、インターネットから必要なファイルが自動的にダウンロードされインストールが行われます。
ESP32ボード用ファイルがインストールされたら、リストに「INSTALLED」と表示されます。確認したら、右下の「閉じる」をクリックします。
ボード設定
ESP32用Coreのインストール後、再び「ツール>ボード:」を選択すると、リスト中に「ESP32 Arduino」という項目が表示され、クリックすると、ESP32マイコンのリストが表示されるので、「ESP32 Wrover Module」を選択します。
改めて「ツール>ボード:ESP32 Wrover Module」を選択すると、各種設定項目も変わります。各項目を次のように変更します(一度に1項目ずつの変更になります)。
ボード : ESP32 Wrover Module
Upload Speed : 921600
Flash Frequency : 80MHz
Flash Mode : QIO
Partition Scheme : Huge APP(3MB No OTA/1MB SPIFFS)
Core Debug Level : なし
シリアルポート : COM:X (Xは、デバイスドライバーなどで確認してください)
SPIFFSアップローダー
「走れ!モバイルバッテリー」では、スマートフォン等のブラウザで表示されるHTMLファイルを、フラッシュメモリ内に格納していています。このフラッシュメモリにファイルを書き込むために、「SPIFFSアップローダー」というプラグインを用意します。
ファイルシステムおよびアップローダーについては、次を参照してください。
https://github.com/me-no-dev/arduino-esp32fs-plugin
アップローダープラグインは次の手順でインストールします。
1)ZIPファイルをダウンロードする
次のファイルをダウンロードします。
https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/download/1.0/ESP32FS-1.0.zip
2)解凍する
ダウンロードしたファイルを適切なツールを使って解凍します。
3)解凍してできたフォルダを、Arduinoがインストールされているフォルダー内の「tools」にコピーする
通常Windowsでは、Arduinoは、CドライブのProgram Files(x86)フォルダーにインストールされているので、下記のようなファイル構成になります。
C:\Program Files (x86)\Arduino\tools\ESP32FS\tool\esp32fs.jar
4)ArduinoIDEを再起動する
プラグインを有効にするため、ArduinoIDEを一旦終了して、再度立ち上げます。
5)「ツール」に「ESP32Sketch Data Upload」が表示されていることを確認する
再起動後、ツールの欄に「ESP32 Sketch Data Uploder」 が表示されていれば、プラグインの組込が成功しました。
以上で、M5カメラ用の開発環境が整いました。