web0

2022/1/1
初版

M5CAMERA CameraWebServer

M5CAMERA CameraWebServer

概要

M5Camera」でCameraWebServerを動かす。
Arduinoのスケッチとしては、提供されているサンプルそのものものになるが、パッチが必要なので、それについて説明する。
また、ビルド環境としては、platformioを使用する。

ソース入手

以下の手順でソースを入手する:

cd ~/Downloads
git clone https://github.com/espressif/arduino-esp32.git

# platformioの環境に入る
mkdir CameraWebSerVer
cd CameraWebSerVer
mkdir src
cd src
cp ~/Downloads/arduino-esp32/libraries/ESP32/examples/Camera/CameraWebServer/*.* src/

cd ..
# platformioのビルドに必要な設定ファイルを入手する
wget https://raw.githubusercontent.com/espressif/arduino-esp32/master/tools/partitions/huge_app.csv

gedit platformio.ini
# 次節のplatformio.iniの内容を作成する:

パッチ

src/CameraWebServer.ino


#10行あたりを以下のように変更する:
// Select camera model
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM

#23行あたりを自分のWiFi環境に合わせて変更する:
const char* ssid = "*********";
const char* password = "*********";

src/camera_pins.h


#44行あたりを以下のように変更する:
#define SIOD_GPIO_NUM     22 //25

#55行あたりを以下のように変更する:
#define VSYNC_GPIO_NUM    25 //22

platformio.ini

M5Camera用


[env:esp-wrover-kit]
platform = espressif32
board = esp-wrover-kit
framework = arduino
upload_speed = 921600
monitor_speed = 115200
board_build.partitions = huge_app.csv
board_build.f_flash= 80000000L
board_build.flash_mode = qio

build_flags = 
    -DM5CAMERA
    -DBOARD_HAS_PSRAM
    -mfix-esp32-psram-cache-issue

lib_deps = 
    m5stack/Timer-CAM@^0.0.1

lib_ldf_mode = deep+

動作

シリアル出力にCameraWebServerのIPアドレスが出力されるので、そのIPアドレスでWebブラウザーからアクセスする。

参考情報

terminal関連:
Bootterm – a developer-friendly serial terminal program

M5Camera関連:
M5Cameraのサンプルコードを実行してみる(w/ M5Camera datasheet)
ESP32 Camera Demo
M5Stack社のカメラの選び方(2021年1月)
M5Cameraの使い方
M5Camera をレビューしてみた。分解したり、Arduino IDE でスマホに映したりする実験
M5Camera のHTTP stream を 動画としてキャプチャ

platformio関連:
Support ESP32 Wrover Module?
arduinoフレームワーク用platformio.ini集
Building Core2 FactoryDemo in PlatformIO
VSCodeとPlatformIOでM5Stack Core2開発
M5Stack Core2とVSCode + PlatformIOとでM5Stackプログラミングを始めてみた。

Arduino-IDE関連:
Arduino IDE environment - M5Paper
Arduino IDEのインストールと設定 (Windows, Mac, Linux対応)

M5Stackファミリ関連:
M5Core2 Arduino Install
M5Paper Arduino Install
M5CoreInk Arduino Install
M5Stamp-PICO Arduino Install
M5Stamp-C3 Arduino Install
Wio-Terminal/ESP8622/ESP32ボードを共通のスケッチで動かす(NTP-CLIENT編)
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(STARWARS編)
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(MQTT編)
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(REST-API編)
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(OSC編)

以上