Skip to Content

LogiViktori

Расширенный протокол передачи данных, встроенная аналитика, журнал операций, уведомления в Telegram и восстановление сеанса после сбоя питания. Для работы нужна SD-карта.

Файлы для скачивания: Яндекс Диск 

Сборка

Компоненты, подключение и сборка логгера описаны в разделе Сборка логгера. Набор модулей одинаковый для всех логгеров.

Настройка прошивки ЗУ

В файле 1_User_Setup.h зарядного устройства:

#define LOGGER 4 // режим LogiViktori #define SERIAL_SPEED 9600 // скорость порта #define LOGGTIME 5 // период отправки данных, секунды

Режим LOGGER 4 передаёт расширенный набор данных: режим работы, тип АКБ, ёмкость, профиль, энергию (Вт·ч), номер круга и причину завершения – помимо стандартных напряжения, тока и температур.

Если в прошивке ЗУ установлен другой режим (LOGGER 1, 2 или 3) – логгер определит это автоматически и покажет предупреждение в веб-интерфейсе.

Подключение

ArduinoESPНазначение
5V5VПитание
GNDGNDЗемля
TX (D1)RXДанные

TX от ESP к Arduino подключать не нужно. При прошивке Arduino – отключить провод данных от логгера.

Подготовка SD-карты

  1. Отформатировать карту в FAT32 (макс. 32 ГБ). Лучше использовать карты Kingston, SanDisk или аналогичные
  2. Из архива с прошивкой скопировать папку web в корень SD-карты – в ней файлы веб-интерфейса
  3. Вставить карту в модуль

Без папки web на SD-карте интерфейс не загрузится. При запуске светодиод мигнёт 4 раза – это значит, что папка не найдена.

После запуска логгер сам создаст на карте нужные папки (logs, records) и файл конфигурации config.json.

Поддерживаемые платы

ПлатаПримечание
Wemos D1 Mini (ESP8266)Базовая поддержка, без Telegram
Wemos D1 Mini32 (ESP32)Рекомендуемая плата
ESP32 с перепутанными RX/TXПрошивка esp32_inverted_rx1_tx3 – для китайских плат со свёрнутыми пинами RX (GPIO1) и TX (GPIO3)
ESP32-S2 (Lolin S2 Mini)Поддерживается
ESP32-S3Поддерживается. Светодиод недоступен

Прошивка логгера

Версия прошивки логгера: 1.13.0
Скачать web.zip
  1. Скачать web.zip и распаковать папку web на SD-карту
  2. Выбрать .bin файл под свою плату
  3. Установить прошивку одним из способов:
    • Через загрузчик – загрузить загрузчик в ESP через Arduino IDE, затем залить .bin через его веб-интерфейс
    • Через OTA – если на ESP уже стоит любой логгер, загрузить .bin через его веб-интерфейс (раздел настроек)

Прошивку можно обновлять по воздуху (OTA) через веб-интерфейс – раздел настроек, загрузка файла прошивки. После загрузки устройство перезагрузится автоматически.

Диагностика по светодиоду

При запуске логгер сигнализирует о состоянии через встроенный светодиод.

Сигналы при старте:

СигналЗначениеЧто делать
Постоянное быстрое миганиеПроблема с SD-картойПроверить карту, формат, контакты. Логгер остановлен
2 длинныхRTC-модуль не найденЛоггер продолжит работу без аппаратных часов
4 быстрыхНет папки web на SD-картеСкопировать папку web из архива
3 длинныхWi-Fi не подключился, режим точки доступаПодключиться к точке доступа и настроить Wi-Fi
6 быстрыхОшибка NTP-синхронизацииВремя синхронизируется позже или вручную
3 быстрыхЗапуск без ошибокВсё в порядке

Во время работы:

СигналЗначение
1 короткая вспышкаДанные от ЗУ получены и записаны
5 короткихПотеря Wi-Fi, переподключение

На ESP32-S3 светодиод недоступен – диагностика только через веб-интерфейс.

Wi-Fi

Первое подключение

При первом запуске (или если конфигурация не задана) логгер создаёт открытую точку доступа:

  • Имя сети: Logi&ViktoRi
  • Пароль: нет
  • IP-адрес: 192.168.4.1

Нужно подключиться к этой сети и открыть 192.168.4.1 в браузере.

Домашний Wi-Fi

