TTGO T-Cameraというカメラ付きのESP32マイコンボードを手に入れた。
ESP32-CAMよりもちょっと大きい。
表側に、OLED画面とカメラとストロボとボタン2つがある。BME280という気温や気圧を測るセンサーが搭載される場所があるのだが、この基板には載っていない。
基板裏側はESP32マイコンモジュールが載っている。外部接続コネクタがあるのだが、ちょっと大きめで邪魔。
ESP-WROVER-BというESP32マイコンモジュールが使われている。技適付きのモジュールなので、電波を出しても問題ない。
ESP-WROVER-Bは、大きめの容量のPSRAMが内蔵されているので、カメラで撮った画像データをこのメモリに入れて処理したりできるようだ。(ESP32-CAMに使われていたESP32-SにもPSRAMは4MBの品物が内蔵されていたが、ちょっと少なめだ。)
最初からWebカメラ用のソフトが書き込まれた状態で出荷されているので、電源を入れたら使うことができる。
ESP32-CAMのCameraWebServerと違って、TTGO T-Camera側をWiFiアクセスポイントにして接続することもできるようになっている。
ブラウザでアクセスすると、このような設定画面が出てくる。
そして、カメラからの映像をPC側のブラウザで映すことができた。
ただし、カメラの映像の向きとか天地反転していて困る。
ソースコードはGitHubにある。
→ GitHub – Xinyuan-LilyGOesp32-camera-series TTGO T-Camera ESP32
ビルドしようとしたが、自分の環境のESP32ライブラリが古いせいかうまくビルドできなかった。
環境を更新して入れなおしたら、無事にビルドできた。
BME280を無効にするのに、
// #define ENABLE_BME280
という部分を弄ったのと、includeするライブラリのヘッダも削除した。
あと、上記のソースコードを変更し、天地反転させるのとボタンに対する処理を無効にするというのを変更してビルドした。
反転はこんな感じだ。
sensor_t *s = esp_camera_sensor_get();
s->set_framesize(s, FRAMESIZE_QVGA);
s->set_hmirror(s, 1);
s->set_vflip(s, 1);
ボタンの無効は、
//#define ENABLE_BUTTON
という部分を弄った。