docs: add CHANGELOG.md — project history reconstructed from chat logs
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user