こんには、伊吹です。
Beaver’s Hiveの2月アドベントカレンダー企画第3弾です。
M5Stack Japan Creativity Contest 2024で太っ腹な主催者様から頂いたATOMS3R CAMを使ってみました。
(私は首振りUFOキャッチャーというのでエントリーしたのですが、残念ながら受賞はできませんでした・・・)
今回はこの色違いのATOMS3R CAMを使ってWi-Fiを使ってブラウザ上でカメラの画面を表示させたいと思います。
市販のカメラモジュールとは色が違うので別物かと思いましたがおそらく同じものです(少なくとも触ってる感じ差分は感じませんね)
初期書き込みのプログラムでUSBカメラ兼Wi-Fiカメラとして動作可能です。
間違えて書き換えちゃった人は公式ドキュメントにあるAtomS3R-CAM Factory FirmwareをM5Burner使えば戻せます。
サンプルコードを使ってWEBブラウザ上でカメラのストリーミング再生を行います。
スケッチ例>M5AtomS3>Basic>cameraを開きます。
26~27行目の下記に行についてはご使用の環境のssidとパスワードに書き換えてください。
const char* ssid = "yourssid";
const char* password = "yourpasswd";
注意点が2点あります。
・2.4GHz帯の方のWi-Fiを選ぶようにしてください。(5GHz帯を選択するとうまくできません)
・書き込みを行う際には本体のボタンを長押し(LEDが点滅するまで)して書き込みモードにしてください。
上記を書き換えて書き込みをするとシリアルモニタ上にIPアドレスが表示されるのでその値をwebブラウザのURL欄に入力します。
するとリアルタイムでストリーミング再生ができます。(シリアルモニタでfpsの表示がされます。私の環境だと高くても10程度、平均的には5~6ってとこでとこです)
これで無事にストリーミング再生できるようになったと思います。
ATOMS3Rには6軸センサが内蔵されているのでこの値と連動させてジンバルみたいなのを作りました。
ページの関係上、別の機会に6軸センサとカメラの表示の組み込みをお話できればと思います。
(タイマを使ったりしましたがうまくいかなかったのでesp32のマルチコア機能を使って実装しました!)
これを以前作ったメカナムロボットに組み込む予定です。
課題というか現状の不満を言うと、fpsがもう少し高くできないか検討したいです。(10以上を平均的に出せるようにしたい)
何が問題なのか見当もついていませんが…
だれかご存じの方がいればコメント等で教えてもらえると助かります。
伊吹