S01/mo: App zur BLE Kommunikation mit dem Astramodul

S01, S02, S03, Mó
Gerold
Beiträge: 530
Registriert: Fr 7. Feb 2020, 10:23
Roller: Silence S01
PLZ: 55*
Kontaktdaten:

S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von Gerold »

Ich habe mich in letzter Zeit mit dem MIT App Inventor 2 MIT App Inventor 2 beschäftigt um eine eigene App zu erstellen, die per BLE mit dem Astra Modul kommuniziert, da ich mich mit der aktuellen Silence App nicht mehr über Bluetooth mit dem Roller verbinden kann. Das Ergebnis seht Ihr hier:
-
Screenshot_20230928_144053.jpg
-
Über den "BLE" Button wird die App mit dem Roller verbunden und auch wieder getrennt.
Auf der App wird eine Auswahl der Parameter angezeigt, die das $STMS Kommando liefert. Mit dem "Refresh" Button werden die Werte aktualisiert.
Der "Power" Button schaltet der Roller ein/aus, der "Find" entspricht dem Dreieck des Silence App und mit "TCOP" kann die Sitzbank bei eingeschaltetem Roller und ausgeklappten Seitenständer geöffnet werden.
In der "Command" Zeile können Kommandos aus der Commandref eingegeben werden, die mit "send" an das Modul geschickt werden. In der nächsten Zeile erfolgt dann die Ausgabe der Antwort des Moduls. Kommandos werden hier ohne führendem "$"-Zeichen eingegeben, dieses wird automatisch ergänzt.

Zum Zugriff auf das Astramodul ist eine Authentifizierung mittels RSDK notwendig. Dazu kann, wie im Manual beschrieben, entweder eine bereits im Modul abgelegte RSDK verwendet oder eine Eigene im Modul abgelegt werden. Dafür ist aber ein Zugriff auf das Modul über die serielle Schnittstelle notwendig. Details hierzu findet man in @Priemlers hervorragendem Sammelthread für Elektronikbastler.

Sowohl die Mac-Adresse des Moduls, welche zum Verbindungsaufbau notwendig ist, als auch die RSDK, sind in der App hardcoded eingepflegt. Ich hänge daher hier keine fertige .apk sondern eine .aia Datei dran, die in den Inventor importiert und dort bearbeitet und kompiliert werden kann. Vor dem Import ist noch die .txt-Endung zu entfernen, hier im Forum kann man keine Archivdateien hochladen. Für die Nutzung des Inventors ist allerdings ein Google Account notwendig. Die fertig kompilierte App kann nach der Bearbeitung mit Hilfe der App "MIT AI2 Companion" auf das eigene Smartphone übertragen werden.

Die Mac findet man unter den Reiter "Blöcke" in der Global BLE_MAC. Die RSDK muss wie im Manual auf Seite 6 beschrieben, in zwei Paketen übertragen werden, da die Länge der RSDK mit 32 Byte die Maximalzahl von 20 Bytes überschreitet, die mit BLE übertragen werden können. Die RSDK wird nun in den globalen Liste RSDK1 und RSDK2 eingetragen. Wichtig: Die Hexbytes müssen in Dezimalzahlen umgerechnet werden, und diese dann in den beiden Listen eingetragen werden, da ich keine Möglichkeit gefunden habe, ein mit dem Inventor ein Array von Hexbytes zu senden.

Die App läuft bei mir auf einem Android System, ob sie auch unter IOS funktioniert muss man testen. Die angehängte Astra.aia kann natürlich auch zur Verschönerung, Verbesserung und Weiterentwicklung der App genutzt werden.
Dateianhänge
Astra.aia.txt
(231.37 KiB) 136-mal heruntergeladen

Benutzeravatar
Pfriemler
Moderator
Beiträge: 2324
Registriert: Di 7. Mai 2019, 17:41
Roller: SEAT Mó 125 (Mj. 2021, Votol)
PLZ: 14513
Wohnort: Südrandberlin
Tätigkeit: Tonkünstler
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von Pfriemler »

Ich klick mir ne App zusammen. Das ist ja noch besser als mein sonst favorisiertes "Basic4Android".
Aber der Ehre ist's zuviel: Auch die Idee, den Roller mit einer allgemeinen 3rd-party-App per Bluetooth anzusprechen, stammt schon von Gerold und ist im Telemetriemodul-Thread (nicht im Elekronikbastler-Sammelfred) ab hier und in den Folgebeiträgen nachzulesen.
Zuletzt geändert von Pfriemler am Di 10. Okt 2023, 18:27, insgesamt 2-mal geändert.
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

Benutzeravatar
Pfriemler
Moderator
Beiträge: 2324
Registriert: Di 7. Mai 2019, 17:41
Roller: SEAT Mó 125 (Mj. 2021, Votol)
PLZ: 14513
Wohnort: Südrandberlin
Tätigkeit: Tonkünstler
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von Pfriemler »

