ESP32カメラの続きです。
前回はOTAやmDNSなどを追加しました。
今回はとても基本的なスケッチです。
設定とかなにもありません。
全てはスケッチ内でハードコーディングされています。
https://github.com/vivian-ng/esp32_camera_streaming
スケッチではAI-ThinkerのESP32-CAMモジュールのピンアウトを使用しています。
別のカメラモジュールを使う場合、ピンの番号を変える必要があります。
ちなみに、ベースのスケッチはこれです:
https://github.com/maximemoreillon/esp32_camera_streaming
それにWiFi設定をメインのスケッチに移動、そしてmDNSを追加しただけです。
#define WIFI_SSID "ssid"
#define WIFI_PASSWORD "ssid_password"
WiFi設定はこの2行です。
で、利点は?
まず、ウェブ上の設定ページをなくしたことによって、このESP32カメラモジュールは単純なネットワークカメラになり、MotionEyeなどで「Network camera」として使用できます。
mDNSを追加することによって、ホスト名で接続できます。
IPアドレスをしらべたりしなくても大丈夫です。
例えば、MotionEyeでカメラを追加と選択し、
Camera Typeを「Network camera」で、
カメラのURLを「http://esp32cam.local/」に入力。
また、PSRAMがあるモジュールの画像解析度についてですが、
1600x1200はできますが、(ベースのスケッチもそれになっています)
それだとESP32の処理能力がボトルネックになり、FPSが落ちます。
試した結果、やはりPSRAMがあっても800x600はベストです。
if(psramFound()){
Serial.println("PSRAM found");
//config.frame_size = FRAMESIZE_UXGA;
config.frame_size = FRAMESIZE_SVGA;
config.jpeg_quality = 10;
config.fb_count = 2;
} else {
解析度を変えるには赤字のところを変えればいいです。
UXGAは1600x1200です。
SVGAは800x600です。
その他に、
QQVGA = 160x120
QQVGA2 = 128x160
QCIF = 176x144
HQVGA = 240x176
QVGA = 320x240
CIF = 400x296
VGA = 640x480
XGA = 1024x768
SXGA = 1280x1024
QXGA = 2048x1536 (メモリ的に無理かもしれません)
があります。
今度はこのスケッチにOTAを追加するかな?
前回はOTAやmDNSなどを追加しました。
今回はとても基本的なスケッチです。
設定とかなにもありません。
全てはスケッチ内でハードコーディングされています。
https://github.com/vivian-ng/esp32_camera_streaming
スケッチではAI-ThinkerのESP32-CAMモジュールのピンアウトを使用しています。
別のカメラモジュールを使う場合、ピンの番号を変える必要があります。
ちなみに、ベースのスケッチはこれです:
https://github.com/maximemoreillon/esp32_camera_streaming
それにWiFi設定をメインのスケッチに移動、そしてmDNSを追加しただけです。
#define WIFI_SSID "ssid"
#define WIFI_PASSWORD "ssid_password"
WiFi設定はこの2行です。
#define HOSTNAME "esp32cam"
ホスト名はこの行です。
これがあれば、
http://esp32cam.local/
だけでカメラからのビデオが見れます。
ホスト名は任意に変えられます。
例えば、複数のモジュールを使っている場合、
esp32cam1
esp32cam2
などにすることもできます。
ホスト名はこの行です。
これがあれば、
http://esp32cam.local/
だけでカメラからのビデオが見れます。
ホスト名は任意に変えられます。
例えば、複数のモジュールを使っている場合、
esp32cam1
esp32cam2
などにすることもできます。
まず、ウェブ上の設定ページをなくしたことによって、このESP32カメラモジュールは単純なネットワークカメラになり、MotionEyeなどで「Network camera」として使用できます。
mDNSを追加することによって、ホスト名で接続できます。
IPアドレスをしらべたりしなくても大丈夫です。
例えば、MotionEyeでカメラを追加と選択し、
Camera Typeを「Network camera」で、
カメラのURLを「http://esp32cam.local/」に入力。
また、PSRAMがあるモジュールの画像解析度についてですが、
1600x1200はできますが、(ベースのスケッチもそれになっています)
それだとESP32の処理能力がボトルネックになり、FPSが落ちます。
試した結果、やはりPSRAMがあっても800x600はベストです。
if(psramFound()){
Serial.println("PSRAM found");
//config.frame_size = FRAMESIZE_UXGA;
config.frame_size = FRAMESIZE_SVGA;
config.jpeg_quality = 10;
config.fb_count = 2;
} else {
解析度を変えるには赤字のところを変えればいいです。
UXGAは1600x1200です。
SVGAは800x600です。
その他に、
QQVGA = 160x120
QQVGA2 = 128x160
QCIF = 176x144
HQVGA = 240x176
QVGA = 320x240
CIF = 400x296
VGA = 640x480
XGA = 1024x768
SXGA = 1280x1024
QXGA = 2048x1536 (メモリ的に無理かもしれません)
があります。
今度はこのスケッチにOTAを追加するかな?
0 件のコメント:
コメントを投稿