Bluetooth BMS vs Raspberry
Diskuze, rady, nápady, postřehy v oblasti alternativních zdrojů energie, elektrorozvodů, elektrozařízení, regulace, komponent a úsporných spotřebičů.
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Bluetooth BMS vs Raspberry
Ahoj,
má tu někdo funkční připojení na BMS přes bluetooth z linuxu?
Nějak mi to nechce šlapat, mám BMS z Mivvy - https://www.mivvyenergy.cz/cs/pro-clank ... tooth.html
má tu někdo funkční připojení na BMS přes bluetooth z linuxu?
Nějak mi to nechce šlapat, mám BMS z Mivvy - https://www.mivvyenergy.cz/cs/pro-clank ... tooth.html
-
- Příspěvky: 296
- Registrován: sob črc 02, 2022 9:13 pm
- Bydliště: středočeský kraj, 400 m n.m.
Re: Bluetooth BMS vs Raspberry
Mam RPi 4B a bluetooth spojeni se 3-mi BMS pres bluetooth (cca 4 metry daleko) soucasne mi slape naprosto stabilne (mesic v kuse, pak delam system upgrade, takze reboot RPi). Na RPi mam Raspberry Pi OS (tj. lehce upraveny Debian 11). BMS 2 typu: Smart ANT BMS (standardni BL spojeni; komplet cteni kazde 2 sekundy) a JK BMS (low energy BL spojeni - BLE; subscription info kazdych 0.5 sekundy ze 2 BMS). Na 2.4GHz pasmu s 802.11n provozuji jen IOT zarizeni (cca 100), wireless zrouti (pocitace, telefony) jedou na 5GHz pasmu takze bluetooth ma prostor s minimem kolizi.
Funguje ti bluetooth spojeni mezi telefonem s BMS stabilne bez problemu? Pokud ano, tak by RPi nemel mit take zadny problem, pokud by jsi tam nemel nejak nemocny bluetooth chip.
Funguje ti bluetooth spojeni mezi telefonem s BMS stabilne bez problemu? Pokud ano, tak by RPi nemel mit take zadny problem, pokud by jsi tam nemel nejak nemocny bluetooth chip.
8.56 kWp - orientace JJV (160st.) sklon 23 st. - PERC, 72-half cut, bifacial
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
Přes telefon mi to jede, Raspberry se přes BT taktéž k BMS připojí. Problém mám asi v SW, se kterým to čtu. Co používáš na čtení hodnot? Já našel a zkoušel jen jbdtool. Ještě mě napadlo, že v aplikaci v Androidu jsem nastavil pro přístuop na BMS heslo a možná ho SW neumí zadat (v parametrech nikde zadat nelze).
-
- Příspěvky: 296
- Registrován: sob črc 02, 2022 9:13 pm
- Bydliště: středočeský kraj, 400 m n.m.
Re: Bluetooth BMS vs Raspberry
Ja si to ctu sam z jednoducheho skirptu v Pythonu, knihovna bluepy. Jinak pres command line lze BLE zkouset pomoci gatttool. Pokud nenajdes popis protokolu co tam je nebo hotovy sw, tak na Android telefonu s funkcni aplikaci pro BMS si muzes snadno udelat sniffing bluetooth. Za pomoci te aplikace najit vse co se ti hodi (vcetne nastavovani parametru, povolovani/zakazovani charge/discharge, triggerovani balancingu atd.). Zatim jsem nevidel zadne BMS co by melo nejak ucinne zabezpeceny ten bluetooth protokol, hesla pro pripojeni/administraci se enforcovaly jen v tech aplikacich a kdyz ne, tak sly normalne v plain textu.
8.56 kWp - orientace JJV (160st.) sklon 23 st. - PERC, 72-half cut, bifacial
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
Ten skript by šel nasdílet? Třeba to bude standard No, za vyzkoušení to stojí
-
- Příspěvky: 296
- Registrován: sob črc 02, 2022 9:13 pm
- Bydliště: středočeský kraj, 400 m n.m.
Re: Bluetooth BMS vs Raspberry
Home made knihovna pro cteni z jkbms a k ni odpovidajici bmsstate objekt. Musel jsem je gzipnout protoze py priloha neni povolena Pipem si dotahnes bluepy knihovnu. Jo a je to Python 3. Pouziti je pak jednoduche:
import bmsstate
import jkbms
JK_BMS_MAC3 = "C8:47:8C:E2:D0:48"
jkbms3 = jkbms.JkBMS(JK_BMS_MAC3)
jkbms3.initialize()
pak jen pravidelne volas:
candidateState3 = jkbms3.bms_read_status()
// vrati None pokud nejsou validni data, jinak posledni platne data
import bmsstate
import jkbms
JK_BMS_MAC3 = "C8:47:8C:E2:D0:48"
jkbms3 = jkbms.JkBMS(JK_BMS_MAC3)
jkbms3.initialize()
pak jen pravidelne volas:
candidateState3 = jkbms3.bms_read_status()
// vrati None pokud nejsou validni data, jinak posledni platne data
- Přílohy
-
- jkbms.py.gz
- (2.87 KiB) Staženo 297 x
-
- bmsstate.py.gz
- (1009 bajtů) Staženo 279 x
8.56 kWp - orientace JJV (160st.) sklon 23 st. - PERC, 72-half cut, bifacial
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
Bohužel Python vůbec neznám, zkusil jsem následovně:
test.py
import bmsstate
import jkbms
JK_BMS_MAC3 = "A4:C1:37:00:7E:08"
jkbms3 = jkbms.JkBMS(JK_BMS_MAC3)
jkbms3.initialize()
python test.py
Traceback (most recent call last):
File "/scripts/bms/forum/test.py", line 6, in <module>
jkbms3.initialize()
File "/scripts/bms/forum/jkbms.py", line 44, in initialize
self.sendCommand(COMMAND_REQ_DEVICE_INFO)
File "/scripts/bms/forum/jkbms.py", line 126, in sendCommand
self.connect()
File "/scripts/bms/forum/jkbms.py", line 73, in connect
serviceJkbms = self.device.getServiceByUUID(serviceJkbmsUuid)
NameError: name 'serviceJkbmsUuid' is not defined
BT se připojí v pohodě:
root@raspberrypi:~# bluetoothctl
Agent registered
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
test.py
import bmsstate
import jkbms
JK_BMS_MAC3 = "A4:C1:37:00:7E:08"
jkbms3 = jkbms.JkBMS(JK_BMS_MAC3)
jkbms3.initialize()
python test.py
Traceback (most recent call last):
File "/scripts/bms/forum/test.py", line 6, in <module>
jkbms3.initialize()
File "/scripts/bms/forum/jkbms.py", line 44, in initialize
self.sendCommand(COMMAND_REQ_DEVICE_INFO)
File "/scripts/bms/forum/jkbms.py", line 126, in sendCommand
self.connect()
File "/scripts/bms/forum/jkbms.py", line 73, in connect
serviceJkbms = self.device.getServiceByUUID(serviceJkbmsUuid)
NameError: name 'serviceJkbmsUuid' is not defined
BT se připojí v pohodě:
root@raspberrypi:~# bluetoothctl
Agent registered
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
[CHG] Device A4:C1:37:00:7E:08 Connected: no
-
- Příspěvky: 296
- Registrován: sob črc 02, 2022 9:13 pm
- Bydliště: středočeský kraj, 400 m n.m.
Re: Bluetooth BMS vs Raspberry
To nebude kompatibilni, asi jiny protokol. Uz ten prefix v te BT MAC je uplne jiny vendor, navic jsem ho v registrovanych prefixech vyrobcu BT chipu vubec nenasel. Uz to zacina byt podobne jako u cinskych klonu invertoru, baterii, ktere maji nejake nahodne fake BAR a QR kody, ze kterych se neda zjistit vubec nic.
8.56 kWp - orientace JJV (160st.) sklon 23 st. - PERC, 72-half cut, bifacial
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
Tobě jde s Rpi BMS spárovat?
Mě to hlásí toto:
pair A4:C1:37:00:7E:08
Attempting to pair with A4:C1:37:00:7E:08
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
Failed to pair: org.bluez.Error.AuthenticationFailed
[CHG] Device A4:C1:37:00:7E:08 Connected: no
Ale když dám connect tak se napojí:
[bluetooth]# connect A4:C1:37:00:7E:08
Attempting to connect to A4:C1:37:00:7E:08
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
Connection successful
[CHG] Device A4:C1:37:00:7E:08 ServicesResolved: yes
Mě to hlásí toto:
pair A4:C1:37:00:7E:08
Attempting to pair with A4:C1:37:00:7E:08
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
Failed to pair: org.bluez.Error.AuthenticationFailed
[CHG] Device A4:C1:37:00:7E:08 Connected: no
Ale když dám connect tak se napojí:
[bluetooth]# connect A4:C1:37:00:7E:08
Attempting to connect to A4:C1:37:00:7E:08
[CHG] Device A4:C1:37:00:7E:08 Connected: yes
Connection successful
[CHG] Device A4:C1:37:00:7E:08 ServicesResolved: yes
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
hciconfig -a
hci0: Type: Primary Bus: UART
BD Address: B8:27:EB:57:4D:C2 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING PSCAN ISCAN
RX bytes:25068 acl:149 sco:0 events:1685 errors:0
TX bytes:36154 acl:149 sco:0 commands:1204 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'raspberrypi'
Class: 0x3c0000
Service Classes: Rendering, Capturing, Object Transfer, Audio
Device Class: Miscellaneous,
HCI Version: 4.1 (0x7) Revision: 0x1fc
LMP Version: 4.1 (0x7) Subversion: 0x2209
Manufacturer: Broadcom Corporation (15)
hcitool dev
Devices:
hci0 B8:27:EB:57:4D:C2
bt-device -l
Added devices:
LH-SP20S005 (A4:C1:37:00:7E:08)
hci0: Type: Primary Bus: UART
BD Address: B8:27:EB:57:4D:C2 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING PSCAN ISCAN
RX bytes:25068 acl:149 sco:0 events:1685 errors:0
TX bytes:36154 acl:149 sco:0 commands:1204 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'raspberrypi'
Class: 0x3c0000
Service Classes: Rendering, Capturing, Object Transfer, Audio
Device Class: Miscellaneous,
HCI Version: 4.1 (0x7) Revision: 0x1fc
LMP Version: 4.1 (0x7) Subversion: 0x2209
Manufacturer: Broadcom Corporation (15)
hcitool dev
Devices:
hci0 B8:27:EB:57:4D:C2
bt-device -l
Added devices:
LH-SP20S005 (A4:C1:37:00:7E:08)
-
- Příspěvky: 296
- Registrován: sob črc 02, 2022 9:13 pm
- Bydliště: středočeský kraj, 400 m n.m.
Re: Bluetooth BMS vs Raspberry
Parovat jdou jen zarizeni na plnohodnotnem Bluetooth protokolu. Nektere BMS umi jen Bluetooth Low Energy (BLE) a ten princip parovani nepouziva a takove se nedaji sparovat. V takovem pripade pouzij gattool:
gatttool -i hci0 -I -t random
a pak v interternim shellu provedes nejdrive pripojeni:
connect A4:C1:37:00:7E:08
mtu 131
(default mtu je male to vetsina bms nepouziva protze i pri tomto max mtu projdou 3-4 datove ramce na jednu stavovou informaci)
pak muzes dotazovat a odesilat requesty
primary
char-desc
a pak dle specifickych uuid co ma kazdy jine:
char-desc 0x000e 0x0013
char-write-req 0x0013 0100
char-write-req 0x0012 aa5590eb97000000000000000000000000000011
ukoncis to pomoci
disconnect
exit
gatttool -i hci0 -I -t random
a pak v interternim shellu provedes nejdrive pripojeni:
connect A4:C1:37:00:7E:08
mtu 131
(default mtu je male to vetsina bms nepouziva protze i pri tomto max mtu projdou 3-4 datove ramce na jednu stavovou informaci)
pak muzes dotazovat a odesilat requesty
primary
char-desc
a pak dle specifickych uuid co ma kazdy jine:
char-desc 0x000e 0x0013
char-write-req 0x0013 0100
char-write-req 0x0012 aa5590eb97000000000000000000000000000011
ukoncis to pomoci
disconnect
exit
8.56 kWp - orientace JJV (160st.) sklon 23 st. - PERC, 72-half cut, bifacial
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
Dostal jsem se až sem, ale dál mi to není vůbec jasné, je to postup podle nějakého manuálu?
root@raspberrypi:~# gatttool -i hci0 -I -t random
[ ][LE]> connect A4:C1:37:00:7E:08
Attempting to connect to A4:C1:37:00:7E:08
Connection successful
[A4:C1:37:00:7E:08][LE]> mtu 131
MTU was exchanged successfully: 23
[A4:C1:37:00:7E:08][LE]> primary
attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x0008, end grp handle: 0x000b uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000e uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x000f, end grp handle: 0x0016 uuid: 0000ff00-0000-1000-8000-00805f9b34fb
attr handle: 0x0017, end grp handle: 0x001a uuid: 0000fa00-0000-1000-8000-00805f9b34fb
[A4:C1:37:00:7E:08][LE]> char-desc
handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0006, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x0008, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0009, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000a, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x000b, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000e, uuid: 00002a50-0000-1000-8000-00805f9b34fb
handle: 0x000f, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0011, uuid: 0000ff01-0000-1000-8000-00805f9b34fb
handle: 0x0012, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0013, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0014, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0015, uuid: 0000ff02-0000-1000-8000-00805f9b34fb
handle: 0x0016, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0017, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0018, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0019, uuid: 0000fa01-0000-1000-8000-00805f9b34fb
handle: 0x001a, uuid: 00002901-0000-1000-8000-00805f9b34fb
root@raspberrypi:~# gatttool -i hci0 -I -t random
[ ][LE]> connect A4:C1:37:00:7E:08
Attempting to connect to A4:C1:37:00:7E:08
Connection successful
[A4:C1:37:00:7E:08][LE]> mtu 131
MTU was exchanged successfully: 23
[A4:C1:37:00:7E:08][LE]> primary
attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x0008, end grp handle: 0x000b uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000e uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x000f, end grp handle: 0x0016 uuid: 0000ff00-0000-1000-8000-00805f9b34fb
attr handle: 0x0017, end grp handle: 0x001a uuid: 0000fa00-0000-1000-8000-00805f9b34fb
[A4:C1:37:00:7E:08][LE]> char-desc
handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0006, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x0008, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0009, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000a, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x000b, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000e, uuid: 00002a50-0000-1000-8000-00805f9b34fb
handle: 0x000f, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0011, uuid: 0000ff01-0000-1000-8000-00805f9b34fb
handle: 0x0012, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0013, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0014, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0015, uuid: 0000ff02-0000-1000-8000-00805f9b34fb
handle: 0x0016, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0017, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0018, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0019, uuid: 0000fa01-0000-1000-8000-00805f9b34fb
handle: 0x001a, uuid: 00002901-0000-1000-8000-00805f9b34fb
-
- Příspěvky: 296
- Registrován: sob črc 02, 2022 9:13 pm
- Bydliště: středočeský kraj, 400 m n.m.
Re: Bluetooth BMS vs Raspberry
Toto znamena, ze bluetooth mezi RPi a BMS funguje. Takze problem je v komunikacnim protokolu. Pokud jsi aspon trochu programatorsky zdatny, tak cesta je udelat sniffing bluetooth komunikace na smart phone s funkcni aplikaci a pak podle toho komunikovat pres BLE. Musi se tam najit command co requestuje status a pak kde chodi odpovidajici data.
8.56 kWp - orientace JJV (160st.) sklon 23 st. - PERC, 72-half cut, bifacial
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
Oki, programovat trochu umím, jen pro BT jsem nikdy nic nedělal. Ale předpokládám, že to bude podobný princip jako u sítě, nemáš doporučení na sniffovací nástroj na tyto účely? Něco jako tcpdump
-
- Příspěvky: 11
- Registrován: čtv črc 14, 2022 3:13 pm
- Bydliště: u Kladna
Re: Bluetooth BMS vs Raspberry
Bye A.
12x 465kWp, ISolar SMX II 5.6, LiFePo4 6,4+16,4kW
12x 465kWp, ISolar SMX II 5.6, LiFePo4 6,4+16,4kW
-
- Příspěvky: 11
- Registrován: pon črc 18, 2022 1:37 am
Re: Bluetooth BMS vs Raspberry
Nj, ale ten není pro android, kde mě funguje appka Zkusím pogooglit
-
- Příspěvky: 296
- Registrován: sob črc 02, 2022 9:13 pm
- Bydliště: středočeský kraj, 400 m n.m.
Re: Bluetooth BMS vs Raspberry
Pro sniffing BT komunikace na Androidu neni potreba zadna aplikace. Potrebujes jen aplikaci toho BMS. Postup je zhruba takovyto:
- nejlepsi je na zacatku nejdrive restartovat telefon - ale nemusi to byt nutne
- povolit na telefonu docasne developer option - u me na Androidu 12 se to dela tak ze kliknes 7x cislo sestaveni systemu
- nejdrive je nutno BT na chvili vypnout - ikona nebo v menu
- v developer option se povoli Bluetooth HCI (tak se to jmenuje u me na ver 12, mozna tam bude neco jako sniff bluetooth nebo tak
- v developer option taky povolit ladeni pres USB
- zpatky zapnout Bluetooth
- nyni nepripojovat jine BT zarizeni ala sluchatka a tak, at neni ve sniffingu zbytecny balast co se bude muset ignorovat
- spustit si tu aplikaci pro BMS, sledovat chvili stavy (delat si na androidu screenshoty at se to da naparovat na komunikaci, u me se to dela kombinaci volume down+power), pak treba zmeny settingu co by te zajimaly, ale hlavne si pamatovat co jsi menil v sekvenci at pak vis, ktery prikaz co znamena
- zase vypnout Bluetooth
- v developer option vypnout Bluetooth HCI - u me to bylo nutne, protoze jinak to Android mel nejak v ram a nezapsal to na SD ten sniffing
- stahnout sniffing record - soubor se jmenuje btsnoop_hci.log; na novejsich Androidech asi od 10 nahoru je soubor v zabezpecene sekci a pokud nemas rootnuty telefon, tak se k nemu dostanes pomoci Android platform-tools co nainstalujes na pocitaci
- pripojis telefon USB kabelem s pocitacem, kde mas ty platform-tools
- adb devices - musi tam byt videt tvuj telefon, mozna neco musis potvrdit na telefonu, aby povolil tento pocitac
- adb bugreport bugreport - stahne to nejaky packaga ze zabezpeceneho prostoru Androidu, je to jak komprimovane jako jeden soubor
- rozbalit stazeny bugreport a vyhledat btsnoop_hci.log , u me byva v ceste FS/data/log/bt/btsnoop_hci.log
- no a ted uz staci jen ten btsnoop_hci.log otevrit treba ve Wiresharku, v pripade BLE protokolu te zajimaji pakety typu ATT protocol, specialne pak Rcvd + Send write commandy, kousek pred nimi se taky dozvis, ktere charakteristiky GAT BLE se oteviraji a meni se jim nejake vlastnosti (to je to co muzes pak zkouset z toho gatttool co uz jsi zkousel vyse), jde tam zkusebne odesilat pakety, prijimat a tak. Jakmile na to prijdes, staci to pak prepsat do tveho oblibeneho jazyka co umi BLE nebo ma nejakou knihovnu pro BLE. V tech status informacich odeslanych z BMS v tom Wiresharku pak identifikfieldy co te zajimaji, kodovani byva ruzne, treba nejdrive ASCII, pak binary. Vetsina BMS co jsem videl byly binary a jsou to 2 byty na hodnotu, ve vsech pripadech to byly celociselne typy. Desetinne cisla se prenaseji jako nejaky nasobek, v pripade cell voltage to je obvykle *1000, tj. v mV
8.56 kWp - orientace JJV (160st.) sklon 23 st. - PERC, 72-half cut, bifacial
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
11 kW invertory - 2x Sorotec REVO II 5.5kW (aka Easun iGrid VE II 5.5kW) v paralelenim 1f zapojeni
33 kWh LiFePO4 baterie - cylindrical pack 100 AH a dve prismatic REPT 280 AH v 16-ti clankovem provedeni
plně elektrický dům, plná automatizace, 50+ ESP8266 + RPi, inteligentní vytěžovaní - samoučící prediktivní energetické rozvrhovaní
více v mém domovském vlákně zde
-
- Příspěvky: 45
- Registrován: pon bře 31, 2014 9:53 am
Re: Bluetooth BMS vs Raspberry
Tak mi to nedalo a vyzkoušel jsem také přečtení dat a zde je výsledek:
Přes sniffing BT z telefonu jde krásně najít které pakety se posílají tam a zpět: Vyčíst příkaz pro čtení dat, já našel dvě varianty, jeden pro čtení základních informací a jeden pro napětí jednotlivých článků myslím. Teď už by neměl být problém jednotlivá data získat: např. :
Byte 5-6 = 5638 *0.01 (napětí baterie)
Byte 7-8 = 64699 (tady by měl být proud, ale někdy to nesedí)
Byte 9-10 = 21614 * 0.01 (zbytek kapacity)
Byte 11-12 = 22000 * 0*01 (celková kapacita)
Byte 13-14 = 117 (počet cyklů)
dál zatím nevím.
Přes sniffing BT z telefonu jde krásně najít které pakety se posílají tam a zpět: Vyčíst příkaz pro čtení dat, já našel dvě varianty, jeden pro čtení základních informací a jeden pro napětí jednotlivých článků myslím. Teď už by neměl být problém jednotlivá data získat: např. :
Byte 5-6 = 5638 *0.01 (napětí baterie)
Byte 7-8 = 64699 (tady by měl být proud, ale někdy to nesedí)
Byte 9-10 = 21614 * 0.01 (zbytek kapacity)
Byte 11-12 = 22000 * 0*01 (celková kapacita)
Byte 13-14 = 117 (počet cyklů)
dál zatím nevím.
-
- Příspěvky: 2
- Registrován: ned říj 02, 2022 11:42 am
Re: Bluetooth BMS vs Raspberry
Hello,
excuse me for stepping into this, have found this via Google searching for a away to access my Jk-Bms from Raspberry. Thank you for the code ... but I cannot get it to connect to the BMS.
It is a JK-B2A24S15P, I can connect to it using the app just fine. It is being listed when I do "sudo hcitool lescan" with the address "C8:47:8C:E4:57:FB". Yet, the connecting fails:
ERROR:root:JkBMS C8:47:8C:E4:57:FB: connection failed to C8:47:8C:E4:57:FB, re-try
I have printed out the exception but it doesn't help:
Unexpected err=BTLEDisconnectError('Failed to connect to peripheral C8:47:8C:E4:57:FB, addr type: public', {'rsp': ['stat'], 'state': ['disc'], 'mtu': [0], 'sec': ['low']}), type(err)=<class 'bluepy.btle.BTLEDisconnectError'>
What could be the reason?
Any help is appreciated!
excuse me for stepping into this, have found this via Google searching for a away to access my Jk-Bms from Raspberry. Thank you for the code ... but I cannot get it to connect to the BMS.
It is a JK-B2A24S15P, I can connect to it using the app just fine. It is being listed when I do "sudo hcitool lescan" with the address "C8:47:8C:E4:57:FB". Yet, the connecting fails:
ERROR:root:JkBMS C8:47:8C:E4:57:FB: connection failed to C8:47:8C:E4:57:FB, re-try
I have printed out the exception but it doesn't help:
Unexpected err=BTLEDisconnectError('Failed to connect to peripheral C8:47:8C:E4:57:FB, addr type: public', {'rsp': ['stat'], 'state': ['disc'], 'mtu': [0], 'sec': ['low']}), type(err)=<class 'bluepy.btle.BTLEDisconnectError'>
What could be the reason?
Any help is appreciated!
sisdale píše:Home made knihovna pro cteni z jkbms a k ni odpovidajici bmsstate objekt. Musel jsem je gzipnout protoze py priloha neni povolena Pipem si dotahnes bluepy knihovnu. Jo a je to Python 3. Pouziti je pak jednoduche:
import bmsstate
import jkbms
JK_BMS_MAC3 = "C8:47:8C:E2:D0:48"
jkbms3 = jkbms.JkBMS(JK_BMS_MAC3)
jkbms3.initialize()
pak jen pravidelne volas:
candidateState3 = jkbms3.bms_read_status()
-
- Příspěvky: 2
- Registrován: ned říj 02, 2022 11:42 am
Re: Bluetooth BMS vs Raspberry
Hi again, I am using the code from @sisdal with my JK-BMS - got BLE working now - but I am getting errors...
First I had to replace
with
Because serviceJkbmsUuid was unknown?!
Second I had to change some things to make it work further:
It now connects (I can hear the BMS beeping) and receives data - but parsing fails:
Any advice is appreciated!
First I had to replace
Kód: Vybrat vše
serviceJkbms = self.device.getServiceByUUID(serviceJkbmsUuid)
Kód: Vybrat vše
serviceJkbms = self.device.getServiceByUUID(btle.AssignedNumbers.genericAccess)
Second I had to change some things to make it work further:
Kód: Vybrat vše
self.device.setMTU(331)
serviceJkbms = self.device.getServiceByUUID(btle.AssignedNumbers.genericAccess)
# Connect to the notify service
serviceNotifyUuid = 'ffe0'
serviceNotify = self.device.getServiceByUUID(serviceNotifyUuid)
# Get the handles that we need to talk to
# Read
characteristicConnectionUuid = 'ffe1'
characteristicConnection = serviceNotify.getCharacteristics(characteristicConnectionUuid)[0]
self.handleConnection = characteristicConnection.getHandle()
Kód: Vybrat vše
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received packet with invaid CRC8: b'55aaeb9003ba4a4b2d4232413234533135500000000031302e585700000031302e303800000010880d00050000004a4b2d4232413234533135500000000031323334000000000000000000000000323230393231000032303432313032313937003030303000496e707574205573657264617461000071000000000000000000'
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received missaligned data: b'00000000000000000000000000000000000000000000'
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received missaligned data: b'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received missaligned data: b'00000000000000000000000000000000000000000072'
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received packet with invaid CRC8: b'55aaeb9001ba58020000280a00005a0a0000100e0000de0d00000a00000000000000000000000000000000000000c4090000a86100001e0000003c000000f04902002c0100003c0000003c000000d0070000bc02000058020000bc0200005802000038ffffff9cffffff84030000bc0200000800000001000000010000000100'
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received missaligned data: b'000070820300dc050000b80b00000000000000000000'
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received missaligned data: b'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
ERROR:root:JkBMS C8:47:8C:E4:57:FB: received missaligned data: b'00000000000000000000000000000000000000000006'
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 113 Odpovědi
- 4666 Zobrazení
-
Poslední příspěvek od TomHC
-
- 12 Odpovědi
- 1584 Zobrazení
-
Poslední příspěvek od chatař
-
- 19 Odpovědi
- 1230 Zobrazení
-
Poslední příspěvek od StefanK
-
- 19 Odpovědi
- 3176 Zobrazení
-
Poslední příspěvek od bokser01
-
- 2 Odpovědi
- 1060 Zobrazení
-
Poslední příspěvek od JakubV