4.3 KiB
4.3 KiB
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