86 lines
4.3 KiB
Markdown
86 lines
4.3 KiB
Markdown
# 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
|