4.8 KiB
TASKS.md — Открытые задачи и планы
Обновлено: 2026-05-03
🔴 Критические (блокируют запуск)
1. Настроить P5 на весах Zemic TITAN 9
Статус: Не выполнено
Проблема: Параметр P5 (режим RS232 передачи) стоит в дефолтном значении "нет передачи". Данные с весов не поступают.
Что нужно: Войти в сервисное меню, перейти к P5, установить значение 3 (передача при стабильном весе).
Пароль меню: 1
Контакт для консультации: Zemic support: +7 (472) 277-71-19
Важно: Тест без платформы бессмысленен — нужно тестировать с полностью подключённой платформой.
2. Провести on-site тест с платформой
Статус: Ожидает выполнения задачи #1
Что проверить:
- Появление строк
[SCALE]в Serial Monitor - Корректный парсинг формата
ww000.000kg - Публикация MQTT событий → приём на сервере
- Отображение на дашборде https://scales.zeroday.su
🟡 Важные (следующая итерация)
3. Переключить MQTT с plain на MQTTS (порт 8883)
Статус: Готово на стороне сервера, не реализовано в прошивке
Что сделано: nginx stream proxy на 8883 настроен и работает
Что нужно: Переписать прошивку ESP32 под MQTTS после подтверждения RS232-потока
Подход: Использовать ETH.h + нативный TLS из ESP32 core 3.x (SSLClient отказался — TLS handshake fail)
4. Разобраться с DS3231 RTC
Статус: Нестабильное обнаружение
Симптом: Иногда [RTC] DS3231 OK, иногда [RTC] DS3231 NOT found!
Гипотеза: Конфликт I2C и SPI при инициализации
Временное решение: NTP через Google (216.239.35.0) работает стабильно — RTC некритично
Что попробовать: Увеличить delay() между Wire.begin() и ETH.begin(); проверить качество пайки SDA/SCL
5. Персистентность данных в PostgreSQL
Статус: PostgreSQL установлен, не подключён
Сейчас: История хранится in-memory (100 событий), теряется при рестарте
Что нужно:
- Создать таблицу
weighing_events - Подключить
pgnpm модуль в server.js - Писать каждое событие в БД
- API
/api/historyотдаёт из БД с пагинацией
6. Распознавание номерных знаков
Статус: Зарезервировано в JSON ("plate": null)
Описание: Внешняя АСУ или камера должна заполнять поле plate номером авто
Пока: Поле зарезервировано, не реализовано
🟢 Улучшения (будущее)
7. Авторизация на дашборде
Сейчас https://scales.zeroday.su открыт без авторизации. Добавить basic auth или JWT.
8. Алерты при ошибках связи
Уведомление (Telegram, email) если ESP32 отключился от MQTT > X минут.
9. Экспорт истории
Кнопка "Скачать CSV" на дашборде для выгрузки истории взвешиваний.
10. Watchdog и автовосстановление в прошивке
Добавить hardware watchdog и логику reconnect при обрыве Ethernet/MQTT.
11. OTA обновление прошивки
Механизм обновления прошивки ESP32 через сеть (ArduinoOTA или HTTP OTA).
🐛 Известные баги
| # | Описание | Приоритет |
|---|---|---|
| B1 | DS3231 нестабильно определяется при наличии ETH | Низкий |
| B2 | received frame was truncated в логах при старте W5500 |
Некритично (cosmetic) |
| B3 | При Reset ESP32 через кнопку EN — Serial Monitor теряет начало лога | Cosmetic (добавить delay в setup) |