Help us understand the problem. What is going on with this article?

m5cameraのesp_camera_fb_get()がうまく動かなかった

現象

https://www.mgo-tec.com/blog-entry-m5camera-arduino.html
こちらを参考に設定も同じでやってみましたが,esp_camera_fb_get()関数でエラーも出ずに応答ない状態です

スクリーンショット 2019-08-15 12.43.38.png

スクリーンショット 2019-08-15 12.46.24.png

Serial.printで「fb_get_start」だけが返ってきています
ブラウザでの画面も表示されないです
captureでもstreamでも同じような状態です

https://qiita.com/n0bisuke/items/354dce451d26cb5e196a
こちらの記事はサンプルが表示されない現象ですが,同じことを行いましたが解決できませんでした

環境

試したこと

  • arduino-esp32のボードライブラリの最新化(1.0.2)
  • arduino-esp32のボードライブラリを1.0.1に(もちもんサンプルも変更)
  • Arduino/libraries/ESP32を削除してからもう一回インストール
  • chrome以外のブラウザで試す
  • 違うMacBookを借りて最初から設定

これらを行っても「CameraWebServer」のサンプルは動かなかったでした

サンプルコードを変更

ここまでやってやっとこさコードをもっとシンプル化しようとしました

https://www.mgo-tec.com/blog-entry-m5camera-serial-monitor.html
こちらの記事を参考にwebではなくシリアルで簡単な情報をわたすものです
同じesp_camera_fb_get()関数を利用しているのですが,ちゃんと動きました

スクリーンショット 2019-08-15 12.49.52.png

原因は?

動いたサンプルコードと動かないサンプルコードを見比べて,怪しいところを見ていくと...
cameraのconfigの設定でpixel_formatをPIXFORMAT_JPGとPIXFORMAT_RBG888で違いがありました

試しに動かないコードの方でフォーマットをRGB888にしたところesp_camera_fb_get()がうまくとおりました
むむむ...

他のフォーマットも試してみます!

他のフォーマットは?

https://github.com/m5stack/m5stack-cam-psram/tree/master
この公式ページのExampleのところでコメントアウトで書いてありました

.pixel_format = PIXFORMAT_JPEG,//YUV422,GRAYSCALE,RGB565,JPEG

書き方は自分も間違いましたが,

.pixel_format = PIXFORMAT_GRAYSCALE,//YUV422,GRAYSCALE,RGB565,JPEG

にします
PIXFORMAT_も接頭辞を忘れずに...

コード保管で

今回他のフォーマットを探すのがウェブを検索しなければいけなくて,他のIDEとかであればコード保管できるのになぁ
っと思ってVSCodeのArduinoプラグインを導入してみました!

参考URL
https://qiita.com/varlal/items/052d08d0e34c570a6f3b

そしたら,

スクリーンショット 2019-08-16 11.46.57.png

候補がありません?
ですが.ボードを選択してさらっとコード補完ができました

スクリーンショット 2019-08-16 12.32.29.png

ん?
公式Exampleにコメントアウトしてある以外のフォーマットもありますね...
試してみるぞ!
では,ボードに書き込もうとしたら

スクリーンショット 2019-08-16 13.22.40.png

まだ対応していないとのこと
待ちましょう...

ということで今回はVSCodebのコード補完で確認した定数をArduinoIDEに書き込んでいくようにします
もしくはArduinoの環境設定から「外部エディタの利用」があるのでそちらでもいいと思います
参考記事
https://qiita.com/7of9/items/b9612b2073a978bdfbe9

自分のm5cameraで動いたフォーマット動かないフォーマット

  • GRAYSCALE 動く
  • JPG esp_camera_fb_get()が返ってこない
  • RAW esp_camera_fb_get()でもらってきた値がない if(!fb)の条件に入ってしまう
  • RGB888 動いた(その他444とかも動くでしょう...)
  • YUV422 動いた
  • t ビルド時にエラー,ここに設定すべきでないものかな

という状態でした
根本的な解決はできてはいないですが,最悪動かないことはないっぽいので他のフォーマットでやっていきます

次にbase64変換したいなぁ〜

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした