SoC aus der Ferne lesen
-
- Beiträge: 1339
- Registriert: So 6. Jun 2021, 17:34
- PLZ: 41236
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Na, da reicht mir doch die Angaben in der ZERO-App. Die hat mir gerade verraten, das die ZERO anstatt wie eingestellt bei 85%SoC aufzuhören, noch bis 94%SoCken weitergeladen hat . . .
Stephan
Stephan
„Eine Lüge ist bereits dreimal um die Erde gelaufen, bevor sich die Wahrheit die Schuhe anzieht“, Mark Twain
- 6ffm70
- Beiträge: 111
- Registriert: Mo 13. Jun 2022, 15:21
- Roller: Zero FXE
- PLZ: 60
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Der von mir verlinkte Phyton code ist funktionsfähig und umfangreich, was die Schnittstelle angeht.schnber hat geschrieben: ↑Sa 26. Nov 2022, 21:27Laaangweiliges HEX- Zahlen Update:
Auf die Frage:
tx: F1 F2 F4 F8 0 0 0 0 42 74 53 74 F8 F4 F2 F1 E2 EF C0 F9
Antwortet die Zero mit:
rx: F1 F2 F4 F8 B 0 0 0 42 74 53 74 16 95 1 0 39 0 20 0 39 0 7 0 7 0 7 0 7 0 9C FF 9C FF 9C FF 9C FF 0 0 0 0 0 4 EE D ...
Die Frage lautet im Klartext "BtSt" - Gib mir den Zustand rund um den Akku und das Bike
und in den HEX- Ziffern verbergen sich die Werte zu
'time': 'pack_voltage_mv': 'pack_capacity_ah': 'pack_capacity_remain_ah':
'charge_pct': 'pack_temp_c': 'battery_out_of_balance': 'battery_charge_critical_low':
'battery_charge_low': 'battery_temp_cold': 'battery_temp_critical_high': '
battery_temp_high': 'bike_on': 'charger_1_attached': 'charger_0_attached':
'odometer_miles': 'avg_pwr_over_dist_kw_mile': 'total_power_used_kw':
Derer Abfragen gibt es einige die jeweils eine Menge anderer Antworten zu allen erdenklichen Werten liefern.
Das Protokoll zu erforschen ist wie Mäuse melken.
Da gehts zwei Schritte nach vor und dann drei Schritte zurück...
Aber der Winter ist noch nicht vorüber
B.
Code: Alles auswählen
# precomputed command packets
cmd_packets={'BtSt':b'\xf1\xf2\xf4\xf8\x00\x00\x00\x00BtSt\xf8\xf4\xf2\xf1\xe2\xef\xc0\xf9', # Battery Status
'DSt1':b'\xf1\xf2\xf4\xf8\x00\x00\x00\x00DSt1\xf8\xf4\xf2\xf1\xc0\x03\x0f\xbf', # Dash Status 1
'DSt2':b'\xf1\xf2\xf4\xf8\x00\x00\x00\x00DSt2\xf8\xf4\xf2\xf1\x10y\xaf\xf8', # Dash Status 2
'DSt3':b'\xf1\xf2\xf4\xf8\x00\x00\x00\x00DSt3\xf8\xf4\xf2\xf1\xa0P\xcf\xc5', # Dash Status 3
'Gbki':b'\xf1\xf2\xf4\xf8\x00\x00\x00\x00Gbki\xf8\xf4\xf2\xf1\x81\x9ew\xc5', # Bike Info
'MbbR':b'\xf1\xf2\xf4\xf8\x00\x00\x00\x00MbbR\xf8\xf4\xf2\xf1\x16ZI\xa5', # Bike Board Read
'PwPk':b'\xf1\xf2\xf4\xf8\x00\x00\x00\x00PwPk\xf8\xf4\xf2\xf1\xd4\xb1\x92\x92'} # Power Pack
header=b'\xF1\xF2\xF4\xF8\x00\x00\x00\x00'
trailer=b'\xF8\xF4\xF2\xF1'
- schnber
- Beiträge: 82
- Registriert: Di 25. Jan 2022, 18:26
- Roller: ZERO FX 2020
- PLZ: 8435
- Land: A
- Wohnort: Leitring
- Tätigkeit: E-Tech Ing.
- Kontaktdaten:
Re: SoC aus der Ferne lesen
JEP - den kenn ich!
Dennoch hat alles seine Tücken
zumal ich auf C++ unterwegs bin
und auch der Arduino seine Eigenheiten hat.
Aber - Kommt Zeit kommt Rat...
B.
Dennoch hat alles seine Tücken
zumal ich auf C++ unterwegs bin
und auch der Arduino seine Eigenheiten hat.
Aber - Kommt Zeit kommt Rat...
B.
- schnber
- Beiträge: 82
- Registriert: Di 25. Jan 2022, 18:26
- Roller: ZERO FX 2020
- PLZ: 8435
- Land: A
- Wohnort: Leitring
- Tätigkeit: E-Tech Ing.
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Guten Abend!
Kleines Update... Das Auslesen der Daten aus der ZERO, OHNE Kabel, über Bluetooth,
liefert nun Ergebnisse wie folgt...
Wenn's mit dem Löten und Schrauben klemmt oder die ZERO zwecks Datenerfassung
nicht zerlegt werden soll dann ist so eine Bluetooth Verbindung praktisch.
vin: 539XXDZ47LCC12432:
make: Zero Motorcycles:
model: FX:
mbb_partno: 40-08064C:
construction year: 2020: AD
mbb_fw_ver: 31:
bms_fw_ver: 0: // Keine Werte ??
pack_voltage_mv: 105074: mV
pack_capacity_ah: 57: Ah
pack_capacity_remain_ah: 35: Ah
charge_pct: 63: %
battery_out_of_balance: 0:
battery_charge_critical_low: 0:
battery_charge_low: 0:
battery_temp_cold: 0:
battery_temp_critical_high: 0:
battery_temp_high: 0:
bike_on: 1:
charger_1_attached: 0:
charger_0_attached: 0:
odometer_miles: 3566: mi
avg_pwr_over_dist_kw_mile: 0.00: kw/km
total_power_used_kw: 370: kw
motor_torque_nm: 0: Nm
motor_speed_rpm: 0: rpm
motor_temp_c: 19: °C
controller_temp_c: 5: °C
battery_current_amps: 0: A
motor_current_amps: 0: A
bike_speed_mph: 0.00: km/h
charging: 0:
brake_applied: 1:
temp_warning: 0:
bike_armed: 0:
killswitch_stop: 1:
kickstand_down: 1:
max_custom_speed_mph: 143.23: km/h
max_custom_torque_pct: 100: %
max_custom_regen_torque_pct: 0: %
max_custom_brake_regen_torque_pct: 100: %
cell_voltage_mv Cell 1
mV
cell_voltage_mv Cell 2
mV
cell_voltage_mv Cell 3
mV
cell_voltage_mv Cell 4
mV
cell_voltage_mv Cell 5
mV
cell_voltage_mv Cell 6
mV
cell_voltage_mv Cell 7
mV
cell_voltage_mv Cell 8
mV
cell_voltage_mv Cell 9
mV
cell_voltage_mv Cell 10
mV
cell_voltage_mv Cell 11
mV
cell_voltage_mv Cell 12
mV
cell_voltage_mv Cell 13
mV
cell_voltage_mv Cell 14
mV
cell_voltage_mv Cell 15
mV
cell_voltage_mv Cell 16
mV
cell_voltage_mv Cell 17
mV
cell_voltage_mv Cell 18
mV
cell_voltage_mv Cell 19
mV
cell_voltage_mv Cell 20
mV
cell_voltage_mv Cell 21
mV
cell_voltage_mv Cell 22
mV
cell_voltage_mv Cell 23
mV
cell_voltage_mv Cell 24
mV
cell_voltage_mv Cell 25
mV
cell_voltage_mv Cell 26
mV
cell_voltage_mv Cell 27
mV
cell_voltage_mv Cell 28
mV
cell_voltage_min_mv: 3680: mV
cell_voltage_max_mv: 3704: mV
pack_temp_c Pack 1 :6: °C
pack_temp_c Pack 2 :5: °C
pack_temp_c Pack 3 :5: °C
pack_temp_c Pack 4 :6: °C
pack_temp_c Pack 5 :-100: °C // komisch ??
pack_temp_c Pack 6 :-100: °C // komisch.vll haben größere Akkus mehr Messungen
pack_temp_c Pack 7 :-100: °C
pack_temp_c Pack 8 :-100: °C
pack_temp_max_c: 6: °C
pack_temp_min_c: 5: °C
motor_temp_max_c: 20: °C
num_charge_cycles: 213:
trip_1_km: 23: km
error_code: 45:
trip_2_km: 5752: km
est_range_km: 63: km
minutes_until_charged: 0: min
wh_per_km_instant: 0: Wh/km
wh_per_km_avg: 29: Wh/km
wh_per_km_life: 36: Wh/km
Nun kann man damit eine Menge anstellen.
Z.B ein kleines Gerät in/an der ZERO mit Touchscreen, welches Daten nach Wahl anzeigt.
Oder die Daten übers Handy von der Ferne abfragen
Oder die Ladung übers Handy starten, stoppen (mit ein Bisschen externer Beschaltung)
Oder die Ladung an der Zero Zeitgesteuert starten bis zu einem gewissen SOC.
Oder die ZERO autom. über den Winter bringen und Ladestand zwischen X & Y halten.
Oder ERROR Code als Klartext anzeigen - Wenn die Bedienungsanleitung mal nicht dabei ist.
Was sind Eure Ideen?
Was ist praktisch?
LG
B.
Kleines Update... Das Auslesen der Daten aus der ZERO, OHNE Kabel, über Bluetooth,
liefert nun Ergebnisse wie folgt...
Wenn's mit dem Löten und Schrauben klemmt oder die ZERO zwecks Datenerfassung
nicht zerlegt werden soll dann ist so eine Bluetooth Verbindung praktisch.
vin: 539XXDZ47LCC12432:
make: Zero Motorcycles:
model: FX:
mbb_partno: 40-08064C:
construction year: 2020: AD
mbb_fw_ver: 31:
bms_fw_ver: 0: // Keine Werte ??
pack_voltage_mv: 105074: mV
pack_capacity_ah: 57: Ah
pack_capacity_remain_ah: 35: Ah
charge_pct: 63: %
battery_out_of_balance: 0:
battery_charge_critical_low: 0:
battery_charge_low: 0:
battery_temp_cold: 0:
battery_temp_critical_high: 0:
battery_temp_high: 0:
bike_on: 1:
charger_1_attached: 0:
charger_0_attached: 0:
odometer_miles: 3566: mi
avg_pwr_over_dist_kw_mile: 0.00: kw/km
total_power_used_kw: 370: kw
motor_torque_nm: 0: Nm
motor_speed_rpm: 0: rpm
motor_temp_c: 19: °C
controller_temp_c: 5: °C
battery_current_amps: 0: A
motor_current_amps: 0: A
bike_speed_mph: 0.00: km/h
charging: 0:
brake_applied: 1:
temp_warning: 0:
bike_armed: 0:
killswitch_stop: 1:
kickstand_down: 1:
max_custom_speed_mph: 143.23: km/h
max_custom_torque_pct: 100: %
max_custom_regen_torque_pct: 0: %
max_custom_brake_regen_torque_pct: 100: %
cell_voltage_mv Cell 1
cell_voltage_mv Cell 2
cell_voltage_mv Cell 3
cell_voltage_mv Cell 4
cell_voltage_mv Cell 5
cell_voltage_mv Cell 6
cell_voltage_mv Cell 7
cell_voltage_mv Cell 8
cell_voltage_mv Cell 9
cell_voltage_mv Cell 10
cell_voltage_mv Cell 11
cell_voltage_mv Cell 12
cell_voltage_mv Cell 13
cell_voltage_mv Cell 14
cell_voltage_mv Cell 15
cell_voltage_mv Cell 16
cell_voltage_mv Cell 17
cell_voltage_mv Cell 18
cell_voltage_mv Cell 19
cell_voltage_mv Cell 20
cell_voltage_mv Cell 21
cell_voltage_mv Cell 22
cell_voltage_mv Cell 23
cell_voltage_mv Cell 24
cell_voltage_mv Cell 25
cell_voltage_mv Cell 26
cell_voltage_mv Cell 27
cell_voltage_mv Cell 28
cell_voltage_min_mv: 3680: mV
cell_voltage_max_mv: 3704: mV
pack_temp_c Pack 1 :6: °C
pack_temp_c Pack 2 :5: °C
pack_temp_c Pack 3 :5: °C
pack_temp_c Pack 4 :6: °C
pack_temp_c Pack 5 :-100: °C // komisch ??
pack_temp_c Pack 6 :-100: °C // komisch.vll haben größere Akkus mehr Messungen
pack_temp_c Pack 7 :-100: °C
pack_temp_c Pack 8 :-100: °C
pack_temp_max_c: 6: °C
pack_temp_min_c: 5: °C
motor_temp_max_c: 20: °C
num_charge_cycles: 213:
trip_1_km: 23: km
error_code: 45:
trip_2_km: 5752: km
est_range_km: 63: km
minutes_until_charged: 0: min
wh_per_km_instant: 0: Wh/km
wh_per_km_avg: 29: Wh/km
wh_per_km_life: 36: Wh/km
Nun kann man damit eine Menge anstellen.
Z.B ein kleines Gerät in/an der ZERO mit Touchscreen, welches Daten nach Wahl anzeigt.
Oder die Daten übers Handy von der Ferne abfragen
Oder die Ladung übers Handy starten, stoppen (mit ein Bisschen externer Beschaltung)
Oder die Ladung an der Zero Zeitgesteuert starten bis zu einem gewissen SOC.
Oder die ZERO autom. über den Winter bringen und Ladestand zwischen X & Y halten.
Oder ERROR Code als Klartext anzeigen - Wenn die Bedienungsanleitung mal nicht dabei ist.
Was sind Eure Ideen?
Was ist praktisch?
LG
B.
-
- Beiträge: 162
- Registriert: Di 16. Okt 2018, 16:43
- PLZ: 14
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Die Packs 5-8 im Sommer zum Kühlen verwenden.
Ja, toll. Logging während der Fahrt mit gps und einer app, mit der mittels openstreetmap die Tour dann grafisch nebst Zustandsdaten nachvollzogen werden kann. Träumen ist erlaubt, oder?
Über den Winter ab und an die Zero wecken (damit BT tut), auslesen und ggf. reagieren finde ich auch gut. Oder gäbe es einen Trick BT separat einzuschalten?
Wobei meine S echten Winterschlaf macht. Ich stelle sie mit 58% ab und über einen Monat später bei einer Kontrolle zeigt sie 58%. Scheint den Stoffwechsel echt zu verlangsamen, das Biest.

