From baa70ec255aa17313517c51c7cd43b0775e59dbc Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 3 May 2026 10:46:45 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20add=20CHANGELOG.md=20=E2=80=94=20projec?= =?UTF-8?q?t=20history=20reconstructed=20from=20chat=20logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..17e48de --- /dev/null +++ b/CHANGELOG.md @@ -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