Daly BMS подключаем к одноплатнику

Daly BMS подключаем к одноплатнику

Сообщение immortal » 25 фев 2023, 01:18

Китайские BMS можно подключить не только к родному блютус приложению, но и к одноплатнику типа Raspberry Pi (Orange Pi, Nano Pi и т.п.)
подключаемся к консоли Linux одноплатника по ssh (в виндовс это программа putty)
В консоли устанавливаем python-pip
Код: Выделить всё
sudo apt install python3-pip

устанавливаем dalybms
Код: Выделить всё
pip3 install dalybms

для работы с uat портом и mqtt сервером ставим соответствующие пакеты
Код: Выделить всё
pip3 install pyserial
pip3 install paho-mqtt

необходимо так же установить mqtt сервер если он ещё не установлен
Код: Выделить всё
sudo apt install mosquitto

на этом установка завершена
подключаем нашу BMS к uart порту либо через usb-uart адаптер либо через uart разъем на одноплатнике (необходимо включить порт в настройках), далее будет рассмотрено подключение через usb-uart
Подключаем следующим образом:
BMS - UART
GND - GND
RX - TX
TX - RX
После подключения usb-uart адаптера смотрим имя адаптера введя команду
Код: Выделить всё
ls -n /dev/ttyU*

должен показать устройства
crw-rw---- 1 0 20 188, 0 Feb 24 21:12 /dev/ttyUSB0
crw-rw----+ 1 0 20 188, 0 Feb 24 19:57 /dev/ttyUSB1
где /dev/ttyUSB0 и /dev/ttyUSB1 это наши USB устройства, у меня их 2 и с этим могут быть проблемы поскольку при перезагрузки они могут иметь имена наоборот и после перезагрузки устройства не будут работать. Для того чтобы это исключить мы будем обращаться к устройства по ID, получаем id наших устройств, вводим команду:
Код: Выделить всё
ls -n /dev/serial/by-id/*

получаем список
lrwxrwxrwx 1 0 0 13 Sep 8 09:58 /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_12967c31b312ec11b6da21c7bd930c07-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 0 0 13 Feb 24 22:18 /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB1
голубым это наши устройства, в дальнейшем в конфигах и командах можно использовать как /dev/ttyUSB0 так и полный путь к id устройству.
У меня как видно Sonoff Zigbee USB стик и USB-UART адаптер на чипе CP2102 (USB-UART адаптеры бывают на разных чипах)
Теперь проверим соединение с нашей BMS.
Код: Выделить всё
daly-bms-cli  -d /dev/ttyUSB1 --all

или можно по id, но нам для проверки достаточно и этого, мы получим все параметры. Если данные не получены то возможно Ваша BMS сделана на другом чипе, для этого надо добавить флаг --sinowealth
Код: Выделить всё
daly-bms-cli  -d /dev/ttyUSB1 --all --sinowealth

Теперь есть несколько вариантов просмотра данных, не зависимо от того какую систему домашней автоматизации Вы используете мы будем передавать данные в систему домашней автоматизации по популярному протоколу mqtt, команда которую мы написали выше будет иметь вид:
Код: Выделить всё
daly-bms-cli -d /dev/ttyUSB0 --all --mqtt

нам надо сделать периодический опрос нашей BMS, lдобавим периодический запуск в планировщик:
Код: Выделить всё
crontab - e

в конец вставляем команду:
Код: Выделить всё
*/1 * * * * daly-bms-cli -d /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 --all --mqtt

сохраняем, теперь команда будет запускаться каждую минуту (чаще в crontab не сделать)
Теперь в программе автоматизации надо подписаться на топик daly_bms и разобрать полученные данные, например вот так выглядит поток в Node-red для вывода в вэб интерфейс Node-red и в HomeKit значение напряжения
0852.jpg
0852.jpg (69.69 КБ) Просмотров: 408

в ноде с именем "шаблон" выбирает из множества данных напряжение
Код: Выделить всё
{{payload.soc.total_voltage}}

вот так выглядит плитка в вэб интерфейсе Node-red
0853.jpg
0853.jpg (8.86 КБ) Просмотров: 408
immortal
 
Сообщения: 113
Зарегистрирован: 01 дек 2022, 23:00
Техника: Автодом на базе мерседес
Имя: Сергей

Re: Daly BMS подключаем к одноплатнику

Сообщение immortal » 02 июн 2023, 19:09

Нашел таки то что мне нужно, подключение DalyBMS по wi-fi и mqtt
https://github.com/softwarecrash/Daly2MQTT
Плюсы по сравнению с другими вариантами:
- можно включать/выключать заряд/разряд
- не надо тянуть провод к одноплатнику
- можно использовать без одноплатника
- можно использовать без mqtt сервера а подключаться на прямую по вайфай
- подключается в блютус разъем и питается от БМС (не требуется доп. питание)
immortal
 
Сообщения: 113
Зарегистрирован: 01 дек 2022, 23:00
Техника: Автодом на базе мерседес
Имя: Сергей


Вернуться в Электричество

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4