ESP32-CAM 開発ボード WiFi Bluetoothカメラモジュール 簡単ビルド方法
ESP32-CAM 開発ボードは、Espressif Systems 社が開発・発売したESP32-D0WDQ6 32bit 240MHzデュアルコアMCU (CPU) を搭載しカメラモジュールを追加してWEBカメラとして使えるようにしたキットです。
開発ボードですから、購入状態ではOSやプログラムは入っておらずネットで公開されているプログラム(スケッチ)を利用するか自分でプログラム(スケッチ)を作成しないと動作しません。
プログラムが入っておらずボディ筐体もありませんが、そこそこのCPUとWEBカメラの基礎構成、micro-SDカードスロット、WiFi/Bluetoothインターフェイスを800円~1200円の低価格で購入できます、3.3Vか5Vで動作し40x27mmサイズでカメラモジュールが別体となっており既存筐体やオリジナル筐体に組み入れる事も簡単です。
非常に低消費電力との噂なので運用に難儀している私の10Wソーラーシステムで「運用できるかも!」と思い購入してみました。
市販ネットワークカメラでも12A容量の大型バッテリー(自動車用バッテリー)と常時日光下+30Wレベルの大型ソーラーパネルを使えば何とか実用になりますが、台風や突風に耐える強靭な取付場所が必要で気軽に使う事は出来ませんし実用レベルのキットなら7~10万円は覚悟する必要があり個人ユースでは現実的ではありません。
検証の為に購入したESP32-CAM 開発ボードの画像です、このサイズにSDカードスロットを含めたオールインワンなので通常のネットワークカメラの半分程度の大きさです、ただし一般的な防犯カメラが備えている暗視撮影用の赤外線LEDもソレノイド動作のIRカットフィルタも無いので夜間撮影は期待できませんが、このサイズと重量なら一般的なセンサーライトを改造して組み込んむ事も簡単で人感センサーで弱照明→強照明に切り替わるタイプのセンサーライトなら夜間撮影もカバーできるでしょう。
期待は膨らみますが素の状態では検証も何もできませんから、まずESP32-CAM 開発ボードにプログラム(スケッチ)をリビルドしてネットワークカメラとして使える様にします。
ESP32-CAM 開発ボード以外に、
USB-TTLのUSBシリアル変換ケーブル
パソコン (Windows / apple PC)
が必要になります、一応スマホでも出来なくはないのらしいのですが良く分かりません。
あとジャンパーピンかメス―メスのジャンパーケーブルが1つあれば良いのです、ワニ口クリップや目玉クリップでも金属なら代用できますが高い物では無いので買った方が良いでしょう。
USBシリアル変換ケーブルにドライバーが必要なら先にパソコンに接続してドライバーをインストールして使用できる様にした後にショート防止の為に一旦USBスロットから取り外して下さい。
ESP32-CAM 開発ボードのカメラが付いている側に小さくシリアルが刻印されているので虫眼鏡などを使って文字を確認します。
UORのピンにシリアルケーブルのTXDを接続(画像では白)
UOTのピンにシリアルケーブルのRXDを接続(画像では薄緑)
IO0 と GNDのピンにジャンパーピンを刺す
5Vのピンにシリアルケーブルの+5Vを接続(画像では赤)
GNDのピンにシリアルケーブルの−5Vを接続(画像では黒)
以上の6ピンを正確に処理します。
◆Arduino IDE をパソコンにインストール。
https://www.arduino.cc/en/main/software をブラウザーで開き、パソコンに合わせたArduinoソフトをインストールします。 インストールしたArduinoソフトを起動します。
USBシリアル変換ケーブルをパソコンのUSBポートに差し込みます。
ソフト→環境設定 をクリックします。
環境設定ダイアログ の追加のボードマネージャのURL 欄に
” https://dl.espressif.com/dl/package_esp32_index.json ” と入力し OKボタン をクリックします ツール→ ボードと選択し ボードマネージャーをクリックします。 ボードマネージャーダイアログ でESP32 by Espressif Systems を選択しインストールします。 ツール下のボード下の項目をESP32-CAM 開発ボードに合わせた設定に各修正します。
初期状態の各項目を 以下の状態にします。 ファイル→スケッチ例→ESP32→Camera→CameraWebServer をクリックします。 黄色で選択した部分を この様に変更します。
// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_M5STACK_PSRAM
#define CAMERA_MODEL_AI_THINKER
const char* ssid = “*********”; の*********に自宅・会社のSSID名を入力
const char* password = “*********”; の*********に自宅・会社のWifiパスワードを入力
完了したら、左上の〇▶アイコンをクリックして、ビルドを実行します。
ビルド中は、下欄に進行状況が表示されます、エラーがあれば表示されます、USBシリアル変換ケーブルのドライバーやESP32-CAM 開発ボードへの結線が間違っていないか確認してください。 「ボードへの書き込みが完了しました。」と表示されたら完了です。 ESP32-CAM 開発ボードのIO0 と GND文字のピンに刺したジャンパーピンを抜いてから、リセットボタンを押してリセット・再起動します。 シリアルモニターをクリック 115200bps を選択すると、ESP32-CAM 開発ボードの実行状況をモニタリングできます。
ここでESP32-CAM 開発ボードのIPアドレスが分かります。 ハズなのですが、面倒なので私はSSIDをモバイルホットスポットにして簡単に判る様にしました。(私は初期設定時のルータートラブル要因を排除したいので常にモバイルホットスポットを使う様にしています。) 判明したIPアドレスをブラウザーで開きます。 ESP32-CAM 開発ボードのライブ映像が表示されます、解像度は高いのですがピンホールレンズですから像のボヤケが多く最安のネットワークカメラと比べてキレイな映像とは思えません、明らかにCMOS性能にレンズが追い付いていません。 レンズを見た時に映像が品質が劣る事は予想は出来ていたのですが、期待していた低消費電力の前評判は盛りに盛られた情報だった様です、解像度によりやや増減しますが大体380mA程度消費しています。
期待していただけにガッカリ…これならK2-VR306-200Wの方が低消費電力です、プログラム(スケッチ)を改変できれば多少消費電力を抑える事ができるかもしれませんがそんなスキルはありませんし防犯カメラとしての機能を削らなければ大幅な削減も難しいでしょうから、ESP32-CAM 開発ボードのソーラーシステムへの応用は諦めた方が賢明でしょう。
ネットワークカメラとしての基本機能は満たしていますがONVIF未対応で動体検知もありません、ストリーム受信できるNVRを用意すれば別ですがESP32-CAM 開発ボード単体で防犯カメラとして使うには無理がありますから、ローカルネット限定で入り口、ガレージのライブカメラとして運用が最適でしょうか、本体が小さいのでガレージライトやガーデンライトの内部に組み込んむ事も簡単ですし何より低コストでそれなりのカメラシステムを構築できるかと思います。