LovyanGFXとJpgLoopAnimeでM5StackとM5Cameraの全画面WiFi動画ストリーミング実験

LovyanGFX と JpgLoopAnime ライブラリを使ったら、M5Stack と M5Camera のWiFi動画ストリーミングがメチャメチャ高速になり、20~25fpsを叩き出せました。しかも全画面 320 x 240 pixel です。これを使わない手はないですよ。

OV2640のJPEG出力でM5CameraとM5StackのWiFi動画ストリーミング実験

マジですごいです。M5CameraのイメージセンサOV2640のJPEG出力を制御して、WiFiでM5Stackへ飛ばすと、高フレームレートで動画ストリーミングできました。リアルタイムでフレームサイズを変えたり、JPEG画質を変えたり、PCLK分周を変えたりできます。しかもスマホへのストリーミングに切り替えられますよ。

Arduino core ESP32 でJPEGデコードおよびエンコードしてみた

Arduino core ESP32内にあるJPEGデコードおよびJPEGエンコードライブラリを使ってみました。新たに外部ライブラリを使わなくても利用できます。やはり画像の転送にはJPEG圧縮は必須ですね。M5Stackライブラリが無くても動作しますが、今回はM5Stackでテストしてみました。

M5StackとM5Camera でWiFi TCP/IP 動画ストリーミングする実験

M5Stack と M5Camera を使って、WiFi TCP/IP でMJPEG (BMP) 動画ストリーミングをやってみた。スマホやパソコンのブラウザに切り替えて表示可能です。双方向通信でイメージセンサ(OV2640)のホワイトバランスや露出調整ができます。フレームレートの不思議な挙動が謎です。

ESP32でビットマップ画像ファイルを生成し、ブラウザに連続送信してMotion JPEGならぬMotion BMP動画ストリーミングする実験

ESP32 でビットマップ(BMP)ファイルを生成し、WiFiで Motion JPEG ( MJPEG )でブラウザへ動画ストリーミング通信する実験をやってみました。ストリーミング中でもブラウザからコントロールできる双方向通信が実現できました。

M5Stack FIRE (PSRAM付き)およびIPSタイプのLCD ILI9342Cを使ってみた

M5Stack FIRE ( PSRAM付き )を初めて使ってみました。IPSタイプのLCD ILI9342Cの視認角が良い感じです。分解していろいろ検証してみました。ボディーもガッチリしていて良いです。PSRAMが認識しないことや、WiFiの受信状態が悪いということがありました。

M5Cameraの動画をM5StackへWiFi, UDPで送信する実験

M5Cameraの動画をWiFi, UDPでM5Stackへ送信してLCDに表示する実験です。そしてM5Stackのボタン操作でM5Cameraを制御する双方向リアルタイム通信もやってみました。パケットロスしますが、概ね良い感じで無線動画転送できました。

M5Stack同士でWiFi, UDPによる双方向リアルタイム同時通信する実験

M5Stackを2台使って、WiFi, UDPで連続してデータを送信しながら逆にデータを受信する双方向リアルタイム通信の実験をしてみました。SoftAPモードでもSTAモードでも実現できます。まるでWebSocketのように双方向通信できます。

esp32-cameraライブラリを読み解く ~OV2640, SCCB, DMA, I2S 編~

ESP32のDMAとI2Sを使って、イメージセンサOV2640の画像データを転送してみた。SCCBインターフェースでOV2640を制御したり、ロジックアナライザーでフレームサイズを確認したり、カラーバーを表示させたり、デジタルズームを使ってみたりして、esp32-cameraライブラリを読み解く第3弾です。

M5Camera の映像をArduino IDE シリアルモニターに表示させてみる

M5Camera に搭載されている CMOS カメラセンサーモジュール OV2640 で取得した映像を、Arduino IDE のシリアルモニターに表示させる実験をしてみました。サンプルスケッチから自由に画素データを取り出せるようになりました。