WiFi моніторинг батареї Dyness B4850 через ESP32 + Arduino

Suyar

Tier3
Реєстрування
24 Кві 2026
Дописи
3
Бали
3
Інвертор
Emerson R48
Вітаю! Хочу поділитись досвідом створення WiFi моніторингу батареї Dyness B4850 з виводом даних через локальну IP адресу і через хмарний сервіс Blynk.
Обладнання
  • ESP32-WROOM-32UE з зовнішньою антеною
  • Модуль MAX485 (RS485 → TTL перетворювач)
  • З'єднувальні дроти
  • Джерело напруги 5 В
Підключення MAX485 → ESP32
MAX485 ESP32
VCC → 3.3V
GND → GND
RO → GPIO16
DI → GPIO17
DE+RE → GPIO4
A → PIN1 батареї (485A)
B → PIN3 батареї (485B)
Налаштування батареї
  • DIP перемикач 2 в положенні ON, решта - OFF
  • Швидкість: 9600 baud
  • Адреса батареї: 2
Алгоритм роботи скетчу
  1. ESP32 підключається до WiFi
  2. Кожні 15 секунд відправляє запит до батареї через RS485
  3. Батарея відповідає в ASCII-HEX форматі
  4. Скетч розшифровує відповідь і отримує всі параметри
  5. Дані доступні через локальну веб-сторінку і відправляються в Blynk
Що відображається
  • Загальна напруга батареї
  • Струм заряду/розряду
  • Заряд (SOC %)
  • Температура
  • Кількість циклів
  • Напруга кожної з 15 комірок окремо
Налаштування Blynk
Зареєструватись в Blynk, отримати Template_ID та Auth_Token дані яких внести в файл скетчу, як і дані домашньої WiFi мережі
Створити 20 потоків даних (Virtual Pins) та сформувати віджети їх виводу на екран:
  • V0 — Напруга (V)
  • V1 — Струм (A)
  • V2 — Температура (°C)
  • V3 — Заряд (%)
  • V4 — Цикли
  • V5-V19 — Комірки 1-15 (V)
Моніторити через Blynk можна як на ПК, так і через мобільний додаток. У мобільному додатку також треба окремо формувати віджети виводу.
  • Скетч розроблений за допомогою Claude AI
  • Батарея відповідає в ASCII-HEX форматі на швидкості 9600 baud
  • SOC розраховується з RemainingCapacity / TotalCapacity що повертає BMS
Якщо не працюватиме або виникатимуть помилки – виправляйте з допомогою ШІ. В будь-якому разі у мене хоч не відразу, але все запрацювало після інтерактивного спілкування з ШІ.
Вибачте, якщо допустився помилок в технічному чи термінологічному плані – я не фахівець з програмування.
В додатку 2 файли скетчів – один для моніторингу лише через локальну IP адресу. Другий - через локальну IP адресу і через хмарний сервіс Blynk.
 

Вкладення

  • Arduino.zip
    4,7 Кб · Перегляди: 4
  • IMG_20260518_080607.jpg
    IMG_20260518_080607.jpg
    219 Кб · Перегляди: 5
Круто вийшло, з Blynk ще не інтегрувався, цікаво.
А через локальну IP адресу чим моніторите? телнетом :)?
 
Круто вийшло, з Blynk ще не інтегрувався, цікаво.
А через локальну IP адресу чим моніторите? телнетом :)
ЕSP32 автоматично отримує свою IP адресу в домашній мережі. У моєму випадку 192.168.50.150. Набираю в браузері цю адресу і отримую веб-сторінку з даними батареї
1779214043910.png
 
У Blynk виглядає так
1779214220956.png
 

Вкладення

  • WhatsApp Image 2026-05-19 at 21.11.27.jpeg
    WhatsApp Image 2026-05-19 at 21.11.27.jpeg
    57,4 Кб · Перегляди: 2
Назад
Угорі