本体カードのログ形式¶
本体カードに保存されたファイルをPCで読むときの参照資料です。記録の開始・停止は時刻とログを参照してください。
カードのルートからの構成¶
表は左右にスクロールできます。
| 記録条件 | ルートからのパス | 命名・分割 | 内容・注意 |
|---|---|---|---|
| RTC日時が有効 | /YYYYMMDD(Www)/HHMMSS.csv |
YYYYMMDD(Www) はRTCのローカル日付と曜日、HHMMSS はファイルを開いた時刻です。30分ごとに次のCSVへ切り替わります。 |
同じパスがすでにある場合は追記します。ファイルはCSVヘッダーから始まります。 |
| RTC日時を使えない | /boot_logs/boot_NNN.csv |
NNN は 000~999 の未使用番号です。記録開始・再開時に新しい番号を使います。 |
RTCが戻るまでは30分分割しません。CSVの timestamp_iso は BOOT+経過ms、timestamp_epoch_ms は空欄です。 |
| RTC有効時のエラー記録 | /error_log.txt |
エラー発生時に追記します。 | 測定CSVではありません。RTC日時を取得できない場合はエラー記録を作成しません。 |
カードCSVの項目¶
列はCSVヘッダーの順です。表は左右にスクロールできます。
| 説明 | timestamp_iso |
timestamp_epoch_ms |
uptime_ms |
node_id |
valid |
direction[deg] |
speed[m/s] |
head_speed[m/s] |
sound_speed[m/s] |
sonic_temp[degC] |
source_seq |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 記録内容 | RTCのUTC時刻を設定地域へ変換した現地日時 | 同じ時刻のUTC Unix epoch | ESP32起動後、測定値を受信した時点の経過時間 | 本体のNode ID | 測定値の有効性 | 風向(本体基準) | 風速 | 機首方向成分 | 音速 | 音仮温度 | STM32の測定更新番号 |
| 形式・単位 | RTC有効時:ISO 8601、UTCオフセット付き。RTC無効時:BOOT+経過ms |
RTC有効時:ミリ秒。RTC無効時:空欄 | ミリ秒 | 整数 | 1=有効、0=無効 |
度(0~359) | m/s | m/s | m/s | °C | DATA_SEQ。未取得時は空欄 |
- RTC日時が使えない行では、
timestamp_isoにBOOT+経過ms、timestamp_epoch_msに空欄が入ります。 valid=0や空欄を正常値で埋めないでください。- RTCの有効状態が変わるとファイルも切り替わります。単一ファイルだけで記録全体を判断しないでください。
- 本体カードの風向は筐体基準です。アプリの補正表示と比較する場合は基準を揃えてください。
CSVの書式例¶
以下は公開ESP32スナップショットの11列フォーマッターに合わせた書式検証用の値です。実機で測定・保存したデータではありません。両例とも同じCSVヘッダーを使用します。
RTC日時が有効な場合¶
timestamp_iso,timestamp_epoch_ms,uptime_ms,node_id,valid,direction[deg],speed[m/s],head_speed[m/s],sound_speed[m/s],sonic_temp[degC],source_seq
2026-09-26T12:00:00.000+09:00,1790391600000,1000,7,1,90,1.00,0.00,346.00,25.00,42
RTC日時を使えない場合¶
timestamp_iso,timestamp_epoch_ms,uptime_ms,node_id,valid,direction[deg],speed[m/s],head_speed[m/s],sound_speed[m/s],sonic_temp[degC],source_seq
BOOT+900,,1000,7,1,90,1.00,0.00,346.00,25.00,42
2行目の空欄はtimestamp_epoch_msがないことを示します。valid=1はこの書式例の測定値が有効である意味で、valid=0や欠損を正常値に補完してはいけません。source_seq=42はI2Cで取得した更新番号の例で、未取得時は空欄になります。uptime_msは受信時刻で、BOOT+は元の測定時刻からの経過時間なので、両者が一致するとは限りません。