Benachrichtigungen
Alles löschen

JKBMS auslesen über BLE (Bluetooth) oder RS485 Adapter mittels EPS, ioBroker

729 Beiträge
163 Benutzer
16 Likes
132.2 K Ansichten
(@reinhardf)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 6
 

Veröffentlicht von: @reinhardf

@firewire Ich probiere mal die Variante mit den Werten der Eckigen Klammern um 32 erhöhen.

Hiermit will ich noch kurz eine Rückmeldung geben für alle die das selbe Problem haben. Ich habe soeben wie von Stromsparer_1 die Werte in der eckigen Klammer um 32 erhöht und nun läuft es wie es soll. Vielen Dank für die Hilfe.

 

Gruß

 

Reinhard

 


   
AntwortZitat
(@stromsparer_1)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 45
 

@reinhardf Moin, genau so musst du es machen. Und eine Übersicht der entsprechenden Speicherstelle findest du in der Text-Datei die ich hochgeladen habe.

Die Datei liest sich so das vorne die Speicherstellen stehen und dahinter der Wert vom BMS in Hexadizimal. Kannst du testweise mal mit dem Windowsrechner ausprobieren in dem du auf Programmierer umschaltest und dann mal die Werte dort eingibst, Eingabeformat von hinten nach vorne.

 


   
AntwortZitat
(@reinhardf)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 6
 

@stromsparer_1 Zwei Werte werden nich richtig angezeigt bei mir. 1. Delta_Cell_Voltage = 0.049 und 2. MOS_Temp = 0.000 

Es fehlen auch ein paar Werte wie z.B. die Spannungsdifferenz und Restkapazität. Keine Ahnung warum. Vielleicht komme ich da noch drauf.


   
AntwortZitat
lichtimc
(@lichtimc)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 74
 

Wieso nehmt ihr nicht die Version von mascheihei? Der hat das doch alles in seinem Mod berücksichtigt:

Letzte Version 1.1 von ihm:

https://www.akkudoktor.net/forum/postid/73203/

Bzw. Original-Thread:

https://www.akkudoktor.net/forum/postid/69354/


   
AntwortZitat
(@stromsparer_1)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 45
 

@reinhardf Moin, die Daten für die max. Differenzspannung liegt bei mir in den Bytes 76 und 77. Die MOS FET Temp. liegt in 144 und 145.


   
AntwortZitat
Shadowblues
(@shadowblues)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 300
 

Hallo zusammen,

ich versuche das auch grade zum Laufen zu bewegen, leider bisher erfolglos .. .

Die Arduino IDE 2.0.3 wird verwendet. 

Als Gerät habe ich das AZ-Delivery ESP32 Dev Kit V2 ESP-WROOM-32

Als Device habe ich ESP32 Dev Module und ESP32-WROOM-DA Module getestet und konnte jedesmal ein Testscript kompilieren und hochladen

Als Libraries habe ich installiert: PubSubClient by Nick V2.8.0

Bluetooth habe ich wie hier beschrieben installiert: https://electropeak.com/learn/getting-started-with-the-esp32/

Als Fehlermeldung beim Compile kommt:

exit status 1
Compilation error: exit status 1

Keine zusätzlichen Informationen 🙁

EDIT: Ich habe die Bluetooth Library getauscht in die ESP32_BLE_Arduino

Ergebnis:

In file included from c:\Users\roger\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/BLEAdvertising.h:15,
from c:\Users\roger\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/BLEServer.h:19,
from c:\Users\roger\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/BLEDevice.h:18,
from C:\Users\roger\Downloads\0=6605-BLE_client_V3.4\BLE_client\BLE_client.ino:1:
c:\Users\roger\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/FreeRTOS.h:61:28: error: 'ringbuf_type_t' has not been declared
Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT);
^~~~~~~~~~~~~~

exit status 1

Compilation error: exit status 1

Habt ihr ne Idee wo ich schauen kann?


   
AntwortZitat
Shadowblues
(@shadowblues)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 300
 

Neuer Tag, neues Glück -- oder auch nicht. Ich habs auf nem neuen Rechner versucht - gleiches Ergebnis.
Dann habe ich aber gesehen, dass man detailliertere Fehlermeldungen bekommen kann. Mir fällt folgendes auf:

C:\Users\roger\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.6/tools/sdk/esp32/include/driver/include/driver/can.h:13:2: warning: #warning driver/can.h is deprecated, please use driver/twai.h instead [-Wcpp]
#warning driver/can.h is deprecated, please use driver/twai.h instead
^~~~~~~
In file included from C:\Users\roger\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.6/tools/sdk/esp32/include/driver/include/driver/can.h:15,
from C:\Users\roger\Downloads\7467=6664-BLE_client_V3.6\BLE_client\BLE_client.ino:11:
C:\Users\roger\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.6/tools/sdk/esp32/include/hal/esp32/include/hal/can_types.h:21:2: warning: #warning hal/can_types.h is deprecated, please use hal/twai_types.h instead [-Wcpp]
#warning hal/can_types.h is deprecated, please use hal/twai_types.h instead
^~~~~~~
C:\Users\roger\Downloads\7467=6664-BLE_client_V3.6\BLE_client\Victron_CAN.ino: In function 'void setup_can_driver()':
C:\Users\roger\Downloads\7467=6664-BLE_client_V3.6\BLE_client\Victron_CAN.ino:11:28: warning: missing initializer for member 'twai_general_config_t::intr_flags' [-Wmissing-field-initializers]
.clkout_divider = 0};
^