Ich habe mir jetzt ein paar Stunden den Wolf gesucht und hier auch den Fortschritt dazu berichtet. Kann ich aber alles canceln.

Die App funktioniert einwandfrei auch bei meinem Mo. Ich kann verbinden, den Roller ein- und ausschalten, die Sitzbank öffnen und auch das bisher für SEAT-Besitzer nicht verfügbare FIND-Kommando (weil deren App es schlicht nicht umsetzt) funktioniert einwandfrei. (Ist aber über Bluetooth etwas sinnfrei, weil man sich ja dann sowieso in der Nähe des Rollers befindet, nicht wahr? :lol: )

Für die App: GANZ GROSSES KINO. Ich bin begeistert. Eigene Anpassungen wie Namen, Änderung der Schriftgrößen, Eindeutschung ist kein Hexenwerk. Ich kommt mit dem MIT App Inventor ganz gut zurecht. Nur beim Installieren meckert Googles PlayStore über ein mögliches Sicherheitsrisiko - aber das kann man ja ignorieren.

Meine Erkenntnisse im Laufe meiner Versuche hier zusammengefasst:

1. Die Einstellung des "security levels" in den $BLEC-Settings des Astra-Moduls ist ohne Belang: sowohl mit 1 als auch mit 3 funktioniert es.
2. Die Übertragung des eigenen Schlüssels in der App erfolgt in zwei Schritten. Beide Pakete werden zwar mit einem eindeutigen Header versehen, es ist aber wichtig, sie in der richtigen Reihenfolge zu übertragen. Das hatte ich vermutlich ganz versehentlich beim Herumspielen und Anpassen vertauscht. Es ist also wichtig, zunächst die mit "165,182,1,0" beginnende Liste (RSDK1) zu senden und danach erst die mit "165,182,1,1" (RSDK2).
3. Mir war noch aufgefallen, dass "EFR Connect" für das Schreiben auf dem RSDK-Auth-Kanal nur "write without response" anbietet. Also hatte ich im Rahmen meiner Versuche testweise den call "WriteBytesWithResonse" in Gerolds App kurzerhand durch "WriteBytes" ersetzt. Auf die (Nicht-)Funktion der App hatte das aber keinen Einfluss.

Ich habe jetzt jedenfalls Blut geleckt. Nächster Schritt wäre die Überlegung, wie man BLE-MAC und Schlüssel über die App hinterlegen kann - dann könnte man eine fertige APK verwenden und muss nicht im Quelltext arbeiten.


Nachtrag:
Gerold hat geschrieben:
Sa 30. Sep 2023, 17:18
... Die Hexbytes müssen in Dezimalzahlen umgerechnet werden, und diese dann in den beiden Listen eingetragen werden, da ich keine Möglichkeit gefunden habe, ein mit dem Inventor ein Array von Hexbytes zu senden.
Das geht recht einfach: Statt der einfachen Dezimal-Zahlen kann man das darunter Zahlenmodul nutzen und auf hexadezimal einstellen. Dann ein solches Zahlenmodul markieren, kopieren und wieder einfügen, das geht schneller als die Einzelauswahl durch Klick auf "Math".
Funktioniert bei mir einwandfrei.
Dateianhänge
MIT_HEX.jpg
Zuletzt geändert von Pfriemler am Di 10. Okt 2023, 22:51, insgesamt 3-mal geändert.
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

gmarg
Beiträge: 19
Registriert: Fr 21. Okt 2022, 21:58
Roller: SEAT MO
PLZ: 73100
Wohnort: Greece
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von gmarg »

Ich bin vielleicht außerhalb des Themas, aber ich verwende die Originalanwendung "astra IoT", um mit dem Astra-Modul zu kommunizieren. Ich habe ihnen eine E-Mail mit der IMEI des Moduls geschickt und sie geben mir ein Konto, das ich in der Anwendung verwenden kann, um mit meinem Roller zu kommunizieren und Befehle über Bluetooth zu senden. Ich füge einige Screenshots bei.
Dateianhänge
3.jpg
1.jpg
2.jpg

Benutzeravatar
Pfriemler
Moderator
Beiträge: 2324
Registriert: Di 7. Mai 2019, 17:41
Roller: SEAT Mó 125 (Mj. 2021, Votol)
PLZ: 14513
Wohnort: Südrandberlin
Tätigkeit: Tonkünstler
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von Pfriemler »

Ja, das ist etwas offtopic und auch wieder nicht. @SpeedCore hatte im Zusammenhang mit Nachrüstung eines Astra-Moduls auf eigene Kosten die App bereits hier vorgestellt und davon berichtet. Neu ist, dass Astra auch bei Modulen mit spezieller Firmware so einfach diese Möglichkeit eröffnet. Das hatte ich nicht vermutet. Danke für den Hinweis.

