diff --git a/TASKS.md b/TASKS.md index fcb1bd1..58afc76 100644 --- a/TASKS.md +++ b/TASKS.md @@ -1,43 +1,51 @@ # TASKS.md — Открытые задачи и планы -> Обновлено: 2026-05-03 +> Обновлено: 2026-05-24 ## 🔴 Критические (блокируют запуск) -### 1. Настроить P5 на весах Zemic TITAN 9 -**Статус:** Не выполнено -**Проблема:** Параметр P5 (режим RS232 передачи) стоит в дефолтном значении "нет передачи". Данные с весов не поступают. -**Что нужно:** Войти в сервисное меню, перейти к P5, установить значение **3** (передача при стабильном весе). -**Пароль меню:** `1` -**Контакт для консультации:** Zemic support: +7 (472) 277-71-19 -**Важно:** Тест без платформы бессмысленен — нужно тестировать с полностью подключённой платформой. +### 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 тест с платформой +### 2. Провести on-site тест после замены MAX3232 **Статус:** Ожидает выполнения задачи #1 **Что проверить:** -- Появление строк `[SCALE]` в Serial Monitor -- Корректный парсинг формата `ww000.000kg` +- Напряжение на 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-потока -**Подход:** Использовать `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 +### 4. Персистентность данных в PostgreSQL **Статус:** PostgreSQL установлен, не подключён **Сейчас:** История хранится in-memory (100 событий), теряется при рестарте **Что нужно:** @@ -46,29 +54,28 @@ - Писать каждое событие в БД - API `/api/history` отдаёт из БД с пагинацией -### 6. Распознавание номерных знаков +### 5. Распознавание номерных знаков **Статус:** Зарезервировано в JSON (`"plate": null`) -**Описание:** Внешняя АСУ или камера должна заполнять поле `plate` номером авто **Пока:** Поле зарезервировано, не реализовано --- ## 🟢 Улучшения (будущее) -### 7. Авторизация на дашборде +### 6. Авторизация на дашборде Сейчас https://scales.zeroday.su открыт без авторизации. Добавить basic auth или JWT. -### 8. Алерты при ошибках связи +### 7. Алерты при ошибках связи Уведомление (Telegram, email) если ESP32 отключился от MQTT > X минут. -### 9. Экспорт истории +### 8. Экспорт истории Кнопка "Скачать CSV" на дашборде для выгрузки истории взвешиваний. -### 10. Watchdog и автовосстановление в прошивке +### 9. Watchdog и автовосстановление в прошивке Добавить hardware watchdog и логику reconnect при обрыве Ethernet/MQTT. -### 11. OTA обновление прошивки -Механизм обновления прошивки ESP32 через сеть (ArduinoOTA или HTTP OTA). +### 10. OTA обновление прошивки +Механизм обновления прошивки ESP32 через сеть. --- @@ -77,5 +84,6 @@ | # | Описание | Приоритет | |---|---|---| | B1 | DS3231 нестабильно определяется при наличии ETH | Низкий | -| B2 | `received frame was truncated` в логах при старте W5500 | Некритично (cosmetic) | -| B3 | При Reset ESP32 через кнопку EN — Serial Monitor теряет начало лога | Cosmetic (добавить delay в setup) | +| B2 | `received frame was truncated` в логах при старте W5500 | Некритично | +| B3 | При Reset ESP32 через кнопку EN — Serial Monitor теряет начало лога | Cosmetic | +