From 933ff797573ee9e5e36aa5aeb033699bcdcae4df Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 6 Jun 2026 21:32:37 +0000 Subject: [PATCH] =?UTF-8?q?Update=20TASKS.md=20=E2=80=94=20Orange=20Pi=20i?= =?UTF-8?q?ntegration=20complete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TASKS.md | 90 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 54 insertions(+), 36 deletions(-) diff --git a/TASKS.md b/TASKS.md index 17fc12b..2923d4e 100644 --- a/TASKS.md +++ b/TASKS.md @@ -1,47 +1,65 @@ -# TASKS — Весовой контроллер +# Весовой контроллер — TASKS -## ✅ Выполнено +## ✅ Завершено -- [x] ESP32 + W5500 Ethernet — работает, получает IP по DHCP +### Железо +- [x] ESP32 + W5500 Ethernet — прошивка v2.0 - [x] DS3231 RTC + NTP синхронизация -- [x] MQTT подключение к VPS (77.222.43.248:1884) -- [x] Веб-интерфейс: статус, журнал, настройки (http://192.168.20.xxx) -- [x] Настройки в EEPROM (два MQTT сервера, пороги стабилизации) -- [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 чипа). Из-за этого не работало несколько дней. +- [x] WaveShare USB/RS232/RS485/TTL изолированный конвертер — подключён к A9 +- [x] Orange Pi PC (Armbian) — основной контроллер вместо ESP32 +- [x] USB-RS232 адаптер CH340 — работает на /dev/ttyUSB0 -## 🔄 В процессе +### ПО 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 - Решение: WaveShare USB/RS232 изолированный модуль (в пути, ~30 мая) -- [ ] Новый модуль MAX3232 (куплен, едет) +### MQTT интеграция +- [x] MQTT1 локальный: 192.168.20.9:1883 (Mosquitto, их сервер) +- [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 после распознавания ## 📋 Предстоит -- [ ] Купить и подключить светофор -- [ ] Настроить второй MQTT сервер (локальный, разработчики) -- [ ] Интеграция с ИИ системой (камеры + номер авто) -- [ ] Перенести команду GO из заглушки в реальную логику ИИ -- [ ] Добавить время дебаунса реле в веб-настройки -- [ ] Пушнуть финальную прошивку v2 в репо - -## 🐛 Известные проблемы - -| Проблема | Статус | -|----------|--------| -| A9: слабый RS232, TTL 0.2-1.2V | Ждём WaveShare | -| MAX3232 деградирует после 5V | Куплен новый | -| Время на RTC иногда 2000-й год | NTP синхронизируется при старте, исправлено | +- [ ] GPIO для светофора (Red=PIN11/GPIO0, Green=PIN13/GPIO2) +- [ ] Логика светофора в scales.py (сейчас только print) +- [ ] Статический IP для Orange Pi (сейчас через DHCP lease в MikroTik) +- [ ] Настроить наш дашборд scales.zeroday.su под новую архитектуру ## 📡 Инфраструктура -- Дашборд: https://scales.zeroday.su -- MQTT VPS: 77.222.43.248:1884 (esp32/Esp32Scales#2026) -- Топик данных: scales/weighing/event -- Топик GO: scales/weighing/go -- Веб ESP32: http://192.168.20.xxx (DHCP) +- Orange Pi: 192.168.20.221 (DHCP, lease в MikroTik) +- Сервер ИИ: 192.168.20.9 (Ubuntu, docker compose) +- Дашборд ИИ: http://192.168.20.9:3000 (пароль: admin_agromilk_128*) +- MQTT брокер: 192.168.20.9:1883 (Mosquitto, анонимный) +- 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 → светофор +```