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.@firewire Ich probiere mal die Variante mit den Werten der Eckigen Klammern um 32 erhöhen.
Gruß
Reinhard
@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.
@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.
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:
@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.
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?
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
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.
@riker1 Moin, schau mal auf Seite 1 im ersten Eintrag ganz unten, hast du das so umgestellt ?
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.
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
@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.
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
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
@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.
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