Letztlich erlaubt diese App die granulierte Konfiguration des ASTRA-Moduls per Oberfläche und ohne physische Verbindung zum Roller selbst, bietet aber nach meinen Erkenntnissen nicht mehr Möglichkeiten als über die Kommandozeile per serieller Verbindung, vor allem keine spezifischen Infos aus anderen Roller-Bestandteilen. Gerolds App liefert hingegen bereits jetzt deutlich mehr Informationen als die SEAT-App selbst, vor allem weil sie - anders als die Astra IoT App SIlence-spezifische Kommandos einsetzt.

Beide Apps bedienen also andere Felder, sind für den User aber beide wertvoll.
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

Benutzeravatar
Pfriemler
Moderator
Beiträge: 2324
Registriert: Di 7. Mai 2019, 17:41
Roller: SEAT Mó 125 (Mj. 2021, Votol)
PLZ: 14513
Wohnort: Südrandberlin
Tätigkeit: Tonkünstler
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von Pfriemler »

Ich hatte ebenfalls sehr engagierten Kontakt mit Astra, letztlich aber keinen Erfolg. Die wahrscheinliche Theorie ist, dass mein AT240 in der Silence-Version SL240V8 heißt und die von gmarg gezeigte App nicht damit arbeiten will, wir haben eigentlich alles versucht.
Alle übrigen Module heißen auch in der Silence-Version wie das Original, sollten also keine Probleme haben.
Meine angepasste Version (Eingabezeile nach oben, damit sie nicht von der Tastatur verdeckt wird) habe ich bis zum Defekt meines Akkus auf der 12V-Leitung viel lieber anstelle der SEAT-App benutzt, weil viel schneller und vielseitiger. Mir fehlt nur noch der Gesamtkm-Stand, aber das ist sicher leichter zu bewerkstelligen
Vielleicht bekommt das Projekt mit der angekündigten Monetatisierung der App-Nutzung nochmal etwas Rückenwind.
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

Benutzeravatar
error
Beiträge: 1484
Registriert: Di 20. Dez 2022, 19:37
Roller: NIU GT, Silence S01, Vectrix vx-1, Horwin CR6, Twizy
PLZ: 2
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von error »

Leider habe ich im Moment keine Zeit mich mit der Anpassung der App zu beschäftigen.

Deshalb eine Frage an die Gurus hier:

Lässt sich die App um die Anzeige der einzelnen Zellspannungen erweitern?

Das wäre für mich ein echter Gewinn.

Danke...

Gerold
Beiträge: 530
Registriert: Fr 7. Feb 2020, 10:23
Roller: Silence S01
PLZ: 55*
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von Gerold »

Das undokumentierte $STMS Kommando, welches zur Ermittlung der in der App gezeigten Werte verwendet wird, liefert weder den Gesamtkilometerstand, noch die einzelnen Zellspannungen. Ich kenne auch sonst kein Astra Kommando, welches diese Daten herausgibt.

Die einzige Möglichkeit, die ich im Moment sehe, ist die Abfrage der CAN-Bus Daten mittels des $RCAN Kommandos. Dafür muss der Roller aber eingeschaltet sein oder der Akku im Roller geladen werden, ansonsten erhält man die Fehlermeldung $RCAN,ERR.

Bei eingeschaltetem Roller liefert z.B. ein $RCA,100 ein $RCAN,500,8,03,10,00,00,59,25,00,00,OK.

Hier stecken die Gesamtkilometer in den Hexbytes 59 und 25, was zu einem Wert von 0x2559 = 9561km für den Odometer führt.

Benutzeravatar
error
Beiträge: 1484
Registriert: Di 20. Dez 2022, 19:37
Roller: NIU GT, Silence S01, Vectrix vx-1, Horwin CR6, Twizy
PLZ: 2
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von error »

Gerold hat geschrieben:
Di 5. Dez 2023, 14:09

Die einzige Möglichkeit, die ich im Moment sehe, ist die Abfrage der CAN-Bus Daten mittels des $RCAN Kommandos. Dafür muss der Roller aber eingeschaltet sein oder der Akku im Roller geladen werden, ansonsten erhält man die Fehlermeldung $RCAN,ERR.

Das wäre ziemlich cool. Letztendlich benötigt man die Zellspannungen ja nur (oder hauptsächlich) beim überwachen des Ladevorganges oder wenn man in Bluetoothreichweite ist.

Zündung an wäre also völlig in Ordnung.

Du hast nicht zufällig Langeweile? :lol:

Gerold
Beiträge: 530
Registriert: Fr 7. Feb 2020, 10:23
Roller: Silence S01
PLZ: 55*
Kontaktdaten:

Re: S01/mo: App zur BLE Kommunikation mit dem Astramodul

Beitrag von Gerold »

Bin für den Rest des Jahres eigentlich ausgebucht, aber mal sehen.

Ich habe zudem andere Möglichkeiten, die Zellspannungen während des Ladens zu beobachten:

https://www.elektroroller-forum.de/view ... 60#p331960
https://www.elektroroller-forum.de/view ... 75#p270575

Antworten

Zurück zu „Silence / SEAT“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 Gäste