Sodala!
Damit die bluetooth(R) Sache zu einem Zwischenstand kommt...
Meine Software ist in der Lage sich mit (zumindest) der ZERO FX 2020 zu verbinden.
Die Kompatibilität zu anderen ZERO- Bikes kann ich in Ermangelung eines Fuhrparkes nicht beantworten.
Ich nehme aber an, dass zu allen derzeit am Markt befindlichen Modellen Verbindung aufgebaut werden kann.
Die APP ZeroSpy arbeitet mit der selben BT- Schnittstelle und mir sind keine Einschränkungen bekannt.
Hat jemand Erfahrung damit? Mit verschiedenen Bikes?
Die Software wurde geschrieben auf der ARDUINO IDE 2.x in C++,
der Quellcode hat eine Größe von gut 30kB, und das ganze läuft auf dem ESP32 DEV KIT C V4.
Die Programmierung hat mit einem Aufwand von 60h zu Buche geschlagen.
Nach dem Aktivieren verbindet sich das ESP32 Board mit dem ersten BT- Teilnehmer in dessen Namen "ZERO" vorkommt.
Danach werden acht verschiedene Requests per BT-Classic an die ZERO gesendet.
Jeden beantwortet das Bike brav. Dank der CRC32 checksummen lassen sich fehlerhafte Pakete erkennen und werden erneut abgefragt.
Die HEX-Zahlen-Kolonne wird im Anschluss interpretiert damit von Menschen lesbare dezimale bzw. binäre Informationen daraus entstehen.
Diese Werte werden noch den Beschreibungen zugeordnet und ausgegeben auf der Seriellen Schnittstelle des ESP32.
Angloamerikanische Angaben in MILES werden für uns metrische Europäer auf km umgerechnet. Die ZERO spricht "system imperial"
Am Schluss wird die mbb_partno umgeschlüsselt auf das Baujahr und angezeigt. Das funktioniert von 2013 bis 2022.
In den acht Antworten befinden sich redundante Daten, z.B. wird der km-Stand mehrfach geliefert.
Die Ausgabe ist reduziert auf die jeweils einmalige Darstellung eines Wertes.
Das Auslesen eines kompletten Datensatzes

dauert ca. zwei Sekunden.
Das geht sicher schneller - jedoch verhält sich die ZERO "seltsam" wenn sie mit zu schnellen Anfragen bombardiert wird.
Dann geht sie in eine Art "Kommunikationsmode". Alle Anzeigen am Display blinken und nichts geht mehr.
Ich meine das ist dem Umstand geschuldet dass der/die Prozessoren ausgelastet sind und die technische Organisation
einer aktiven Fahrt durch das MBB nicht gewährleistet werden kann.
Da ich bereits eine Automatikladestation mit hardwired Datenkommunikation gebaut habe besteht derzeit keine Notwendigkeit
das Projekt weiter zu verfolgen.
Die Sache an sich hat meinen Forschergeist geweckt. Dann verbeiß ich mich wie eine Bulldogge in die Aufgabe...
Habe viel dabei gelernt. Es war sehr schön - es hat mich sehr gefreut
Nun wär es ein Leichtes den SOC und auch Befehle (LADE auf xx% zu einem Zeitpunkt, etc...)
oder alle weiteren Werte auf einem Handy über das Internet verfügbar zu machen.
Sollte sich jemand dafür interessieren an dieser Stelle weiter zu machen - der Quellcode liegt auf Nachfrage offen.
Einfach private Nachricht schicken.
Anbei die Ausgabe eines komplette Auslesevorganges für Interessierte.
Stay tuned
Bernardo