ESP32 でカメラ利用の覚書

Arduino IDのESP32用ボード情報が1.0.1(2019/1)で新サンプルが追加されていた。

This version includes updated tools, many fixes and new features (esp32-camera+esp-face for face detection and recognition)

https://github.com/espressif/arduino-esp32/releases/tag/1.0.1

2019/4/16に1.0.2に更新されている。1.0.3rcも出ているので7-8月には1.0.3正式版になりそう。

追記。1.0.2には新機能のesp_face (顔検知と顔識別)が動かないバグがあるため個人環境は1.0.1に戻して利用中。

esp32-camera について調査中。カメラはハード仕様としてexternal PSRAM が必要らしい。フレームバッファに利用している。

//
// WARNING!!! Make sure that you have either selected ESP32 Wrover Module,
// or another board which has PSRAM enabled

CameraWebServer.ino

Except when using CIF or lower resolution with JPEG, the driver requires PSRAM to be installed and activated.

esp32-camera

とりあえず現状調査結果書き出し。

  • EPS32-SOLO1、EPS32DではPSRAMの追加が必要。従来のEPS32では使えるか不明だが多分PSRAM外付けで可能。
  • いずれもESP-IDFの make menu-config からSPI-connected RAMを有効にする模様。外付けPSRAM情報は本家espressifサイト中、API Guides のSupport for external RAMにあり。
  • ESP32-WROVER-B ならばPSRAM付きで技適にも対応。ただしピンが従来のEPS32と違い18 x 31.4 mmと縦長。
  • カメラつきの開発ボードも色々出ているが、いまいち。
    1. M5Stack Fire。予算外なところ以外はすばらしい。ほしいが予算越え。
    2. TTGO T-Camera ESP32 は人感センサーまで付いて大変いいのだが、IOピンの空きがない。温湿度センサーのBME280も接続可能で大変いいのだが。
    3. ESP-EYEはespressif純正。カメラとマイク付き。だが技適がないし流通が少ない。
    4. EPS32-CAMがいいんだが残念ながら技適がない。
      • ESP32-S(AI-THINKER)を利用していてこれが技適取っていない。
      • PSRAM外付け・SDカードスロットまでついてIPピンも空きがあり大変いいのだが、技適が。。
      • PSRAMは外付けの IPS6404LSQ が利用されているらしい。参考になる。
  • ESP32 Camera Driver では OV2640 と OV3660 を対象にしている。

This repository hosts ESP32 compatible driver for OV2640 and OV3660 image sensors. Additionally it provides a few tools, which allow converting the captured frame data to the more common BMP and JPEG formats.

esp32-camera

蛇足として、Arducam社からフレームバッファ付カメラが出ていて、Arduino UNOなどから利用できる。従来のEPS32でもSPI接続で利用可能。

Arducam Mini module Camera Shield w/ 2 MP OV2640 サンプル(SD記録)

ESP32のFreeRTOS

ESP32のArduinoは FreeRTOSで作られている。そのため別タスクで動作するプロセスには注意が必要。別タスクとはポインタが共有できないなど。