前方カメラを作る
tiny:bitに搭載する上で、以下の機能・特徴が必要と考え、ESP32-CAMを選択。
- カメラブロックを搭載した小型、低消費電力、安価な一体型モジュール
- 画像を無線で送信する為、WiFi機能と内臓アンテナ
- フリーで使い易い開発環境に対応
ESP32-CAM とは?
ESP32-CAMは、Espressif Systemsが開発したESP32とカメラモジュールを搭載したボードで、以下の特徴を持つ。
- 外付けアンテナに対応したESP32-WROOM32互換チップを搭載(WiFi/Bluetooth
- OV2640(1600×1200)カメラモジュール搭載
- USBコネクタや、USB-シリアル変換チップは非搭載(別途USB-シリアル変換必要)
- Amazon等で\1,000~2,000程度で購入可能
ESP32-CAM の開発環境と初期設定
開発環境として Arduino IDE(https://www.arduino.cc/en/software)を導入し、コード作成 / コンパイル / フラッシュ書き込みを行う。
- 開発言語は、C/C++をベース
- 「基本設定」の追加のボードマネージャのURLに(https://dl.espressif.com/dl/package_esp32_index.json) を設定する
- 「ツール」-> ボード -> esp32 -> ESP32 Wrover Module を選択
- その他の設定は、「ツール」-> Flash Frequency:”80MHz”、Flash Mode:”QIO”、Partition Scheme:”Huge App(3MB No OTA/1MB SPIFFS)”、Upload Speed:”921600″
- 「ファイル」 -> 「スケッチ例」-> 「ESP32」 -> 「Camera」 -> 「CameraWebServer」を利用してhttpカメラ・サーバーを構築
CameraWebServer.ino の修正
以下の修正を行う。
- [Select camera model] #define CAMERA_MODEL_AI_THINKER // Has PSRAM を有効に
- [Enter your WiFi credentials] const char *ssid = “使用するWiFiルーターのSSIDを記載”;
- [Enter your WiFi credentials] const char *password = “上記SSIDのパスワードを記載”;
- [void setup()] Serial.begin(115200); // シリアルモニタ用UARTのボーレート設定
- [void setup()] config.xclk_freq_hz = 20000000 -> 25000000;
- 動画サイズは、フレーム落ちを少なくするためにVGAぐらいが良いと思われる
- [void setup()] config.frame_size = FRAMESIZE_UXGA -> FRAMESIZE_VGA;
- [void setup()] s->set_framesize(s, FRAMESIZE_QVGA -> FRAMESIZE_VGA);
ESP32-CAMへの書き込みとブラウザでのカメラ画像表示


ESP32-CAMはUSBシリアル接続機能が実装されていないので、USB-シリアル変換器と裏面ピン端子と接続する必要があり、右図のピン接続情報を基に接続する(TxD/RxDをクロス接続)。
開発PCとUSBシリアル接続(接続ポートの確認必要)出来たら、次に以下のステップでESP32-CAMの内臓フラッシュに書き込み、画像表示検証を行う。
- ESP32-CAM裏面(アンテナパターンを下に)左最上部のピン(+3.3V))と直下のピン(IO16)を短絡
- Arduinoの「ツール」-> ポート: シリアルポートにESP32-CAMと接続されたCOMポートを選択
- ESP32-CAM裏面(アンテナパタンを下に)右上のリセットボタンを押す(シリアルポート検出用)
- 「スケッチ」-> 検証・コンパイル又は画面左上の(✓)でコードエラー等の確認後、書き込み又は画面左上の(->)でESP32-CAMへのフラッシュ書き込みが始まります
- 正常書き込みを終了後(Hard resetting via RTS pin…と表示)、上記短絡ピンを外して再度リセットボランを押すと書き込んだプログラムが起動する
- Arduinoの「ツール」-> シリアルモニタを選択すると下部にモニタ画面が表示されるので、右のボーレート選択部を「115200」に設定
- WiFi connected Starting …… Camera Ready! Use ‘http://192.168.x.xx’ to connect と表示されたら Camera Server が無事立ち上がった事が確認できる
- Chrome等のブラウザのURL部に ‘http://192.168.x.xx’ と入力して画面左側に設定メニュー及びカメラ画像が表示されればOK
- もしブラウザ内の左設定メニュー表示が邪魔な場合は、次のページを参考に変更可能なようだ(https://teratail.com/questions/347015)



コメント