Files

4.3 KiB
Raw Permalink Blame History

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