Hallo zusammen,
ich hatte ja schon geschrieben das es noch einen Bug gibt und ich nicht ran komme an Brauchbare Daten um ihn zu finden ..
ja es kann immer nur ein BL Teilnehmer verbunden werden.
ich hatte ja gesagt wenn ihr mir bei der Analyse helfen wollt dann bitte mal den ESP an den "PC" stecken und die Arduino IDE mit dem Serial Monitor öffnen und laufen lassen bis der Fehler kommt...
man sollte normal im Seriell Monitor ein paar Info bekommen und um Fehlerfall interessiert mich dann was da steht zu letzt ![]()
ich hatte selbst den Laptop schon mehrmals 1-2 Tage laufen und nie ist es dann passiert ... (brauch den Laptop halt sonst auch mal
)
vielen Herzlichen Dank für diese Arbeit, der ESP connectet auf mein WLan, er verbindet sich mit dem Balancer (es piept) und es kommen Daten, welche im IoBroker aufschlagen.
Ich habe die 16 Zellen Ino in Nutzung
Der Balancer ist ein 24 Zell 1A AktivBalancer https://www.jkbms.com/product/jk-b1a24s/
soweit so gut, leider sind die Daten murks ![]()
ich habe mal einen Ausschnitt der Daten als rar angehängt.
kann mir jemand helfen den Datensalat ordnungsgemäss zu sortieren?
Vielen Dank für JEDE Hilfe
beste Grüsse
Helge
11449=2607-esp32-log.rar|attachment (1017 Bytes)
vielen Herzlichen Dank für diese Arbeit, der ESP connectet auf mein WLan, er verbindet sich mit dem Balancer (es piept) und es kommen Daten, welche im IoBroker aufschlagen.das ist definitiv eine anderes Protokoll ;)
Ich habe die 16 Zellen Ino in Nutzung
Der Balancer ist ein 24 Zell 1A AktivBalancer https://www.jkbms.com/product/jk-b1a24s/
soweit so gut, leider sind die Daten murks :)
ich habe mal einen Ausschnitt der Daten als rar angehängt.
kann mir jemand helfen den Datensalat ordnungsgemäß zu sortieren?
Vielen Dank für JEDE Hilfe
beste Grüsse
Helge
das wirst du wenn du es willst viel anpassen müssen ...
ich habe auch eine ganze weile gesessen das ordentlich auf zu "schlüsseln"
es gibt hier eine Git Hub Seite wo schon ein paar ihre "Protokolle" aufgeschrieben haben.
https://github.com/jblance/mpp-solar/tree/master/mppsolar/protocols
aber auch das was mein BMS aktuell in der SW hat hatte dort nicht ganz gepasst und musste ich entsprechend anpassen.
wenn du dich auskennst kannst du es dir ja umbauen ...
was schonmal gut ist das der Initalisierungs Vorgang damit er Daten sendet identisch ist ... also ist nur der Protokolltyp anders wie er die Zelldaten etc sendet..
Hintergrund: am Anfang sendet er sogar die Geräte daten (bzw muss man die Abfrage) nur diese werte ich gar nicht erst aus... und erst nachdem man einmal die Geräte daten abgefragt hat fängt er an zyklisch die Zelldaten bereitzustellen.
Danke, das Du dir die Arbeit machst, ich habe keine Ahnung ich taste mich da wie ein Blinder heran
wo gebe ich denn bitte das Protokoll an?, mit einem raspberry und der Abfrage
jkbms -p 3C:A5:51:86:21:3D -P JK02 erhalte ich die Werte die das INO mit den 16 Zellen austeilt,
pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK02
Command: getCellData - BLE Cell Data inquiry
pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK02
Command: getCellData - BLE Cell Data inquiry
Parameter Value Unit
header 55aaeb90
record_type 02
record_counter 232
voltage_cell01 -9.29 V
voltage_cell02 16.468 V
voltage_cell03 -9.29 V
voltage_cell04 16.468 V
voltage_cell05 -9.29 V
voltage_cell06 16.468 V
voltage_cell07 -9.29 V
voltage_cell08 16.468 V
voltage_cell09 -9.29 V
voltage_cell10 16.468 V
voltage_cell11 -9.29 V
voltage_cell12 16.468 V
voltage_cell13 -9.29 V
voltage_cell14 16.468 V
voltage_cell15 -9.29 V
voltage_cell16 16.468 V
voltage_cell17 -9.29 V
voltage_cell18 16.468 V
voltage_cell19 -9.29 V
voltage_cell20 16.468 V
voltage_cell21 -9.29 V
voltage_cell22 16.468 V
voltage_cell23 -9.29 V
voltage_cell24 16.468 V
average_cell_voltage -9.29 V
delta_cell_voltage 16.468 V
current_balancer -9.29
resistance_cell01 16.468 Ohm
resistance_cell02 -14.433 Ohm
resistance_cell03 16.468 Ohm
resistance_cell04 0.0 Ohm
resistance_cell05 0.0 Ohm
resistance_cell06 0.0 Ohm
resistance_cell07 0.0 Ohm
resistance_cell08 0.0 Ohm
resistance_cell09 0.0 Ohm
resistance_cell10 0.0 Ohm
resistance_cell11 0.0 Ohm
resistance_cell12 0.0 Ohm
resistance_cell13 0.0 Ohm
resistance_cell14 0.0 Ohm
resistance_cell15 0.0 Ohm
resistance_cell16 0.0 Ohm
resistance_cell17 0.0 Ohm
resistance_cell18 0.0 Ohm
resistance_cell19 0.0 Ohm
resistance_cell20 30.937 Ohm
resistance_cell21 15.877 Ohm
resistance_cell22 2.611 Ohm
resistance_cell23 15.879 Ohm
resistance_cell24 24.922 Ohm
battery_voltage 1039647.304 V
battery_power 0.1200595498085022 W
charge_current 0.12105027586221695 A
battery_t1 -1261.8 °C
battery_t2 1586.5 °C
mos_temp 837.8 °C
percent_remain 61
capacity_remain 1039968.726
nominal_capacity 1040206.401
cycle_count 8696013e
capacity_cycle 1040473.642
time 0D0H59M10S
current_charge 0.0
current_discharge 0.0
gebe ich nun als Protokoll JK04 an, stimmen die Werte,
pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK04
Command: getCellData - BLE Cell Data inquiry
header 55aaeb90
record_type 02
record_counter 232
voltage_cell01 -9.29 V
voltage_cell02 16.468 V
voltage_cell03 -9.29 V
voltage_cell04 16.468 V
voltage_cell05 -9.29 V
voltage_cell06 16.468 V
voltage_cell07 -9.29 V
voltage_cell08 16.468 V
voltage_cell09 -9.29 V
voltage_cell10 16.468 V
voltage_cell11 -9.29 V
voltage_cell12 16.468 V
voltage_cell13 -9.29 V
voltage_cell14 16.468 V
voltage_cell15 -9.29 V
voltage_cell16 16.468 V
voltage_cell17 -9.29 V
voltage_cell18 16.468 V
voltage_cell19 -9.29 V
voltage_cell20 16.468 V
voltage_cell21 -9.29 V
voltage_cell22 16.468 V
voltage_cell23 -9.29 V
voltage_cell24 16.468 V
average_cell_voltage -9.29 V
delta_cell_voltage 16.468 V
current_balancer -9.29
resistance_cell01 16.468 Ohm
resistance_cell02 -14.433 Ohm
resistance_cell03 16.468 Ohm
resistance_cell04 0.0 Ohm
resistance_cell05 0.0 Ohm
resistance_cell06 0.0 Ohm
resistance_cell07 0.0 Ohm
resistance_cell08 0.0 Ohm
resistance_cell09 0.0 Ohm
resistance_cell10 0.0 Ohm
resistance_cell11 0.0 Ohm
resistance_cell12 0.0 Ohm
resistance_cell13 0.0 Ohm
resistance_cell14 0.0 Ohm
resistance_cell15 0.0 Ohm
resistance_cell16 0.0 Ohm
resistance_cell17 0.0 Ohm
resistance_cell18 0.0 Ohm
resistance_cell19 0.0 Ohm
resistance_cell20 30.937 Ohm
resistance_cell21 15.877 Ohm
resistance_cell22 2.611 Ohm
resistance_cell23 15.879 Ohm
resistance_cell24 24.922 Ohm
battery_voltage 1039647.304 V
battery_power 0.1200595498085022 W
charge_current 0.12105027586221695 A
battery_t1 -1261.8 °C
battery_t2 1586.5 °C
mos_temp 837.8 °C
percent_remain 61
capacity_remain 1039968.726
nominal_capacity 1040206.401
cycle_count 8696013e
capacity_cycle 1040473.642
time 0D0H59M10S
current_charge 0.0
current_discharge 0.0
Command: getCellData - BLE Cell Data inquiry
Parameter Value Unit
header 55aaeb90
record_type 02
record_counter 237
voltage_cell01 3.3259100914001465 V
voltage_cell02 3.3259100914001465 V
voltage_cell03 3.3259100914001465 V
voltage_cell04 3.3259100914001465 V
voltage_cell05 3.3259100914001465 V
voltage_cell06 3.3259100914001465 V
voltage_cell07 3.3259100914001465 V
voltage_cell08 3.3259100914001465 V
voltage_cell09 3.3259100914001465 V
voltage_cell10 3.3259100914001465 V
voltage_cell11 3.3259100914001465 V
voltage_cell12 3.3259100914001465 V
voltage_cell13 3.3259100914001465 V
voltage_cell14 3.3259100914001465 V
voltage_cell15 3.3259100914001465 V
voltage_cell16 3.324683904647827 V
voltage_cell17 0.0 V
voltage_cell18 0.0 V
voltage_cell19 0.0 V
voltage_cell20 0.0 V
voltage_cell21 0.0 V
voltage_cell22 0.0 V
voltage_cell23 0.0 V
voltage_cell24 0.0 V
resistance_cell01 0.13034380972385406 Ohm
resistance_cell02 0.13187484443187714 Ohm
resistance_cell03 0.12537136673927307 Ohm
resistance_cell04 0.122222900390625 Ohm
resistance_cell05 0.1209760308265686 Ohm
resistance_cell06 0.1200595498085022 Ohm
resistance_cell07 0.12105027586221695 Ohm
resistance_cell08 0.12197630107402802 Ohm
resistance_cell09 0.12359757721424103 Ohm
resistance_cell10 0.12249208986759186 Ohm
resistance_cell11 0.12337081134319305 Ohm
resistance_cell12 0.12528325617313385 Ohm
resistance_cell13 0.12655076384544373 Ohm
resistance_cell14 0.1292654573917389 Ohm
resistance_cell15 0.12740011513233185 Ohm
resistance_cell16 0.12505289912223816 Ohm
resistance_cell17 0.0 Ohm
resistance_cell18 0.0 Ohm
resistance_cell19 0.0 Ohm
resistance_cell20 0.0 Ohm
resistance_cell21 0.0 Ohm
resistance_cell22 0.0 Ohm
resistance_cell23 0.0 Ohm
resistance_cell24 0.0 Ohm
resistance_cell25 0.0 Ohm
average_cell_voltage 3.325833559036255 V
delta_cell_voltage 0.001226186752319336 V
highest_cell 1
lowest_cell 16
flags 0001
uptime 1D10H58M47S
checksum 33
highest_cell_voltage 3.3259100914001465 V
lowest_cell_voltage 3.324683904647827 V
Wie erkläre ich also dem ESP32 das ich mit Protokoll 04 arbeiten möchte
beste Grüsse Helge
@scotty89
Bleibt einfach stehen.
TOP ! danke für die info dann habe ich auch schon eine Idee was da passiert und was ich machen kann
ich schau mal was ich da gleich umgesetzt bekomme dann können wir das alle testen...
EDIT:
11512=2629-BLE_client_V1.6.rar|attachment (6.14 KB)
hab da mal was zusammengebaut
hatte diese Idee eigentlich schon umgesetzt aber einen entscheidenden Fehler gefunden weshalb die Lösung nicht gehen konnte...
jetzt da ich wusste was passiert bin ich drauf gekommen... ggf hilft das schon ... es sollte jetzt über MQTT und im Serial Monitor ein Reconnecting kommen wenn nichts mehr vom BMS kommt ....dann geht das ganze von vorne los ...
neues in der Version 1.6.
-> Überarbeitetes Reconnecting
-> je nach angeschlossenen Zellen 8, 14 oder 16 werden nur diese Automatisch über MQTT übermittelt
-> MQTT sende Zyklus nun als Parameter (mqttpublishtime_offset) oben mit drin
bitte testet mit mir zusammen ob das uns die Lösung bringt
DANKE !
Danke, das Du dir die Arbeit machst, ich habe keine Ahnung ich taste mich da wie ein Blinder heran
wo gebe ich denn bitte das Protokoll an?, mit einem raspberry und der Abfrage
jkbms -p 3C:A5:51:86:21:3D -P JK02 erhalte ich die Werte die das INO mit den 16 Zellen austeilt,pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK02 Command: getCellData - BLE Cell Data inquiry ------------------------------------------------------------ Parameter Value Unit header 55aaeb90 record_type 02 record_counter 232 voltage_cell01 -9.29 V voltage_cell02 16.468 V voltage_cell03 -9.29 V voltage_cell04 16.468 V voltage_cell05 -9.29 V voltage_cell06 16.468 V voltage_cell07 -9.29 V voltage_cell08 16.468 V voltage_cell09 -9.29 V voltage_cell10 16.468 V voltage_cell11 -9.29 V voltage_cell12 16.468 V voltage_cell13 -9.29 V voltage_cell14 16.468 V voltage_cell15 -9.29 V voltage_cell16 16.468 V voltage_cell17 -9.29 V voltage_cell18 16.468 V voltage_cell19 -9.29 V voltage_cell20 16.468 V voltage_cell21 -9.29 V voltage_cell22 16.468 V voltage_cell23 -9.29 V voltage_cell24 16.468 V average_cell_voltage -9.29 V delta_cell_voltage 16.468 V current_balancer -9.29 resistance_cell01 16.468 Ohm resistance_cell02 -14.433 Ohm resistance_cell03 16.468 Ohm resistance_cell04 0.0 Ohm resistance_cell05 0.0 Ohm resistance_cell06 0.0 Ohm resistance_cell07 0.0 Ohm resistance_cell08 0.0 Ohm resistance_cell09 0.0 Ohm resistance_cell10 0.0 Ohm resistance_cell11 0.0 Ohm resistance_cell12 0.0 Ohm resistance_cell13 0.0 Ohm resistance_cell14 0.0 Ohm resistance_cell15 0.0 Ohm resistance_cell16 0.0 Ohm resistance_cell17 0.0 Ohm resistance_cell18 0.0 Ohm resistance_cell19 0.0 Ohm resistance_cell20 30.937 Ohm resistance_cell21 15.877 Ohm resistance_cell22 2.611 Ohm resistance_cell23 15.879 Ohm resistance_cell24 24.922 Ohm battery_voltage 1039647.304 V battery_power 0.1200595498085022 W charge_current 0.12105027586221695 A battery_t1 -1261.8 °C battery_t2 1586.5 °C mos_temp 837.8 °C percent_remain 61 capacity_remain 1039968.726 nominal_capacity 1040206.401 cycle_count 8696013e capacity_cycle 1040473.642 time 0D0H59M10S current_charge 0.0 current_discharge 0.0gebe ich nun als Protokoll JK04 an, stimmen die Werte,pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK04 Command: getCellData - BLE Cell Data inquiry ------------------------------------------------------------ Parameter Value Unit header 55aaeb90 record_type 02 record_counter 237 voltage_cell01 3.3259100914001465 V voltage_cell02 3.3259100914001465 V voltage_cell03 3.3259100914001465 V voltage_cell04 3.3259100914001465 V voltage_cell05 3.3259100914001465 V voltage_cell06 3.3259100914001465 V voltage_cell07 3.3259100914001465 V voltage_cell08 3.3259100914001465 V voltage_cell09 3.3259100914001465 V voltage_cell10 3.3259100914001465 V voltage_cell11 3.3259100914001465 V voltage_cell12 3.3259100914001465 V voltage_cell13 3.3259100914001465 V voltage_cell14 3.3259100914001465 V voltage_cell15 3.3259100914001465 V voltage_cell16 3.324683904647827 V voltage_cell17 0.0 V voltage_cell18 0.0 V voltage_cell19 0.0 V voltage_cell20 0.0 V voltage_cell21 0.0 V voltage_cell22 0.0 V voltage_cell23 0.0 V voltage_cell24 0.0 V resistance_cell01 0.13034380972385406 Ohm resistance_cell02 0.13187484443187714 Ohm resistance_cell03 0.12537136673927307 Ohm resistance_cell04 0.122222900390625 Ohm resistance_cell05 0.1209760308265686 Ohm resistance_cell06 0.1200595498085022 Ohm resistance_cell07 0.12105027586221695 Ohm resistance_cell08 0.12197630107402802 Ohm resistance_cell09 0.12359757721424103 Ohm resistance_cell10 0.12249208986759186 Ohm resistance_cell11 0.12337081134319305 Ohm resistance_cell12 0.12528325617313385 Ohm resistance_cell13 0.12655076384544373 Ohm resistance_cell14 0.1292654573917389 Ohm resistance_cell15 0.12740011513233185 Ohm resistance_cell16 0.12505289912223816 Ohm resistance_cell17 0.0 Ohm resistance_cell18 0.0 Ohm resistance_cell19 0.0 Ohm resistance_cell20 0.0 Ohm resistance_cell21 0.0 Ohm resistance_cell22 0.0 Ohm resistance_cell23 0.0 Ohm resistance_cell24 0.0 Ohm resistance_cell25 0.0 Ohm average_cell_voltage 3.325833559036255 V delta_cell_voltage 0.001226186752319336 V highest_cell 1 lowest_cell 16 flags 0001 uptime 1D10H58M47S checksum 33 highest_cell_voltage 3.3259100914001465 V lowest_cell_voltage 3.324683904647827 VWie erkläre ich also dem ESP32 das ich mit Protokoll 04 arbeiten möchte
beste Grüsse Helge
hast das gerade auf ein Raspery getestet oder was? ;)
wenn du das auf dem ESP32 ändern willst du das das selbst noch impl also zusammenschreiben.. dafür musst du im einfachsten fall "nur" die Funktions Datenanalyse() umschreiben...
jop, das ist ein RaspberryPi mittels dem eigenen BT adapter, den hab ich in den Keller gestellt, neben das Balancing Modul
und dann mit Hilfe der von dir verlinkten Seite diese Daten ermittelt
https://github.com/jblance/mpp-solar/blob/master/docs/usage.md
soso, Datenanalyse umschreiben, ich werds versuchen und im Erfolgsfall berichten
Beste Grüsse
Helge
@scotty89
Die BT Verbindung scheint stabil, aber ich mache nachts mein wlan aus…
Könntest du bitte auch ein WLAN reconnect einbauen, so wie wenn ssid wieder da, dann reconnect.
Danke
Grüße und schönes Wochenende noch.
Jens
@Scotty: Vielen Dank für das Programm, mega hilfreich. Ich habs auch in meinem neusten Video erwähnt. Leider gibts bei mir immer noch Freezesnach einigen Stunden. Möglicherweise ist auch die WiFi Schleife ein Problem.
Ich hab die WiFi Init Schleife bei mir etwas angepasst Das mit dem While funktioniert irgendwann nicht mehr, frag mich nicht warum.
@JUF: Das dürfte auch ein Problem lösen
Ein Restart nach 10 Versuchen hilft ganz gut:
void initWiFi() {
int wifi_retry = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED && wifi_retry < 10 ) {
wifi_retry++;
Serial.print('.');
delay(10000);
}
if(wifi_retry >= 10) {
Serial.println("nReboot");
ESP.restart();
}
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
@Scotty: Vielen Dank für das Programm, mega hilfreich. Ich habs auch in meinem neusten Video erwähnt. Leider gibts bei mir immer noch Freezesnach einigen Stunden. Möglicherweise ist auch die WiFi Schleife ein Problem.WOW welch eine Ehre ;)
Ich hab die WiFi Init Schleife bei mir etwas angepasst Das mit dem While funktioniert irgendwann nicht mehr, frag mich nicht warum.
@JUF: Das dürfte auch ein Problem lösen
Ein Restart nach 10 Versuchen hilft ganz gut:void initWiFi() { int wifi_retry = 0; WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED && wifi_retry < 10 ) { wifi_retry++; Serial.print('.'); delay(10000); } if(wifi_retry >= 10) { Serial.println("nReboot"); ESP.restart(); } Serial.println("Ready"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); }
das mit dem WIFI kenne ich aber das Problem kann nur beim initialen Booten (Setup) passieren.. wenn sich das zu beginn verbunden hat kann das währen der Runntime nicht passieren..
aber du hast recht im Init könnte das auch da "Ewig" hängen das fixe ich ;)
löst aber leider nicht unsere zwei Probleme....
1. BMS Liefert irgendwann Sporadisch keine Daten mehr ... -> erste Lösung greift bei mir nicht hatte jetzt wieder den fall .. aber zumindest hatte ich es jetzt gleich mitbekommen da er jetzt ein reeconnect meldet ;)
2. Wenn während der Runntime Das WIFI entfällt gibt es kein Reeconnect...
Ich schau mir das gleich mal an ggf. hab ich gleich eine neue Version zum testen.
@drbacke
wenn ich den Bereich austausche bekomme ich diesen Fehler
\fritz.boxFRITZ.NASFritzBoxSolarBLE_client_v1.5BLE_client_V1.6bBLE_client_V1.6b.ino: In function 'void loop()':
BLE_client_V1.6b:406:20: error: 'Datenanalyse' was not declared in this scope
Datenanalyse();
^
BLE_client_V1.6b:412:21: error: 'Data_publish' was not declared in this scope
Data_publish();
^
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: D:MeinDatArduinoDatapackagesesp32hardwareesp321.0.6librariesWiFi
Nicht benutzt: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wttlibrariesWiFi
exit status 1
'Datenanalyse' was not declared in this scop
und im Serialmonitor
12:06:13.539 -> Ready
12:06:13.539 -> IP address: 192.168.2.20
12:06:14.152 -> MQTT Client not connected
12:06:14.152 -> MQTT time for reconnect
12:06:14.247 -> MQTT reconnected!
12:06:18.395 -> BLE -> Reconnecting!
12:06:18.442 -> BLE Advertised Device found: Name: JK-BD6A17S8P, Address: c8:47:8c:f3:5a:0d, manufacturer data: 650b88a0c8478cf35a0d, serviceUUID: 0000ffe0-0000-1000-8000-00805f9b34fb, serviceUUID: 0000fee7-0000-1000-8000-00805f9b34fb
12:06:18.442 -> Forming a connection to c8:47:8c:f3:5a:0d
12:06:18.442 -> - Created client
12:06:18.914 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (0, 1)
12:06:18.914 -> - Connected to server
Grüße
@drbackeda hast du wohl ein kleinen Fehler im Syntax eingebaut ;)
wenn ich den Bereich austausche bekomme ich diesen Fehler
\fritz.boxFRITZ.NASFritzBoxSolarBLE_client_v1.5BLE_client_V1.6bBLE_client_V1.6b.ino: In function 'void loop()':
BLE_client_V1.6b:406:20: error: 'Datenanalyse' was not declared in this scope
Datenanalyse();
^
BLE_client_V1.6b:412:21: error: 'Data_publish' was not declared in this scope
Data_publish();
^
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: D:MeinDatArduinoDatapackagesesp32hardwareesp321.0.6librariesWiFi
Nicht benutzt: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wttlibrariesWiFi
exit status 1
'Datenanalyse' was not declared in this scop
und im Serialmonitor
12:06:13.539 -> Ready
12:06:13.539 -> IP address: 192.168.2.20
12:06:14.152 -> MQTT Client not connected
12:06:14.152 -> MQTT time for reconnect
12:06:14.247 -> MQTT reconnected!
12:06:18.395 -> BLE -> Reconnecting!
12:06:18.442 -> BLE Advertised Device found: Name: JK-BD6A17S8P, Address: c8:47:8c:f3:5a:0d, manufacturer data: 650b88a0c8478cf35a0d, serviceUUID: 0000ffe0-0000-1000-8000-00805f9b34fb, serviceUUID: 0000fee7-0000-1000-8000-00805f9b34fb
12:06:18.442 -> Forming a connection to c8:47:8c:f3:5a:0d
12:06:18.442 -> - Created client
12:06:18.914 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (0, 1)
12:06:18.914 -> - Connected to server
Grüße
ich habe jetzt eine neue Version 1.7 gebaut ;)
[11609=2637-BLE_client_v1.7.rar|attachment](upload://7gGGqeQGrnk9V7g4jzOOG35poUD.rar) (6.66 KB)
neues in der Version 1.7:
-> der WIFI Status wird nun abgefragt und bei Verlust wird es Reconected ![]()
-> habe 3 Stufen eingebaut um bei dem Problem bezüglich BMS sendet keine daten mehr voran zu kommen:
1. Stufe -> ich versuche das senden wieder zu triggern.
2. Stufe -> Ich versuche die BLE Verbindung zu erneuern
3. Stufe wenn ich nach 10 versuchen Stufe 2 kein Erfolg habe mach ich einfach einen ESP restart
nicht schön aber ggf hilft es uns ja so erstmal.
müssen mal schauen wie sich das BMS verhält...
hint:
@Scotty: Vielen Dank für das Programm, mega hilfreich. Ich habs auch in meinem neusten Video erwähnt. Leider gibts bei mir immer noch Freezesnach einigen Stunden. Möglicherweise ist auch die WiFi Schleife ein Problem.
Ich hab die WiFi Init Schleife bei mir etwas angepasst Das mit dem While funktioniert irgendwann nicht mehr, frag mich nicht warum.
@JUF: Das dürfte auch ein Problem lösen
Ein Restart nach 10 Versuchen hilft ganz gut:
void initWiFi() {
int wifi_retry = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED && wifi_retry < 10 ) {
wifi_retry++;
Serial.print('.');
delay(10000);
}
if(wifi_retry >= 10) {
Serial.println("nReboot");
ESP.restart();
}
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
das liegt daran das in der While nie eine Aktion gemacht wurde um die Verbindung wieder aufzubauen ... es wurde "nur" gewartet... habe es nun angepasst jetzt wird auch versucht die Verbindung zu erneuern.
aber wie gesagt das ist nur beim initialen Booten hier interessant wenn einmal die Verbindung steht kommt er da nie wieder hin.
Aber der Reconnet ist jetzt ja mit drin in der Version 1.7 ;)
Hmm hat auch nicht geholfen mit dem WiFi. Nach ein paar Stunden hängt es sich immer auf.
Dirk hatte mir den Tipp gegeben die Version 1.3 auszuprobieren, da diese bei ihm wohl stabiler läuft.
Ich teste erstmal das und werde dann gerne nochmal die 1.7 ausprobieren. Im Notfall kann ich auch nochmal den Serial Monitor mitlaufen lassen, dann kann man mehr erkennen.
Hmm hat auch nicht geholfen mit dem WiFi. Nach ein paar Stunden hängt es sich immer auf.mh das wäre schon seltsam den an der BLE Verbindung habe ich hier nichts geändert... ich merke aber auch bei mir das es ser stark geschwankt hat wann es passiert ist... hatte auch schon 5 tage wo nichts war und dann wieder 2 mal am tag...
Dirk hatte mir den Tipp gegeben die Version 1.3 auszuprobieren, da diese bei ihm wohl stabiler läuft.
Ich teste erstmal das und werde dann gerne nochmal die 1.7 ausprobieren. Im Notfall kann ich auch nochmal den Serial Monitor mitlaufen lassen, dann kann man mehr erkennen.
Probiert mal die Version 1.7 und dann schauen wir da weiter...
Danke euch für den Support ;)
@drbacke
an dem Balancer habe ich dann auch großes Interesse
Mache ich gerne, erstmal lasse ich das Teil laufen und beim nächsten mal gehe ich dann auf die 1.7 und werde berichten.
Für den Balancer brauche ich dann die Einzelspannungen, deswegen ist das Auslesen der erste Schritt
Hoffentlich funktioniert das überhaupt :lol:
PS. Woher kommt denn der Absturz/Freezing, vielleicht fällt mir ja noch was ein.
Nachtrag: 1.7 ist drauf, hoffentlich hilfts
so wie ich das sehen anhand des einen "logs" vom Kollegen scheint es so zu sein das BMS sendet halt keine Daten mehr ..
es ist ja so das ich wenn ich mit dem Teil Via BLE Verbinde einmal die HW Datenabfrage und wenn das gemacht wurde dann fängt es an die Zelldaten Zyklisch von selbst zu senden.
Es sieht also so aus als würde das einfach irgendwann aufhören Daten zu senden ... ich habe noch keine Ahnung wieso oder ob das wirklich so ist aber auch das könnte man rausbekommen... da fällt mir ein ggf macht es sinn das ich wieder einschalte das man die Empfangen daten als Hex im Serial Sieht... dann würde man sehen ob er einfach aufhört oder "andere" Daten Senden tut...
Mein EPS32 ist auch angekommen, da versuche ich dann auch mal das hinzubekommen?!
@drbacke
Wie wäre es denn davon mal ein Video zu machen?
Das wäre dann wahrscheinlich nicht nur für mich einfacher zu realisieren. ![]()
Kleines Update auf Version 1.71 ![]()
wer nun den Serial Monitor mitlaufen lässt dann bitte das Full Log mal anschalten
da kommt jetzt bissel was mehr ... wenn es dann immer noch mit der Version ein Problem gibt sehen wir genau was passiert... bzw kann ich es dann auch nachvollziehen im Detail
11621=2643-BLE_client_v1.71.rar|attachment (6.68 KB)
eine andere Frage am Rande ggf kennt sich hier jemand mit aus ^^
ich nutze ja ein Victron Multiplus2 gx ^^ und ich würde es auch hinbekommen den ESP32 über CAN mit dem Victron zu verbinden und die Daten entsprechend aufzubereiten..
weiß jemand was uns das wirklich bringen würde ??
also Konkret:
wenn ich dem Victron die Spannung etc bereitstelle würde er es nutzen ? oder nur in dem DVCC Modus wo dann aber das BMS auch die Ladekurve "steuern" muss ?
den ich merke schon das der Victron ein Delta hat zum BMS mein BMS aber gut zum Multimeter etc passt ...
daher dachte ich ggf kann ich ihn die BMS Werte ja direkt geben um die "Genauigkeit" der daten im Victorn zu verbessern..
oder sagt ihr verlorene Zeit und nur Nice to have ?
