BionxControl: Ein CAN-Bus Setup-Tool für Bionx™-eBikes

Aufgabe:

Entwickle ein GUI-Tool, um Bionx-eBikes über den CAN-Bus anzusteuern. Es soll

  • die typischen Parameter wie Ladezustand, Höchstgeschwindigkeit etc. auslesen,
  • übersichtlich darstellen
  • über den CAN-Bus zurückschreiben
  • portabel programmiert sein
  • mit der native TinyCan-Treiber von MHS-Elektronik arbeiten
  • auch auf einem Raspberry Pi Zero 2 laufen
Umsetzung:

Die Einstellungen des Bikes werden tabellarisch dargestellt, für jedes ‚Device‘ (Console, Motor, Akku)  gibt es eine eigene View. Für diejenigen Werte, die änderbar sind, wird in einem Mini-Progressbar der Einstellungswert noch anteilig angezeigt.

Mit dem ‚Reload‘-Button werden die aktuellen Einstellungen vom eBike über den TinyCan-Adapter eingelesen. Es wird die native Treiber-API verwendet, die Qt CAN-Bus API würde vermutlich auch funktionieren.

Nach dem Programmstart wird erstmal ein Pseudo-Treiber verwendet, der Zufallswerte sendet. Durch Klick auf den Connect-Button wird versucht, den ‚echten‘ Treiber zu laden und eine Verbindung zu Steuerkonsole des Bikes aufzubauen.

Die Kommunikation mit der Hardware ist von der GUI über einen Worker-Thread entkoppelt, die Synchronisation erfolgt die über den SIGNAL/SLOT Mechanismus der Qt-Bibliothek.

Status:

Experimentell. Fehlerbehandlung ist etwas rudimentär, teilweise noch Darstellungsfehler im Edit-Mode. Einstellungen überprüfen und zurückschreiben fehlt noch. Der aktuelle Stand liegt unter gitea.sourceworx.org/chris/BionxControl

Technologie-Stack