(2024-10-17 追記: いただいたコメントの内容を本文に追記しました.)
Freenove ESP32-S3-WROOM CAM ボード (Arduino IDE 互換)、オンボード カメラ ワイヤレス、Python C コード、詳細なチュートリアル、サンプル プロジェクト | Freenove | ベアボーンPC 通販 https://www.amazon.co.jp/dp/B0BMQ8F7FN/ref=as_li_ss_shr?&linkCode=shr&tag=amazonoike-22
Freenove の「ESP32-S3-WROOM CAM ボード」を購入した.
「ESP32-WROVER CAMボード」のほうが少しだけ安いのだけど,こっちは microSDカードスロットがないとの噂があるので,実際のところはどうなのかはわからないけれど,ESP32-S3 のほうにした.
ちょっと思うところあって,SDカード読み書きを勉強というか,自分の理解を再確認したい.
チュートリアルにあるサンプルコードの「Sketch_17.1_CameraWebServer」が立派な Webアプリになっていて,これを書き込むだけでブラウザ越しに使える UI のあるワイヤレス Webカメラとして使える.
単なるワイヤレスカメラとして使うのだったら,私がやることはほとんどないわー.
とりあえず,Wi-Fi の接続を定期的にチェックして,接続が切れていたら自動的に再接続するコードを足しておしまい.
ほかにもいろいろと勉強(再確認)するんだー.
起動時に
「
E (nnn) esp_core_dump_flash: No core dump partition found!
」
というエラーが出てしまうのを解決するのに少し手こずったので,未来の自分のためにメモ書きしておきます.
これは,[Tools] -> [Partition Scheme] の設定をどうこうしても消えない.
要は,エラーメッセージのとおりで,core dump するためのパーティションを作れば解決します.
パーティションの設定は簡単で,Sketch_17.1_CameraWebServer に入っている partitions.csv を次のように書き換えればよいです.
書き換え前:
「
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
fr, data, , 0x3e0000, 0x20000,
」
書き換え後:
「
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
# fr, data, , 0x3e0000, 0x20000,
fr, data, , 0x3e0000, 0x1ff00,
coredump, data, coredump, 0x3fff00, 0x100,
」
(2024-10-17 追記)
lzpel さんからコメントをいただきまして,いつの頃からかパーティションのアライン単位が 0x100 から 0x1000 に変わっているようです.
もし,上に記した「書き換え後」のパーティション設定で
「Partition coredump invalid: Offset 0x3fff00 is not aligned to 0x1000」
というエラーが出てしまうときは,
「
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
fr, data, , 0x3e0000, 0x1f000,
coredump, data, coredump, 0x3ff000, 0x1000,
」
というふうに,0x1000 単位でパーティションを区切るとよいそうです.
コメントをくださって,どうもありがとうございました!
(2024-10-17 追記,ここまで)
coredumpパーティションのサイズに合わせて,直前の frパーティションのサイズを縮めるのが肝です.
partitions.csv を書き換えたら,スケッチのコンパイル & 書き込みをすれば,次回の起動時から「core dump 用のパーティションがない」というエラーは表示されなくなります.
この問題の解決には,次の URL の情報が大変役立ちました.ありがとうございました.
「M5stack core3でのカメラ操作 #PlatformIO – Qiita」
https://qiita.com/yutaka_m/items/0ae5cfe342c59db28338
「ESP32-CAM esp_core_dump_flash – Using Arduino / Microcontrollers – Arduino Forum」
https://forum.arduino.cc/t/esp32-cam-esp-core-dump-flash/1074812/54?page=3
==
Similar Posts:
- Zephyrus M16 の C: にしている SSD を換装し,C: を拡張する作業も行いました.複数ある回復パーティション,特に,「RESTORE」ラベルのついている回復パーティションをどうしたものか悩んだので,自分のためにここにもメモ書きしておきます.
- 小谷研出身の score さんが書いているラノベ,「異世界転移バーテンダーのカクテルポーション」の 2巻と 3巻が出ています. 1巻から 3巻までの 3冊をまとめた合本も出ているようです.
- ラトックシステムの USB接続型 RAIDケースに,Western Digital の SMR(トラック瓦書き)の 6TB HDD を 2台入れて RAID1(ミラーリング)ディスクとして使用しているけれど,1か月くらい使った感じでは何も問題なさそう.
- (2021-02-24 追記修正) Tiny Tiny RSS(TT-RSS) を git pull で更新したら動かなくなってしまったので,それの対処方法をメモ書き.「私はこうしました」という情報.正しい方法かどうかはわかりません.
- CRITEO の Web広告はうにうに動いてものすごくわずらわしいのでブロックすることにしました.1年以上そうしているけれど何も問題なさそう.自分のために,ここにも設定方法をメモ書きしておきます.
記事のパーティションを使うと私の環境では以下のエラーが出ます
Partition coredump invalid: Offset 0x3fff00 is not aligned to 0x1000
exit status 2
Compilation error: exit status 2
そこで0x1000区切りに修正して使用しています。
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
fr, data, , 0x3e0000, 0x1f000,
coredump, data, coredump, 0x3ff000, 0x1000,
ここを通り過ぎた人の参考になればと思いコメントを残しました。
コメントをくださってありがとうございます.
なるほど,いつの頃からか,アライン単位が 0x100 から 0x1000 に変わっていたのですね.
新しい情報をありがとうございました.