Skladištenje i NVS¶
Firmware koristi NVS za kritične perzistentne podatke i SPIFFS particiju za kratkoročni merni log. Cilj je da uređaj preživi reset, gubitak napajanja i privremeni prekid mreže bez gubitka ključnog stanja.
Podaci u NVS-u¶
Tipični zapisi:
| Zapis | Namena |
|---|---|
calib |
Kalibracioni koeficijenti i CRC validacija. |
emerg |
Emergency zapis pri power-fail događaju. |
cfg |
Runtime konfiguracija. |
dev_cfg |
Stariji objedinjeni per-device zapis. |
fleet_cfg |
Fabrička konfiguracija zajednička za seriju uređaja. |
unit_cfg |
Per-unit identitet, claim code i fabrički metapodaci. |
chkpt |
Poslednji checkpoint mernog stanja. |
tmpr_lat |
Perzistentni tamper latch. |
SPIFFS merni log¶
Merni log nije obračunsko skladište. Koristi se za servisnu analizu, post-event pregled i validaciju tokom testiranja.
Log treba čitati paginirano preko:
- USB fabričkog protokola:
log_info,log_read,log_clear, - lokalnog servisnog API-ja:
/api/v1/measurement-log/info,/api/v1/measurement-log/read,/api/v1/measurement-log/clear.
NVS dump¶
Za očitavanje NVS particije koristi se alat iz firmware repozitorijuma:
& "$env:USERPROFILE\.platformio\penv\Scripts\python.exe" tools\read_nvs.py --port COM3
Korisne opcije:
& "$env:USERPROFILE\.platformio\penv\Scripts\python.exe" tools\read_nvs.py --port COM3 --dump blobs
& "$env:USERPROFILE\.platformio\penv\Scripts\python.exe" tools\read_nvs.py --port COM3 --project-json-out nvs_project.json
& "$env:USERPROFILE\.platformio\penv\Scripts\python.exe" tools\read_nvs.py --port COM3 --integrity-check
Dijagnostika¶
Ako alat ne vidi očekivane zapise, moguće je da ih firmware još nije kreirao. Na primer, calib postoji tek nakon uspešne kalibracije, a emerg tek nakon power-fail čuvanja.
Ako je serijski port zauzet, zatvoriti monitor, Arduino Serial Monitor ili drugi alat koji drži COM port.