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

Мониторинг – онлайн-график заряда
Сборка
Компоненты, подключение и сборка логгера описаны в разделе Сборка логгера. Набор модулей одинаковый для всех логгеров.
Настройка прошивки ЗУ
В файле 1_User_Setup.h зарядного устройства:
#define LOGGER 4 // режим LogiViktori
#define SERIAL_SPEED 9600 // скорость порта
#define LOGGTIME 5 // период отправки данных, секундыРежим LOGGER 4 передаёт расширенный набор данных: режим работы, тип АКБ, ёмкость, профиль, энергию (Вт·ч), номер круга и причину завершения – помимо стандартных напряжения, тока и температур.
Если в прошивке ЗУ установлен другой режим (LOGGER 1, 2 или 3) – логгер определит это автоматически и покажет предупреждение в веб-интерфейсе.
Подключение
| Arduino | ESP | Назначение |
|---|---|---|
| 5V | 5V | Питание |
| GND | GND | Земля |
| TX (D1) | RX | Данные |
TX от ESP к Arduino подключать не нужно. При прошивке Arduino – отключить провод данных от логгера.
Подготовка SD-карты
- Отформатировать карту в FAT32 (макс. 32 ГБ). Лучше использовать карты Kingston, SanDisk или аналогичные
- Из архива с прошивкой скопировать папку
webв корень SD-карты – в ней файлы веб-интерфейса - Вставить карту в модуль
Без папки 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 | Поддерживается. Светодиод недоступен |
Прошивка логгера
- Скачать
web.zipи распаковать папкуwebна SD-карту - Выбрать
.binфайл под свою плату - Установить прошивку одним из способов:
- Через загрузчик – загрузить загрузчик в ESP через Arduino IDE, затем залить
.binчерез его веб-интерфейс - Через OTA – если на ESP уже стоит любой логгер, загрузить
.binчерез его веб-интерфейс (раздел настроек)
- Через загрузчик – загрузить загрузчик в ESP через Arduino IDE, затем залить
Прошивку можно обновлять по воздуху (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
| ESP8266 | ESP32 | |
|---|---|---|
| Процессор | 1 ядро, 160 МГц | 2 ядра, 240 МГц |
| ОЗУ | ~52 КБ | ~520 КБ |
| Telegram | Нет | Да |
| UART | В основном цикле | Отдельная задача (FreeRTOS), без потерь данных |
| Скорость Wi-Fi | Медленная, задержки при загрузке файлов | Быстрая |
| Стабильность | Возможны обрывы Wi-Fi при нехватке RAM | Стабильная |
ESP32 рекомендуется. ESP8266 работает, но медленнее, без Telegram и с менее надёжным приёмом данных по UART.