Инцидент 22.07: ФС ушла в read-only — захват кадра и SSH отвалились,
heartbeat и MQTT-вес продолжали работать. В репозитории не хватало
юнита и инструкции подъёма с нуля.
- orange_pi/scales.service (восстановлен по systemctl status)
- RECOVERY.md: установка, проверки, продление жизни карты,
диагностика через MQTT без SSH
- фоновый вызов Nomeroff (:5010/recognize?crop=1&enhance=0) после захвата кадра
- результат -> /api/local-plate с ретраем на 404 (гонка с capture)
- полностью изолирован: ошибка/таймаут не влияют на боевой поток
- только для боевых снимков (не is_test)
- outbox.py: SQLite-очередь + JPEG на диске, at-least-once доставка
- scales.py: capture_and_send кладёт в очередь вместо прямого POST,
heartbeat_loop каждые 30с дренирует очередь, статус публикует outbox_pending
- fw_version -> 2026-07-02-outbox
- scale/device/status: публикует раз в 30с uptime, state, память, диск, temp SoC, версию
- scale/device/cmd: слушает команды ping/reboot/test-shot от сервера
- использует только stdlib (/proc, /sys) — без новых зависимостей