ESP32-CAM
ESP32-CAMは小型で安価なカメラ付きIoTデバイスです。今回はAi-Thinker製のESP32-CAM(OV2640)を使用してサンプルのアプリケーションを実行します。
Ai-Thinker製以外のESP32-CAMモデルでも実行可能です。その場合は、ソフトウェアの設定ファイル中でカメラのモデルを指定します。(手順3参照)
ESP32の開発環境のセットアップがまだの方は、「ESP32とArduino IDE/PlatfromIOでHello Worldアプリケーションの実行」から行ってください。
ハードウェア
- ESP32-CAM: Ai-Thinker製のOV2640カメラ搭載型を使用します
- WiFi環境: ESP32-CAMのビデオストリームにアクセスする際に使用します
- USBケーブル: ESP32-CAMとPCを接続する際に使用します
- コードデプロイ用PC: Windows上のVSCodeとPlatformIOで実行します
ソフトウェア
1.次のレポジトリをクローンし、VSCodeで開きます
1 |
git clone https://github.com/easytarget/esp32-cam-webserver.git |
2.VSCodeで開くと自動的にplatformio.ini
が認識されてプロジェクトがセットアップされます(依存関係の処理にやや時間がかかります)
3.myconfig.sample.h
をコピーしてmyconfig.h
を作成します。以下の項目を編集して保存します。
- WiFiのアクセス情報
1 |
struct station stationList[] = {{"my_ssid","my_password", true}}; |
- カメラのハードウェアモデルの選択
1 2 3 4 5 6 7 8 9 |
#define CAMERA_MODEL_AI_THINKER // default // #define CAMERA_MODEL_WROVER_KIT // #define CAMERA_MODEL_ESP_EYE // #define CAMERA_MODEL_M5STACK_PSRAM // #define CAMERA_MODEL_M5STACK_V2_PSRAM // #define CAMERA_MODEL_M5STACK_WIDE // #define CAMERA_MODEL_M5STACK_ESP32CAM // Originally: CAMERA_MODEL_M5STACK_NO_PSRAM // #define CAMERA_MODEL_TTGO_T_JOURNAL // #define CAMERA_MODEL_ARDUCAM_ESP32S_UNO |
4.コードをビルドしてESP32-CAMにデプロイします。ビルドが成功するとシリアルコンソールにアクセス情報が表示されます。
シリアルコンソールに何も表示されない場合、以下の行をplatformio.ini
に追加します。
1 2 |
monitor_rts=0 monitor_dtr=0 |
シリアルコンソールからの出力が文字化けする場合、以下の行をplatformio.ini
に追加します。
1 |
monitor_speed = 115200 |
5.同一のWiFiに接続されているPCからURLにアクセスすると映像を取得できます。
画質の設定やフラッシュ輝度の設定も可能です。ストリーム映像ではなく、写真を撮影することも可能です。
⚠ フラッシュはとても熱くなります!触らないように気を付けてください! ⚠
その他、細かい設定値の変更も可能です。
まとめ
ESP32-CAM上にサンプルアプリケーションをデプロイして、映像の取得を行いました。小さなデバイスですが十分なクオリティの映像を取得できています。ESP32-CAMは、安価で簡単にIoTで映像取得を行いたい場合に最適です。