Полевой режим (Outdoor AP) + captive-landing + контроль целостности stream-export.
Накопительный релиз v1.0.11 → v1.1.2 (промежуточные v1.1.0/v1.1.1 отдельными релизами не публиковались).
🌲 Полевой режим (Outdoor AP) — главное в этом релизе
Плата теперь умеет работать в поле без роутера и интернета — сама поднимает точку доступа Wi-Fi, к которой подключается телефон и получает полный интерфейс прибора. Всё, что нужно в поле: плата, телефон и (по желанию) повербанк для питания.
Как это работает:
- Плата поднимает точку доступа
AtomSpectra-Outdoor(парольatomspectra, WPA2-PSK), адрес192.168.4.1. - Телефон подключается к сети → операционная система делает обычную «проверку связи» → показывает привычное уведомление «Вход в сеть» (как в кафе или аэропорту) → всплывает лёгкая страница входа с крупным адресом прибора (
192.168.4.1иatomspectra.local), которая сама открывает интерфейс прибора за ~1 секунду. Там же кнопка «Открыть прибор →». - Страница входа нарочно лёгкая (без внешних шрифтов и скриптов) — гарантированно рисуется в упрощённом «captive-браузере» телефона, где тяжёлый основной интерфейс иногда не догружается. Если авто-переход не сработал (iOS умеет ограничивать) — адрес виден на экране, введите
192.168.4.1в браузере вручную. - В интерфейсе доступно всё: живой спектр, водопад, экспорт (N42/XML/SPE/CSV), управление прибором (
-sta/-sto/-rst), калибровка, сохранение спектров. - Данные водопада всё это время копятся на flash платы (LittleFS) и забираются дома в режиме Indoor приёмником.
- Всё офлайн: ни SNTP, ни выгрузки наружу, ни облака.
Три способа войти в Outdoor:
- Переключатель Indoor ↔ Outdoor в шапке стартовой страницы — «липкий» режим, сохраняется между перезагрузками, пока не переключите обратно.
- Автоматически (fallback) — если домашняя сеть недоступна ≥ 90 с, плата одноразово поднимает полевой AP; следующая перезагрузка снова пробует домашнюю сеть.
- С новой (ненастроенной) платы — кнопка «Полевой режим (Outdoor)» в setup-портале.
Время в поле. Интернета нет → SNTP не работает. Время берётся с браузера телефона автоматически при открытии любой страницы (и раз в час); ручная коррекция — поле datetime-local в разделе «Система». При активном SNTP (дома) ручная/браузерная установка игнорируется. Экспорт со дня, когда время ещё не пришло (часы = 1970), помечается «TIME NOT SYNCHRONIZED» и не портит нормальные записи.
Безопасность. Пароль AP по умолчанию atomspectra — публичный, документированный; через открытый AP управляется прибор (включая -rst, стирающий спектр), поэтому для людных мест смените пароль в разделе «Система» (применяется после ребута). При дефолтном пароле Web UI показывает предупреждение.
Bluetooth. Не используется и не собирается (CONFIG_BT_ENABLED=n) — BLE-радио не инициализируется ни в одном режиме, RAM и питание не тратит.
Прочее в релизе
- CRC32 на stream-export (v1.1.1):
GET /api/waterfall/export.aswf(выгрузка из кольца ОЗУ) теперь пишет per-row CRC32 — единый формат v5 с flash-сегментами. Контроль целостности.aswfдоступен и на потоковых выгрузках, не только на сегментах flash.
Прошивка
Web-флешер тянет firmware.factory.bin автоматически (offset 0x0). Ручная прошивка — см. INSTALL.md (bootloader / partition-table / app по offset'ам из flasher_args.json).
SHA256: firmware.factory.bin a7d39da9998293cff53f8804439b25e05a9702626d052e6ace1cbc8b841ebd4c