Files
weighing-controller/TASKS.md
T

90 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TASKS.md — Открытые задачи и планы
> Обновлено: 2026-05-24
## 🔴 Критические (блокируют запуск)
### 1. Заменить модуль MAX3232 (HW-044)
**Статус:** Выявлена неисправность 2026-05-24
**Проблема:** Модуль HW-044 бракованный — не преобразует RS232 в TTL. На TXD пине постоянное напряжение 3.25В, не меняется при передаче данных с терминала.
**Что проверено:**
- RS232 сигнал с терминала A9 есть: -4.46В на DB9 пин 2 ✅
- Питание MAX3232: 3.3В
- Подключение правильное: TXD→GPIO16, RXD→GPIO17 ✅
- При замере TXD модуля при нагруженной платформе: постоянное 3.25В ❌ (должно меняться 0↔3.3В)
**Что нужно:** Заказать новый модуль MAX3232 (SP3232 или HW-044). Взять 2-3 штуки про запас.
**Проверка нового модуля:** Подключить, встать на платформу, замерить TXD пин — должно прыгать ~1.5-2В на тестере.
### 2. Провести on-site тест после замены MAX3232
**Статус:** Ожидает выполнения задачи #1
**Что проверить:**
- Напряжение на TXD модуля меняется при нагрузке на платформе
- Появление RAW байтов `[RAW] 0x02` в Serial Monitor
- Появление строк `[SCALE]` с весом
- Публикация MQTT событий → приём на сервере
- Отображение на дашборде https://scales.zeroday.su
---
## ✅ Выполнено (2026-05-24)
- ESP32 инициализируется корректно (RTC, ETH, UART, MQTT)
- W5500 Ethernet получает IP по DHCP (192.168.20.252)
- MQTT подключается к брокеру 77.222.43.248:1884 ✅
- Дашборд https://scales.zeroday.su работает ✅
- Настройки терминала A9: bt=4 (9600 baud), tF=0 (непрерывная передача) ✅
- RS232 сигнал с терминала подтверждён тестером (-4.46В на DB9 пин 2) ✅
- Кабель DB15→DB9 проверен, распайка правильная ✅
---
## 🟡 Важные (следующая итерация)
### 3. Переключить MQTT с plain на MQTTS (порт 8883)
**Статус:** Готово на стороне сервера, не реализовано в прошивке
**Что сделано:** nginx stream proxy на 8883 настроен и работает
**Что нужно:** Переписать прошивку ESP32 под MQTTS после подтверждения RS232-потока
### 4. Персистентность данных в PostgreSQL
**Статус:** PostgreSQL установлен, не подключён
**Сейчас:** История хранится in-memory (100 событий), теряется при рестарте
**Что нужно:**
- Создать таблицу `weighing_events`
- Подключить `pg` npm модуль в server.js
- Писать каждое событие в БД
- API `/api/history` отдаёт из БД с пагинацией
### 5. Распознавание номерных знаков
**Статус:** Зарезервировано в JSON (`"plate": null`)
**Пока:** Поле зарезервировано, не реализовано
---
## 🟢 Улучшения (будущее)
### 6. Авторизация на дашборде
Сейчас https://scales.zeroday.su открыт без авторизации. Добавить basic auth или JWT.
### 7. Алерты при ошибках связи
Уведомление (Telegram, email) если ESP32 отключился от MQTT > X минут.
### 8. Экспорт истории
Кнопка "Скачать CSV" на дашборде для выгрузки истории взвешиваний.
### 9. Watchdog и автовосстановление в прошивке
Добавить hardware watchdog и логику reconnect при обрыве Ethernet/MQTT.
### 10. OTA обновление прошивки
Механизм обновления прошивки ESP32 через сеть.
---
## 🐛 Известные баги
| # | Описание | Приоритет |
|---|---|---|
| B1 | DS3231 нестабильно определяется при наличии ETH | Низкий |
| B2 | `received frame was truncated` в логах при старте W5500 | Некритично |
| B3 | При Reset ESP32 через кнопку EN — Serial Monitor теряет начало лога | Cosmetic |