2022/11/19
Unit Cam M5を試す
2か月前に、秋月で安価なカメラモジュールを探していて、550円という安さに誘われて「OV7675使用30万画素カメラ B0070」というものを購入しました。その後、画像を映そうとコーディングしているのですが、大苦戦しており、まだ正常に動いていません・・・。参考資料をネットで探しているのですが、この型のカメラモジュールのものが少ないですね。簡単にコピペして楽をしようとしているだけなのですが、そうはさせてもらえません・・。やはり基本を抑えて、コードの中身を把握しておかなくてはダメですね。
ネットで情報を調べている中で「OV2640搭載 Unit Cam Wi-Fi Camera」という同じOMNIVISION製のOV2640カメラにESP32が合体したM5 Stackモジュールがあり、参考のコードもあったのでスイッチサイエンスで購入しました。まず、本丸を攻める前に、似たようなカメラでコードを勉強しておこうという狙いです。
このUnit Camで、まずM5 Stackのサンプルコードを動かそうとしたのですが、これもうまく動きませんでした。おいおい。勉強不足で見落としていることがたくさんありそうです。現時点でも動かない原因は不明で、改めて調査はしようと思いますが・・。
しばらく試行錯誤していましたが、一旦塩漬けして、次に、ArduinoのサンプルスケッチにCameraWebServerというものがありましたので、それを試しました。
コード上で修正したのは以下の2か所でした。
1. CAMERA_MODEL_M5STACK_PSRAMを選択
// ===================2. 自宅の無線ルータのssidとpasswordを記入
// Select camera model
// ===================
・・・
#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
・・・
// ===========================いざ、ESP32にコードを書き込みたいのですが、これも難儀しました。何度も試行錯誤を繰り返し、コンパイルまではできましたが、何度やってもESP32への書き込み時にエラーが出てしまいます。
// Enter your WiFi credentials
// ===========================
const char* ssid = "my-ssid";
const char* password = "my-password";
ESP32なので、前回のブログで実施したように、MAX3232ECPEを用いてパソコンからコードが書き込めると思ったのですが、これもまたうまく行きませんでした。「うまく行かない」の大行進です。
結局、Unit Camのホームページにあった「CP2104/CH9102搭載 ESP32 ダウンローダキット」を購入する羽目になりました。ダウンローダキットとESP32の書き込み時の結線は以下の通りです。

一つ目は、書き込み時にESP32のG0ピンをGNDに落とす必要がありました。一度つないだ結線を外して、ダウンローダキットのGNDと短絡させました。この辺りは取説がなく、不親切なんですよね。利用者には分り切ったことなんでしょうね?
二つ目は、macOS Big SurでESP32が書き込めない問題がありました。エラー内容でネット検索していくと、中華製のドライバを入れると良いという対処方法があり、それを適用しました。インストールされたドライバは以下の黄色枠の通りで、これを用いて書き込みました。




撮影された画像はこんな感じです。

失敗続きで時間がかかり、当初の予定ではないカメラですが、画像を撮像してブラウザに表示して、かつ画像保存できる所まで行き着きました。プログラムの方はまだ十分理解できていませんが、解読して、次の本丸につなげたいと思います。