Ja, toll. Logging während der Fahrt mit gps und einer app, mit der mittels openstreetmap die Tour dann grafisch nebst Zustandsdaten nachvollzogen werden kann. Träumen ist erlaubt, oder?
Über den Winter ab und an die Zero wecken (damit BT tut), auslesen und ggf. reagieren finde ich auch gut. Oder gäbe es einen Trick BT separat einzuschalten?
Wobei meine S echten Winterschlaf macht. Ich stelle sie mit 58% ab und über einen Monat später bei einer Kontrolle zeigt sie 58%. Scheint den Stoffwechsel echt zu verlangsamen, das Biest.
- 6ffm70
- Beiträge: 111
- Registriert: Mo 13. Jun 2022, 15:21
- Roller: Zero FXE
- PLZ: 60
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Sieht sehr gut aus! Dein ESP32 hat ja auch WiFi, so kannst Du zu hause diese Daten beim Laden in Dein Netzwerk streamen.schnber hat geschrieben: ↑Di 20. Dez 2022, 20:40Kleines Update...
...
Nun kann man damit eine Menge anstellen.
Z.B ein kleines Gerät in/an der ZERO mit Touchscreen, welches Daten nach Wahl anzeigt.
Oder die Daten übers Handy von der Ferne abfragen
Oder die Ladung übers Handy starten, stoppen (mit ein Bisschen externer Beschaltung)
Oder die Ladung an der Zero Zeitgesteuert starten bis zu einem gewissen SOC.
Oder die ZERO autom. über den Winter bringen und Ladestand zwischen X & Y halten.
Oder ERROR Code als Klartext anzeigen - Wenn die Bedienungsanleitung mal nicht dabei ist.
Was sind Eure Ideen?
Was ist praktisch?
LG
B.
Ohne Homeautomation server: eine WiFi-Steckdose ein- oder ausschalten. Ich habe eine, die auch die Leistung misst (zweiter Screenshot im ersten post); die kannst Du Dir auch über das Webinterface des Steckers anzeigen lassen; ohne cloud und ohne eigene Dienste im Netzwerk. Die Steckdose kann mit einem http request vom ESP32 zB ausgeschaltet werden. Dokumentation der API der Steckdose: https://shelly-api-docs.shelly.cloud/ge ... plug-plugs
Vorteile:
- braucht nur zwei Teile hardware; kostet unter €30 (Shelly Plug S und ESP32; ggfs Stromversorgungsstecker für die Zero unter der Sitzbank
- ist portabel - der Stecker hat einen Access Point modus, Du kannst ihn überall mitnehmen und brauchst keine bestehenden WiFis
- keine cloud, kein Internet
- der ein- und/oder abschalt-SoC muss hardcodiert werden im ESP
- limitierte manuelle Eingriffsmöglichkeit/kein interface (es sei denn, Du verbindest Dein smartphone/notebook/PC mit dem WiFi AP des Steckers, und rufst das webinterface auf. Das könnte doch auch beim ESP32 im WiFi-AP-mode gehen? Webserver mit einer Seite, auf der man den SoC ablesen kann, und zB den Ladeschluss-Wert setzen kann.
Mit homeautomation server (zB Raspberry Pi) im eigenen WiFi geht noch mehr ohne cloud
- 6ffm70
- Beiträge: 111
- Registriert: Mo 13. Jun 2022, 15:21
- Roller: Zero FXE
- PLZ: 60
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Das könnte bei Zeros mit europäischen OBD funktionieren - der DC/DC Wandler schaltet zwar ab, aber nicht vollständig. Er lässt aber noch Strom für die kleine rote OBD-Schnittstelle unter der Sitzbank durch; und damit vermutlich auch OBD Daten. Dafür ist die BT-Auslesung allerdings nicht ausgelegt; BT schaltet immer ab.gischpelino hat geschrieben: ↑Mi 21. Dez 2022, 10:34... Oder gäbe es einen Trick BT separat einzuschalten?...
Hier kann zB ein Pi Pico mit WiFi und Spannungswandler (1.8-5.5V) angeschlossen werden - angeblich kann dessen Prozessor CAN ohne zusätzliche hardware auslesen...
-
- Beiträge: 162
- Registriert: Di 16. Okt 2018, 16:43
- PLZ: 14
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Jede Cloud ist jederzeit unkontrollierbar hackbar

Die Abhängigkeit vom Internet ist eher nicht das Problem, welches ich mit einer Cloud verbinde.
- schnber
- Beiträge: 82
- Registriert: Di 25. Jan 2022, 18:26
- Roller: ZERO FX 2020
- PLZ: 8435
- Land: A
- Wohnort: Leitring
- Tätigkeit: E-Tech Ing.
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Hola!
Hab das mit dem Erwecken des BT nun mal schnell getestet.
Wird die Zero mit dem Ladegerät erweckt Erlaubt sie keine neue BT- Verbindung,
wohl aber verbindet sie sich mit bekannten Geräten.
Uff- war mir bisher nicht klar und hätte das ganze Projekt verunglimpft wenns nicht ginge.
Fahr(zeug)daten und GPS Daten loggen ist keine große Story.
Wenn openstreetmap eine Schnittstelle bietet um Daten einzuschleusen... dann sollte das funzen.
https://wiki.openstreetmap.org/wiki/Upload
Die parallel Verwendung von BT und WiFi ist leider nicht möglich mit dem ESP32.
Alternierender Betrieb ist angeblich möglich. Das ist aber unschön wenn Verbindungen dauernd unterbrochen werden.
Eher werde ich ein WiFi Nina Modul ranhängen.
Die Sache mit dem Shelly Plug klingt cool.
Möchte versuchen Arduino IOT zu nutzen für die Visualisierung. Dann wäre schon am alles am Handy.
Habe gesehen es gibt auch einige WiFi fähige Steckdosen mit Zeitschaltuhr und zugehöriger App.
Damit wäre-mit etwas Fingerspitzengefühl, ganz ohne Datenabfrage, zumindest das ungefähre Laden
auf einen gewollten SOC möglich, wenn man sich den letzten merkt.
LG
B.
Hab das mit dem Erwecken des BT nun mal schnell getestet.
Wird die Zero mit dem Ladegerät erweckt Erlaubt sie keine neue BT- Verbindung,
wohl aber verbindet sie sich mit bekannten Geräten.
Uff- war mir bisher nicht klar und hätte das ganze Projekt verunglimpft wenns nicht ginge.
Fahr(zeug)daten und GPS Daten loggen ist keine große Story.
Wenn openstreetmap eine Schnittstelle bietet um Daten einzuschleusen... dann sollte das funzen.
https://wiki.openstreetmap.org/wiki/Upload
Die parallel Verwendung von BT und WiFi ist leider nicht möglich mit dem ESP32.
Alternierender Betrieb ist angeblich möglich. Das ist aber unschön wenn Verbindungen dauernd unterbrochen werden.
Eher werde ich ein WiFi Nina Modul ranhängen.
Die Sache mit dem Shelly Plug klingt cool.
Möchte versuchen Arduino IOT zu nutzen für die Visualisierung. Dann wäre schon am alles am Handy.
Habe gesehen es gibt auch einige WiFi fähige Steckdosen mit Zeitschaltuhr und zugehöriger App.
Damit wäre-mit etwas Fingerspitzengefühl, ganz ohne Datenabfrage, zumindest das ungefähre Laden
auf einen gewollten SOC möglich, wenn man sich den letzten merkt.
LG
B.
- 6ffm70
- Beiträge: 111
- Registriert: Mo 13. Jun 2022, 15:21
- Roller: Zero FXE
- PLZ: 60
- Kontaktdaten:
Re: SoC aus der Ferne lesen
Obacht, das Nina Modul im zB Arduino Nano RP2040 verwendet einen -yep- ESP32 als WiFi&BT modul. Ich sehe aber nicht, daß ein schnell alternierender Wechsel zwischen BT und WiFi ein Problem sein könnte; ich habe nur alle ca. sechs Minuten eine SoC Veränderung von 1%.; selbst bei zehnfacher Ladeleistung kommt es nicht an ihre Grenzen. Ist ja kein Video-streaming.
Hilfsweise -wie schon erwähnt- den Nano RP2040 direkt an den CAN-Bus über OBD anschliessen, und nur das WiFi nutzen. Der Strom bleibt dort -zumindest eine Weile?- noch weiter bestehen, auch wenn die Zero nicht lädt oder eingeschaltet ist. Der hat noch weitere Vorteile, die der Pi Pico oder die gängigen ESP32 nicht haben:
- Betriebsstrom von 5-18V; kein step-down wandler nötig
- Funktioniert mit Arduino IDE und C, als auch mit Micropython und Circuitpython
- 6-axis IMU und MEMS Mikrophon für KI-Spielereien; speziell der IMU kann interessante Daten loggen
- deutlich kleinere Abmessungen
- 16MB Flash IC + 16MB im Nina - für mehr logging
- Arduino cloud
Wer ist online?
Mitglieder in diesem Forum: arden und 33 Gäste