Альтернативное подключение оборудования (wifi, mqtt,uart)
Модератори: Valentin, igor1965
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Альтернативное подключение оборудования (wifi, mqtt,uart)
BMS
DalyBMS подключение к RaspberryPi, OrangePi, NanoPi и т.п. через UART порт
DalyBMS мониторинг в Linux через UART порт
DalyBMS подключаемся через wi-fi и mqtt c помощью ESP8266 прошивка Daly2mqtt
DalyBMS подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
JK BMS подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
JBD BMS или JK BMS подключаемся через wi-fi и mqtt c помощью esp8266 прошивка Dima espirans
Seplos BMS подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
ANT-BMS подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
Basen BMS подключаемся через wi-fi и mqtt c помощью esp32 прошивка esphome
MPPT контроллеры
JNGE mppt контроллер подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
Victron SmartSolar MPPT подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
Инверторы
Victron Phoenix Inverter подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
Разное
Votronic подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
Victron SmartShunt подключаемся через wi-fi и mqtt c помощью esp32/esp8266 прошивка esphome
Victron подключаем к одноплатнику через UART порт
WKS подключаем к одноплатнику через UART порт
Солнечные инверторы EASUN, PIP, IGrid подключаемся через wi-fi и mqtt c помощью ESP8266 прошивка Solar2mqtt
DalyBMS, JK BMS, JBD / Xiaoxiang / Overkill Solar BMS, Victron SmartShunt подключение через Bluetooth к одноплатнику через HomeAssistant OS или HomeAssistant supervisor
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Daly BMS подключаем к одноплатнику
https://youtu.be/m-Umt_olgws
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Daly BMS подключаем к одноплатнику
https://github.com/softwarecrash/Daly2MQTT
Плюсы по сравнению с другими вариантами:
- можно включать/выключать заряд/разряд
- не надо тянуть провод к одноплатнику
- можно использовать без одноплатника
- можно использовать без mqtt сервера а подключаться на прямую по вайфай
- подключается в блютус разъем и питается от БМС (не требуется доп. питание)
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Daly BMS подключаем к одноплатнику
Прошивка esphome для esp32/esp8266 реализующая wifi и mqtt доступ к параметрам и управлению JK BMS
https://github.com/syssi/esphome-jk-bms
JBD BMS или JK BMS
Прошивка для esp8266 реализующая реализующая wifi и mqtt доступ к параметрам и управлению JBD BMS и JK BMS
видео https://youtu.be/Bmpn2rkEp7Q
прошивка: https://drive.google.com/drive/folders/ ... HV-0cyoSiz
Seplos BMS
Прошивка esphome для esp32/esp8266 реализующая wifi и mqtt доступ к параметрам и управлению Seplos BMS по uart или rs485 https://github.com/syssi/esphome-seplos-bms
ANT-BMS
Прошивка esphome для esp32/esp8266 реализующая wifi и mqtt доступ к параметрам и управлению ANT-BMS
https://github.com/syssi/esphome-ant-bms
Тут много прошивок для разных солнечных контроллеров и разных BMS
- Deffi
- Site Admin
- Повідомлень: 10507
- З нами з: Сер червня 03, 2009 11:59
- Ім'я: Евгений
- Техніка: M. Pajero 3.2 + TABBERT Regent 440
- Країна, місто: Украина Днепропетровск
- Skype: Deffi123
- zello: Deffi76
- Дякував (ла): 521 раз
- Подякували: 382 рази
- Контактна інформація:
Daly BMS подключаем к одноплатнику
Солнечные панели, Аккумуляторы, Контроллеры
066-929-86-86; 067-140-87-50
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Подключение оборудования к одноплатнику
подключаемся к консоли Linux одноплатника по ssh (в виндовс это программа putty)
В консоли устанавливаем python-pip
Код: Виділити все
sudo apt install python3-pip
Код: Виділити все
pip3 install dalybms
Код: Виділити все
pip3 install pyserial
pip3 install paho-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
Код: Виділити все
daly-bms-cli -d /dev/ttyUSB1 --all --sinowealth
Код: Виділити все
daly-bms-cli -d /dev/ttyUSB0 --all --mqtt
Код: Виділити все
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
Теперь в программе автоматизации надо подписаться на топик daly_bms и разобрать полученные данные, например вот так выглядит поток в Node-red для вывода в вэб интерфейс Node-red и в HomeKit значение напряжения в ноде с именем "шаблон" выбирает из множества данных напряжение
Код: Виділити все
{{payload.soc.total_voltage}}
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Подключение оборудования к одноплатнику
Установка.
заходим в консоль нашего одноплатника по ssh (в виндовс программа putty)
все команды будем выполнять от суперпользователя, по этому если Вы зашли не под пользователем root то в консоли выполним:
Код: Виділити все
sudo su
Код: Виділити все
apt install aptitude php-cli php-yaml git sudo screen sshpass python3-pip
pip install pyserial
cd /opt
git clone https://github.com/kepon85/PvMonit.git
cd PvMonit
cp config-default.yaml /opt/PvMonit/config.yaml
для подключения оборудования Victron Вам нужно приобрести USB-кабель victron VE.direct (судя по видео для самостоятельного изготовления это обычный USB-UART просто припаянный к разъему типа папа который вставляется в оборудование Victron)
подключаем оборудование к одноплатнику и сразу смотрим его имя по id
Код: Виділити все
ls -n /dev/serial/by-id/*
После подключения кабеля смотрим имя адаптера введя команду
Код: Виділити все
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 адаптеры бывают на разных чипах)
теперь проверяем получает ли данные с контроллера,
Код: Виділити все
/opt/PvMonit/bin/vedirect.py /dev/ttyUSB0
/dev/ttyUSB0 - заменить на свой, лучше по id
Код: Виділити все
/opt/PvMonit/bin/vedirect.py /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
должны быть данные
Код: Виділити все
PID:0xA04A
FW:119
SER#:HQ********
V:25660
I:500
VPV:53270
PPV:14
CS:3
ERR:0
LOAD:ON
H19:3348
H20:1
H21:17
H22:33
H23:167
HSDS:52
теперь по традиции всё это запихаем в mqtt, для этого сначала установим mqtt клиент
Код: Виділити все
apt install mosquitto-clients
Код: Виділити все
nano /opt/PvMonit/ved
Код: Виділити все
#!/bin/bash
RES=$(/opt/PvMonit/bin/vedirect.py /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0)
RES=`echo $RES | sed 's/:/":"/g'`
RES=`echo $RES | sed 's/ /", "/g'`
RES=`echo $RES | sed 's/\n/", "/g'`
RESULT='{"'$RES'"}'
mosquitto_pub -h localhost -p 1883 -t ved -m "$RESULT"
Код: Виділити все
chmod +x /opt/PvMonit/ved
Код: Виділити все
crontab -e
Код: Виділити все
*/1 * * * * /opt/PvMonit/ved
теперь все данные мы получим подписавшись на топик ved
скрипт преобразует в JSON формат с помощью замен ,к сожалению у меня нет под рукой этого оборудования и я не знаю какие символы переноса строк, но вроде преобразует правильно, в случае не правильного преобразования надо изменить код скрипта, возможно так же закомментировать 3,4 и 5-ю строки и разбор данных делать в системе домашней автоматизации.
Возможно подключение нескольких устройств, для этого надо для каждого устройства произвести настройки указанные выше только изменить название bash скрипта для каждого устройства
Есть так же на странице проекта библиотека для Arduino и пример подключения оборудования Victron к ардуино, но это выходит за рамки данной статьи.
Поддерживаемое оборудование:
Victron
BMV: 600, 700, 702, 700H
BlueSolar MPPT 75/10, 70/15, 75/14, 100/15, 100/30 rev1, 100/30 rev2, 150/35 rev1, 150/35 rev2, 150/45, 75/50, 100/50 rev1, 100/50 rev2, 150/60, 150/70, 150/85, 150/100
SmartSolar MPPT 250/100, 150/100*, 150/85*, 75/15, 75/10, 100/15, 100/30, 100/50, 150/35, 150/100 rev2, 150/85 rev2, 250/70, 250/85, 250/60, 250/45, 100/20, 100/20 48V, 150/45, 150/60, 150/70, 250/85 rev2, 250/100 rev2“
Phoenix Inverter 12V 250VA 230V*, 24V 250VA 230V*, 48V 250VA 230V*, 12V 375VA 230V*, 24V 375VA 230V*, 48V 375VA 230V*, 12V 500VA 230V*, 24V 500VA 230V*, 48V 500VA 230V*, 12V 250VA 230V, 24V 250VA 230V, 48V 250VA 230V, 12V 250VA 120V, 24V 250VA 120V, 48V 250VA 120V, 12V 375VA 230V, 24V 375VA 230V, 48V 375VA 230V, 12V 375VA 120V, 24V 375VA 120V, 48V 375VA 120V, 12V 500VA 230V, 24V 500VA 230V, 48V 500VA 230V, 12V 500VA 120V, 24V 500VA 120V, 48V 500VA 120V, 12V 800VA 230V, 24V 800VA 230V, 48V 800VA 230V, 12V 800VA 120V, 24V 800VA 120V, 48V 800VA 120V, 12V 1200VA 230V, 24V 1200VA 230V, 48V 1200VA 230V, 12V 1200VA 120V, 24V 1200VA 120V, 48V 1200VA 120V
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Подключение оборудования к одноплатнику
Проект PvMonit предназначен для мониторинга оборудования WKS и Victron, совместимого с Ve.direct
В частности одна из задач не только мониторинг, но и использование избыточной энергии. Избыточная энергия это когда у Вас например в 12 часов заряжены все аккумуляторы от солнечных панелей, а солнце ещё светит и светит.
Проект на французском тут.
Установка.
заходим в консоль нашего одноплатника по ssh (в виндовс программа putty)
все команды будем выполнять от суперпользователя, по этому если Вы зашли не под пользователем root то в консоли выполним:
Код: Виділити все
sudo su
Код: Виділити все
apt install aptitude php-cli php-yaml git sudo screen sshpass python3-pip
pip install pyserial
cd /opt
git clone https://github.com/kepon85/PvMonit.git
cd PvMonit
cp config-default.yaml /opt/PvMonit/config.yaml
Настройки оборудования
устанавливаем необходимые пакеты
Код: Виділити все
aptitude install python3-usb python3-libusb1 python3-json
pip3 install crc16
Код: Виділити все
/usr/bin/python3 /opt/PvMonit/bin/wks.py
Код: Виділити все
{"QPIRI": ["230.0", "13.0", "230.0", "50.0", "13.0", "3000", "3000", "48.0", "46.0", "42.0", "56.4", "53.0", "2", "15", "20", "1", "2", "2", "01", "1", "0", "54.0", "0"], "QPIGS": ["228.0", "50.0", "227.0", "50.0", "0917", "0897", "031", "476", "53.72", "001", "095", "0390", "0001", "059.6", "53.82", "00000", "10010111", "12", "04", "00052"], "QPIWS": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}
теперь нам надо это передать в систему домашней автоматизации ,я не буду приводить пример в конкретной системе, а сделаю универсальный скрипт публикации в mqtt чтобы можно было в любой системе домашней автоматизации подписаться на соответствующий топик. Для публикации из нашего скрипта нам понадобиться mqtt клиент, устанавливаем
Код: Виділити все
apt install mosquitto-clients
Код: Виділити все
nano /opt/PvMonit/wks
Код: Виділити все
#!/bin/bash
RESULT=$(/usr/bin/python3 /opt/PvMonit/bin/wks.py)
mosquitto_pub -h localhost -p 1883 -t wks -m "$RESULT"
Код: Виділити все
chmod +x /opt/PvMonit/wks
Код: Виділити все
crontab -e
Код: Виділити все
*/1 * * * * /opt/PvMonit/wks
теперь все данные мы получим подписавшись на топик wps
если у Вас mqtt сервер имеет имя и пароль или Вы хотите изменить путь топика или чтобы значения запоминались то отредактируйте последнюю строку в файле /opt/PvMonit/wks соответствующим образом
Автор пишет что возможно подключить только одно устройство, проанализировав скрипт я думаю можно подключить больше устройств, для этого копируем файл
Код: Виділити все
cp /opt/PvMonit/bin/wks.py /opt/PvMonit/bin/wks2.py
сохраняем, и делаем по инструкции скрипт заменив имя файла который мы копировали.
-
- Повідомлень: 57
- З нами з: П'ят листопада 25, 2022 14:14
- Ім'я: Сергей
- Техніка: Автодом на базе Mercedes
- Країна, місто: Luxembourg
- Дякував (ла): 1 раз
- Подякували: 52 рази
- Контактна інформація:
Подключение оборудования к одноплатнику
PIP-4048MS
IPS-4000WM
Voltronic Axpert MKS 5KVA
LV5048
JK BMS
JK-B2A24S (HW version 3.0)
JK-B1A24S (HW version 3.0)
Victron VE Direct Devices
Daly BMS
исходник тут
Устанавливается просто
Код: Виділити все
sudo pip3 install mppsolar
Хто зараз онлайн
Зараз переглядають цей форум: Немає зареєстрованих користувачів і 2 гостей