Hier also mal ein paar Warnungen - aber keine Fehler.

Creating esp32 image...
Merged 25 ELF sections
Successfully created esp32 image.

--> Also hat es doch geklappt? Wieso programmiert er es dann nicht?

Ich nehme an deswegen:

exit status 1

Compilation error: exit status 1

 


   
AntwortZitat
(@riker1)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 33
 

Hi, habe ein Problem in arduino, habe Compilererror.

Welche Settings muss man einstellen , bzw Board: habe Arduino 32 DEV.

Oder habe ich das falsche Board?

program: V3.4 BLE_connection

Danke VG 

 

text section exceeds available space in board
Globale Variablen verwenden 56560 Bytes (17%) des dynamischen Speichers, 271120 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.

   
AntwortZitat
(@stromsparer_1)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 45
 

@riker1 Moin, schau mal auf Seite 1 im ersten Eintrag ganz unten, hast du das so umgestellt ?


   
AntwortZitat
(@riker1)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 33
 

Veröffentlicht von: @stromsparer_1

@riker1 Moin, schau mal auf Seite 1 im ersten Eintrag ganz unten, hast du das so umgestellt ?

top genau danach habe ich gesucht, habe es echt überlesen. Danke 

 


   
AntwortZitat
(@luigi)
Vorsichtiger Stromfühler
Beigetreten: Vor 4 Jahren
Beiträge: 83
 

Bei mir gleicher Fehler wie Riker, ich hab gedacht, dass es in Verbindung mit dem ESP8266, gemeint ist. 

 

Ander Frage, kann man dennoch mit RS485 die Daten ziehen?

Ich möchte nen Victron 5000 mit Cerbo einbinden. Die CAN Lösung gefällt mir sehr, da die galvanische Trennung auch gleich realisiert wird.

 


   
AntwortZitat
(@henrik_79)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 16
 

Hallo

Hat jemand Interesse daran das Prog für den ESP32 zu ertsellen? Gerne auch komplett mit Gerät. Ich möchte den Akkustand als 0-10V Signal haben.

Ich komme mit dem hier vorgestellten Prog nicht weiter. 

Also ohne WIFI

ohne MQTT

ohne ioBroker.

Den Akkustand mit BT auslesen und als 0-10V Signal ausgeben.

 

Gruß

Henrik

 

 


   
AntwortZitat
(@unixtom)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 20
 

@henrik_79 Die Software läuft bei mir auf einem ESP32 ohne Probleme.

Da muss nichts geändert werden.

Bluetooth, WLAN, OTA, etc.

Neustart und es wird automatisch verbunden.

MQTT  auf Homeassist bzw. Mosquito und weiter auf Grafana.

 

 


   
AntwortZitat
(@henrik_79)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 16
 

@unixtom

Die Software habe ich auch auf dem ESP32 geladen. Nach dem Booten verbindet er sich mit dem WIFI. Dann versucht er sich mit dem MQTT zu verbinden.

Das gibt es bei mir nicht. Selbst das WIFI brauche ich nicht am Einsatzort. Ich brauche nur den Akkustand als 0-10V Signal oder als PWM Signal.

Also ca so Akkustand: 10% = 1V / 30% = 3V  / 100% = 10V

Ich brauche den Wert in einer SPS Steuerung. 

Gruß

Henrik


   
AntwortZitat
(@efyzz)
Newbie
Beigetreten: Vor 1 Jahr
Beiträge: 2
 

Moin Henrik, 

Du könntest einfach in der main loop den Ladestand als PWM ausgeben, ohne den ganzen WLAN / MQTT Kram rauszuschmeissen. Also einfach mal in der Arduino Doku nachschauen, wie man eine PWM ausgibt.

Ich habe mir den Code auch so erweitert, dass in der loop noch ADCs ausgelesen werden, ging problemlos Wink

@all:

Aber womit ich leider überfordert bin, ist das Senden einer Konfiguration über BT, also Parameter des BMS ändern. Dafür müsste der Code so erweitert werden, dass über BT auch gesendet werden kann (bisher wird ja scheinbar nur gelesen). Ist da jemand dran oder kann mir etwas beim Einstieg helfen?

Ich hatte schon überlegt, stattdessen per CAN die zu ändernden Parameter zu senden (ein paar Bytes über UART zu senden würde ich vermutlich noch alleine hinbekommen). Aber wäre ja irgendwie doof, zusätzlich noch CAN anzuschließen, wenn die BT Verbindung soweit schon steht. Crazy

Außerdem müssten die Parameter natürlich auch noch vom iobroker (bzw. bei mir FHEM) zum ESP gesendet werden. Da bin ich auch raus Excitement  


   
AntwortZitat
Seite 34 / 49
Teilen: