Update TASKS.md — Orange Pi integration complete

This commit is contained in:
2026-06-06 21:32:37 +00:00
parent ab2f189930
commit 933ff79757
+54 -36
View File
@@ -1,47 +1,65 @@
# TASKS — Весовой контроллер # Весовой контроллер — TASKS
## ✅ Выполнено ## ✅ Завершено
- [x] ESP32 + W5500 Ethernet — работает, получает IP по DHCP ### Железо
- [x] ESP32 + W5500 Ethernet — прошивка v2.0
- [x] DS3231 RTC + NTP синхронизация - [x] DS3231 RTC + NTP синхронизация
- [x] MQTT подключение к VPS (77.222.43.248:1884) - [x] WaveShare USB/RS232/RS485/TTL изолированный конвертер — подключён к A9
- [x] Веб-интерфейс: статус, журнал, настройки (http://192.168.20.xxx) - [x] Orange Pi PC (Armbian) — основной контроллер вместо ESP32
- [x] Настройки в EEPROM (два MQTT сервера, пороги стабилизации) - [x] USB-RS232 адаптер CH340 — работает на /dev/ttyUSB0
- [x] Парсер формата НЕВА ВСП4 (ww+00017.5kg)
- [x] Машина состояний: EMPTY→LOADING→STABLE→WAIT_GO→LEAVING
- [x] Команда GO от сервера через MQTT (scales/weighing/go)
- [x] Сервер автоматически отправляет GO через 5 сек (заглушка)
- [x] Реле светофор GPIO32/GPIO33 с дебаунсом 30 сек
- [x] **КРИТИЧЕСКИЙ БАग ИСПРАВЛЕН**: кабель был на DB9 пин 2 (выход чипа)
→ нужен пин 3 (вход R1IN чипа). Из-за этого не работало несколько дней.
## 🔄 В процессе ### ПО Orange Pi
- [x] Armbian Debian Trixie установлен
- [x] Python сервис scales.py — читает A9, шлёт в MQTT
- [x] Автозапуск через systemd (scales.service)
- [x] Протокол A9: STX+\x02 + +XXXXXXX + ETX+\x03, 9600 baud
- [x] Парсер веса: 7 цифр, последняя — десятая
- [ ] Подключение A9/TITAN — слабый RS232 сигнал, TTL выдаёт 0.2-1.2V ### MQTT интеграция
Решение: WaveShare USB/RS232 изолированный модуль (в пути, ~30 мая) - [x] MQTT1 локальный: 192.168.20.9:1883 (Mosquitto, их сервер)
- [ ] Новый модуль MAX3232 (куплен, едет) - [x] MQTT2 VPS: 77.222.43.248:1884 (esp32/Esp32Scales#2026)
- [x] Топик веса: scale/weight (простое число, кг)
- [x] Топик GO: scale/traffic/go (JSON с номером и весом)
### ИИ интеграция (их сервер 192.168.20.9)
- [x] Mosquitto установлен и настроен
- [x] weigh.env заполнен (WEIGH_MQTT_HOST=192.168.20.9)
- [x] cameras.env заполнен (Hikvision 192.168.21.84/85)
- [x] CAMERA_TIMEOUT=60 (камеры отвечают медленно)
- [x] app.py доработан: отправляет GO в MQTT после записи номера
- [x] Полный цикл проверен: машина → вес → снимок → номер O453M29 → запись в БД
## 🔄 В работе
- [ ] Финальный тест с реальной машиной (GO + светофор)
- [ ] Подключение реле светофора к GPIO Orange Pi
- [ ] Проверить что GO приходит на Orange Pi после распознавания
## 📋 Предстоит ## 📋 Предстоит
- [ ] Купить и подключить светофор - [ ] GPIO для светофора (Red=PIN11/GPIO0, Green=PIN13/GPIO2)
- [ ] Настроить второй MQTT сервер (локальный, разработчики) - [ ] Логика светофора в scales.py (сейчас только print)
- [ ] Интеграция с ИИ системой (камеры + номер авто) - [ ] Статический IP для Orange Pi (сейчас через DHCP lease в MikroTik)
- [ ] Перенести команду GO из заглушки в реальную логику ИИ - [ ] Настроить наш дашборд scales.zeroday.su под новую архитектуру
- [ ] Добавить время дебаунса реле в веб-настройки
- [ ] Пушнуть финальную прошивку v2 в репо
## 🐛 Известные проблемы
| Проблема | Статус |
|----------|--------|
| A9: слабый RS232, TTL 0.2-1.2V | Ждём WaveShare |
| MAX3232 деградирует после 5V | Куплен новый |
| Время на RTC иногда 2000-й год | NTP синхронизируется при старте, исправлено |
## 📡 Инфраструктура ## 📡 Инфраструктура
- Дашборд: https://scales.zeroday.su - Orange Pi: 192.168.20.221 (DHCP, lease в MikroTik)
- MQTT VPS: 77.222.43.248:1884 (esp32/Esp32Scales#2026) - Сервер ИИ: 192.168.20.9 (Ubuntu, docker compose)
- Топик данных: scales/weighing/event - Дашборд ИИ: http://192.168.20.9:3000 (пароль: admin_agromilk_128*)
- Топик GO: scales/weighing/go - MQTT брокер: 192.168.20.9:1883 (Mosquitto, анонимный)
- Веб ESP32: http://192.168.20.xxx (DHCP) - MQTT VPS: 77.222.43.248:1884
- Весы A9: ttyUSB0, 9600 baud, tF=0, bt=4
- Камеры: rtsp://admin:11qaz22WSX@192.168.21.84/85:554/Streaming/Channels/101
## 🏗️ Архитектура
```
Весы A9 → RS232 → WaveShare → USB → Orange Pi
Orange Pi (scales.py) → MQTT → 192.168.20.9:1883
→ 77.222.43.248:1884
Сервер ИИ (weigh-service) ← MQTT ← scale/weight
Сервер ИИ → камеры → OCR → запись в БД
Сервер ИИ → MQTT → scale/traffic/go → Orange Pi → светофор
```