docs: add TASKS.md — open tasks, bugs, future plans

This commit is contained in:
2026-05-03 10:46:45 +00:00
parent cf99f2a794
commit 031cf56c1c
+81
View File
@@ -0,0 +1,81 @@
# 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`
- Подключить `pg` npm модуль в 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) |