В веб-интерфейсе можно указать SSID и пароль домашней сети. Поддерживается как DHCP (автоматическое получение IP), так и статический IP – адрес, шлюз, маска и DNS задаются в настройках.

Если при старте подключение не удалось в течение 30 секунд – логгер переключается в режим точки доступа. При потере Wi-Fi во время работы логгер продолжает попытки переподключения каждые 20 секунд автоматически.

Синхронизация времени

Время синхронизируется несколькими способами:

  • NTP – автоматически при подключении к Wi-Fi с интернетом. По умолчанию используются серверы pool.ntp.org и time.nist.gov
  • Вручную – через веб-интерфейс. Время берётся с телефона или компьютера
  • RTC – если установлен модуль часов, время загружается из него при включении

Часовой пояс задаётся в веб-интерфейсе (по умолчанию UTC+3, Москва).

Интернет не обязателен. Время можно синхронизировать с телефона через веб-интерфейс. Если ни NTP, ни ручная синхронизация не сработали – файлы получат временное имя и будут переименованы при первой успешной синхронизации.

Веб-интерфейс

Интерфейс загружается с SD-карты и работает в браузере. Данные передаются в реальном времени через WebSocket.

Что доступно:

  • Графики – напряжение, ток, температура, мощность в реальном времени
  • Журнал операций – список всех сеансов зарядки/разряда с датами и параметрами
  • Аналитика – CC/CV анализ, C-rate, энергия, приблизительное внутреннее сопротивление, качество БП (пульсации, стабильность), термомониторинг
  • Файловый менеджер – скачивание и удаление логов
  • Настройки – Wi-Fi, часовой пояс, NTP, Telegram, непрерывное логирование, обновление прошивки (OTA), перезагрузка устройства

Интерфейс адаптирован под мобильные устройства.

Структура логов на SD-карте

LogiViktori ведёт два типа записей:

Папка logs

Непрерывные логи – запись от включения до выключения питания. Файлы с префиксом startup_:

/logs/startup_16-03-2025_14-30.csv

Содержат все данные, включая периоды простоя (ЗУ включено, но заряд не идёт). Непрерывное логирование можно отключить в настройках.

Папка records

Сеансовые записи – отдельный файл для каждого сеанса зарядки или разряда. Имя файла содержит дату, режим, тип АКБ и ёмкость:

/records/16-03-2025_14-30_Charge_PbAGM_60Ah.csv

Запись начинается, когда ЗУ запускает процесс, и заканчивается при его остановке.

Восстановление после сбоя питания

Если питание пропало во время активного сеанса – при следующем включении логгер восстановит состояние из файла /session.json и продолжит запись в тот же файл. Состояние сохраняется каждые 60 секунд.

Telegram-уведомления

Работает только на ESP32 и при наличии подключения к интернету. Настройка – через веб-интерфейс (токен бота и chat ID).

Какие уведомления отправляются:

СобытиеСодержание
Запуск устройстваВерсия прошивки, IP-адрес, ссылка на веб-интерфейс
Начало зарядкиРежим, профиль, тип АКБ, ёмкость
Смена режимаПредыдущий и новый режим, время, параметры
Завершение зарядкиВремя, напряжение, температуры, причина завершения, ссылка на отчёт
Нет данных от ЗУПредупреждение, если данные не поступают N минут (настраивается)
Перегрев Q1 или АКБТекущая температура и порог (настраивается)

Пороги температуры и таймаут отсутствия данных задаются в настройках. Значение 0 – уведомление отключено.

Просмотр логов

  • Встроенный вьювер – графики прямо в веб-интерфейсе логгера
  • Офлайн-вьювер – скачивается с логгера, работает в браузере без сервера
  • CSV-файлы открываются в Excel или любом табличном редакторе

CSV-файлы используют точку с запятой (;) как разделитель и запятую как десятичный разделитель (европейский формат). Excel обычно распознаёт это автоматически.

ESP32 vs ESP8266

ESP8266ESP32
Процессор1 ядро, 160 МГц2 ядра, 240 МГц
ОЗУ~52 КБ~520 КБ
TelegramНетДа
UARTВ основном циклеОтдельная задача (FreeRTOS), без потерь данных
Скорость Wi-FiМедленная, задержки при загрузке файловБыстрая
СтабильностьВозможны обрывы Wi-Fi при нехватке RAMСтабильная

ESP32 рекомендуется. ESP8266 работает, но медленнее, без Telegram и с менее надёжным приёмом данных по UART.

Last updated on