ESP32-CAM を使ってみる
以前使用したESP32のカメラ付き製品です。
私のものは大陸調達品 (¥522-) です。
国内通販でも販売されています。
私の製品と同製品ではありませんが参考まで。
aitendo
ESPカメラモジュール [ESP32-CAM-K]
https://www.aitendo.com/product/19515
¥1,250-
※写真では技適対応品のようですが、
Wi-Fi対応のESP-WROOM-32(U)モジュールと、
ヘッダーピンは本体へのはんだ付けが必要なようです。
日本国内で、Wi-FiやBluetooth等を利用する製品は、
技適マーク(無線基準認証制度)を取得している必要があります。
ですが、私の製品には、技適マークの表示がありませんので、
取得済み製品であるか確認出来ません。
そのため、
”技適未取得機器を用いた実験等の特例制度”を利用して、
技適未取得機器を用いた実験等の特例制度の開設届出済です。
もし、これらの技適未取得機器を利用される場合は、
”技適未取得機器を用いた実験等の特例制度”
を利用されると良いと思います。
ただし、使用期間は、180日間の限定許可となります。
技適未取得機器を用いた実験等の特例制度
https://exp-sp.denpa.soumu.go.jp/public/
技適未取得機器を用いた実験等の特例制度(詳細)
https://exp-sp.denpa.soumu.go.jp/public/help/startNotice_detail.html
届出には、
技適未取得機器申請
・無線の種類
・製造番号(無い場合は自分で採番可能です)
・製造会社名
・製品名(FCC等の認証番号があれば可能です)
・設置(使用)場所
・使用目的
の記載が必要になりますので、
使用する無線の種類、製造会社名、製品名、FCC等の他国での承認番号、
が分かるものを購入されることをお勧めします。
※分からない項目は、販売店に問い合わせをすれば教えて頂けると思います。
私も、何度か大陸の販売店等に問い合わせていますが、丁寧に教えて頂けます。
(ただし、大陸への問合せの場合は、日本語では無理かと思います。
私の場合、翻訳ソフトで英語か中国語に翻訳したものでですが大丈夫のようです)
この届出制度は、
最初に本人登録が必要で、Webか郵送で行う必要があります。
マイナンバーカードとカードリーダーがあれば、Web上で可能です。
この本人確認が完了すれば、届出はWeb上でいつでも行うことができます。
では、早速使ってみます。
今回は、ESP32ライブラリ群に付属しているスケッチ例の、
”CameraWebServer”
を実行してみます。
事前に、”Arduino IDE ESP32 (ESP-32) の開発準備”ページの
https://shinog.jp/computer/arduino/arduino-ide-esp32-esp-32-%e3%81%ae%e9%96%8b%e7%99%ba%e6%ba%96%e5%82%99/
”ESP32用のプログラム開発をArduino IDEで行うなための設定”
を完了している必要がありますので、
環境設定がまだの場合は、この設定を先に行います。
また、他の方法として環境設定から行うこともできます。
1.メニュー「ファイル」→「環境設定 Ctrl+カンマ」を選択します。
2.開いた環境設定画面の
追加ボードマネージャ欄に、
"https://dl.espressif.com/dl/package_esp32_index.json"
と入力し、「OK」ボタンをクリックします。
3.メニュー「ツール」→「ボード:xxx」→「ボードマネージャ」を選択します。
開いたボードマネージャ画面の検索欄に、
"ESP32"
と入力します。
一覧に、"esp32"が表示されますので、
最新バージョンを選択し、「インストール」をクリックします。
私の場合、バージョンは 1.0.6 でした。
4.インストールの完了を確認し、「閉じる」をクリックします。
これで、ESP32ボードの環境設定は完了です。
では、ESP32-CAMをPCと接続します。
ESP32-CAMには、PCとの接続用のUSB端子がありません。
そのため、PCと接続してスケッチを転送するために、
USB-TTLコンバータ (USBシリアル変換)モジュールが必要になります。
VCC(5V)、GND、RXD、TXD があれば、どんな製品でもよいと思います。
新しく購入するのであれば、
VCCは(5V、3.3V)や DTR、CTS などに対応しているものがよいと思います。
参考:
aitendo
・USB-TTLコンバータ [U2TL340-6P]
https://www.aitendo.com/product/11632
¥399-
・USBシリアル変換 [U2TL340C4PA]
https://www.aitendo.com/product/18880
¥390-
など、いろいろ販売されています。
ESP32-CAM と USB-TTLコンバータ の接続です。
回路は図の通りです。
この回路図の作図には fritzing を利用させて頂いております。
https://fritzing.org/home/
USB-TTLコンバータ モジュール側 | ESP32-CAM 側 |
5V | 5V (3.3V端子を接続時は不要) |
GND | GND |
RXD | U0TXD (GPIO1) |
TXD | U0RXD (GPIO3) |
3.3V | 3.3V(5V端子を接続時は不要) |
GPIO0 (CSI_MCLK) - GND を短絡する (書き込み時のみで、実行時は解除する) |
※5V、3.3Vの電源は、供給可能な電源のどちらかのみを接続します。
※ESP32-CAMモジュール本体のGPIO0 - GNDを短絡しますが、
この短絡処理は、スケッチの書き込み時のみに必要です。
そのため実行時には、この短絡を解除します。
1.PCのデバイスマネージャーの画面で、COMポート番号を
確認しておきます。
・ESP32-CAM と USB-TTLコンバータ の接続したものを、
PCに接続します。
・Windowsのスタートメニューを右クリックし、
デバイスマネージャー(M)を選択します。
・表示された、デバイスマネージャーの画面の、
ポート(COM と LPT)欄を確認します。
※私の場合は、COM4と表示されています。
2.Arduino IDEの設定を行います。
・ボード設定
メニュー「ツール」 → 「ボード」 → 「ESP32 Arduino」
→ 「ESP32 Wrover Module」
・Partition Scheme設定
メニュー「ツール」 → 「Partition Scheme」
→ 「Huge App (3MB No OTA/1MB SPIFFS)」
・シリアルポート設定
メニュー「ツール」 → 「シリアルポート」
1.のデバイスマネージャーの画面で確認した、
シリアルポート番号を選択します。
※私の場合は、”COM4”です。
3.スケッチ例から、
”CameraWebServer”スケッチを選択します。
・メニュー「ファイル」 → 「ESP32」 → 「Camera」
→ 「CameraWebServer」
4.スケッチを修正します。
・11行目の
#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
↓
// #define CAMERA_MODEL_WROVER_KIT // Has PSRAM
コメントアウトして無効にします。
・17行目の
//#define CAMERA_MODEL_AI_THINKER // Has PSRAM
↓
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
コメントアウトを外し、有効にします。
・22、23行目の
const char ssid = ""
const char password = ""
↓
const char ssid = "abcd1234"
const char password = "efgh5678"
を、使用環境のWi-Fiルータの設定に合わせ、記述します。
※上記は設定例です。
5.検証します。
・アイコンメニュー「検証」 をクリックします。
6.マイコンドードに書き込みます。
・アイコンメニュー「マイコンボードへ書き込み」 をクリックします。
では、実行してみます。
1.スケッチの書き込み時のみに必要な、
ESP32-CAMモジュール本体のGPIO0 - GNDの短絡を解除します。
2.Arduino IDEのシリアルモニタを起動します。
通信速度を 115200bps に設定します。
3.ESP32-CAMモジュール本体のResetボタンを押します。
4.シリアルモニタに表示された、
Camera Ready! Use 'http://192.168.1.23' to connect
のURLを、起動したブラウザのURL欄に入力します。
※'http://192.168.1.23'は私の場合です。
”ESP32 OV2460”という Webページ が表示され、
左側のメニュー一番下の、”ストリームを開始”をクリックし、
カメラ映像が表示されれば成功です。
この時シリアルモニタには、
画像の処理状況が表示されています。
速度や解像度など今ひとつと言ったところでしょうか。
格安な、ESP32-CAMの小さな本体だけで、
簡単にネットワークを利用して映像の転送ができ、
Web画面のメニューで画像の簡易な操作も可能です。
なかなか面白いですね。