Files
weighing-controller/CHANGELOG.md
T

86 lines
4.3 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.
# CHANGELOG.md — История изменений
> Восстановлено по истории чатов с Claude
> Проект: Весовой контроллер ESP32 / Zemic TITAN 9
---
## [Unreleased] — Ожидает on-site теста
### Запланировано
- Настройка P5=3 на весах (RS232 передача)
- On-site тест с платформой
- Переход на MQTTS (порт 8883)
---
## [0.4.0] — 2026-03-29
### Добавлено
- ETH + MQTT работают стабильно: `[ETH] IP: 192.168.2.2`, `[MQTT] Connecting... OK`
- DS3231 RTC обнаруживается при правильном порядке инициализации
- Финальная схема подключения W5500 подтверждена (GPIO4 CS, MOSI/MISO swapped)
- Платформа физически подключена к MAX3232 — пайка подтверждена
### Исправлено
- DS3231 начал работать после перестановки Wire.begin() **перед** ETH.begin()
- W5500 "version mismatched" исправлен заменой синего модуля на зелёный (3.3V)
### Изменено
- Прошивка переработана под `ETH.h` + `NetworkClient` (ESP32 core 3.x) вместо `Ethernet.h` + SSLClient
---
## [0.3.0] — 2026-03-27
### Добавлено
- Открытие порта 1884 в Mosquitto для прямого подключения ESP32 (plain MQTT)
- Прошивка успешно подключается к серверу 77.222.43.248:1884
- Выявлена и решена проблема GPIO5 → перешли на GPIO4 как CS для W5500
### Исправлено
- SPI конфликт из-за GPIO5 (strapping pin) — заменён на GPIO4
- MOSI/MISO перепутаны на модуле W5500 — исправлено компенсацией в прошивке
---
## [0.2.0] — 2026-03-27
### Добавлено
- Переход с `Ethernet.h` + SSLClient на нативный `ETH.h` из ESP32 core 3.x (Espressif)
- Обнаружение дефектного синего W5500 (RJ45 трансформатор не работал) — замена на зелёный 3.3V модуль
- NTP синхронизация через Google NTP (216.239.35.0)
- Реализована логика управления реле (светофор: красный/зелёный)
- Добавлен локальный веб-сервер на ESP32 для отображения статуса
### Исправлено
- TLS handshake провалы с SSLClient — отказались в пользу ETH.h
- "W5500 version mismatched" после замены дефектного модуля на рабочий
---
## [0.1.0] — 2026-03-26
### Добавлено
- Первичная архитектура: ESP32 + W5500 + MAX3232 + DS3231 + реле
- Развёрнут Node.js/Express backend на `/var/www/scales/` (порт 3016)
- Настроен Mosquitto MQTT broker с авторизацией
- Пользователь `esp32` для контроллера (publisher)
- Пользователь `scales-server` для бэкенда (subscriber)
- Получен SSL сертификат для `scales.zeroday.su` через certbot
- Настроен nginx reverse proxy (HTTPS → 3016, WebSocket upgrade)
- Настроен nginx stream proxy (MQTTS 8883 → localhost:1883)
- Фронтенд дашборд: реальное время, история взвешиваний, график, светофор
- WebSocket для realtime обновлений без перезагрузки страницы
- PM2 процесс `scales` (id=13) для автозапуска сервера
- REST API: `/api/status`, `/api/history`
- Определён MQTT топик: `scales/weighing/event`, QoS 1
- Определён формат данных весов: `ww000.000kg` (ASCII, 9600 бод, 8N1)
- JSON payload: device_id, timestamp, weight_kg, weight_raw, stable, plate
### Технические решения
- RS232 → MAX3232 → GPIO16 (RX2) ESP32
- Реле: GPIO32 (красный), GPIO33 (зелёный) через BC547 транзисторы
- Питание: 5V 2A PSU для всей системы
- Весы DB25 пин 2 (TXD) → MAX3232 RX; DB25 пин 7 (GND) → общий GND