Verfasste Forenbeiträge

Ansicht von 15 Beiträgen – 1 bis 15 (von insgesamt 28)
  • Autor
    Beiträge
  • als Antwort auf: Akkustand via Bluetooth auslesen #3815
    fionnlagh
    Teilnehmer

    So.

    Möchte erstmal meinen Dank an den Threadersteller careyer geben, da er mich durch seine einfache Frage auf “dumme” Ideen gebracht hat ?

    Wir haben nun die Basis dafür, statt der offiziellen TIER-App andere Apps (oder Geräte) zu nutzen.

    Das kommt allen gewiss zu gute ?

     

    als Antwort auf: Akkustand via Bluetooth auslesen #3811
    fionnlagh
    Teilnehmer

    @careyer: Jop habe Telegram 🙂

    Da Links mist sind, hier der QR Code zum beitreten.

    Telegram Gruppe

    als Antwort auf: Akkustand via Bluetooth auslesen #3800
    fionnlagh
    Teilnehmer

    Habe es mit meinem odroid go (Auch ESP32 basiert) nun geschafft:

    h ttps://www.youtube.com/watch?v=BsDhNsYm_GY

    Die “Grundfunktionen” funktionieren soweit 🙂

    • Diese Antwort wurde geändert vor 4 Jahren, 5 Monaten von fionnlagh.
    als Antwort auf: Akkustand via Bluetooth auslesen #3792
    fionnlagh
    Teilnehmer

    Getestet: an der Arduino-Installation liegts auch nicht. Habe es auf nem anderen PC mal installiert (Linux). Auch Crash-Loop… Hätte ich gewußt, dass der ESP32 müll ist, hätte ich mir die 10€ gespart..

    als Antwort auf: Akkustand via Bluetooth auslesen #3789
    fionnlagh
    Teilnehmer

    @Careyer; Habe mal andere Sketche ausprobiert.. Hall-Sensor z.b. funktioniert ok.

    Eben ist mir was interessantes ausgefallen: Eben nochmal mit dem Beispiel-Sketch “SimpleBleDevice” gespielt -> Der ESP stürzt etwa 30 mal hintereinander ab, plötzlich läuft der Sketch und funktioniert. Wtf?

    Wenn ich nach dem Crash google, wird mir geschrieben, dass dies ein bekannter Bug ist, der bisher noch nicht gefixt ist. wtf..

    Am Chip selbst wirds wohl nicht liegen, immerhin konnte ich mit der offiziellen AT-Firmware sowohl Wifi als auch BLE gleichzeitig nutzen, ohne Crash.

     

    Vielleicht werde ich es mal mit dem Odroid Go probieren. Hat ja bereits Tasten, n Display und Batterie 😀

    als Antwort auf: Akkustand via Bluetooth auslesen #3782
    fionnlagh
    Teilnehmer

    Schuld kann man wohl eher dem Dienstleister geben, der die Box entwickelt hat 😉

    Aber joa..

    Wenn man bedenkt, dass n Sniffer es nun sehr leicht hat, unser Passwort zu erbeuten, sobald wir die offizielle App offen haben.. weil’s einfach mal unser Passwort in Kombi mit AT+BKINF rumschreit..

    Dagegen ist der Ansatz, den Scooter mit nRF Connect zu entsperren, ein Flüstern 😉

     

    Hier aber meine Bedenken: Ich hoffe, dass TIER bei den echten Verleihscootern nicht genau den selben kram zum Entsperren benutzt. So wie ich das verstehe, könnte das Kommando “BKSCT” auch über das interne LTE kommen (Sprich: per Cloud), wenn man einen entsperrt..

    Wenn nicht, habe ich wohl soeben jedem eine Freifahrt geschenkt. O_O

    Habe es mal getestet. Leihscooter strahlen das selbe aus wie unsere MyTiere. Wenn die (internen) Passwörter die selbe Länge haben.. oder es gar n Masterkey gibt und der Scooter nicht mal wen für falsche Passwortversuche bestraft…. Sch…e

    Ich konzentrier mich lieber auf das wesentliche und .. keine Ahnung.. bau ne schicke App inkl. Tacho. Nutze alles, was BKINF zurück gibt 😀

    Wäre dann meine erste App. Ever.

     

    Auch @Admin: Das Captcha nervt. Ich empfehle klar eine “ordentliche” Forensoftware. Add-On für WordPress tuts nicht.

    als Antwort auf: Akkustand via Bluetooth auslesen #3774
    fionnlagh
    Teilnehmer

    Habe diesen:

    Klicken Sie auf den unteren Button, um den Inhalt von anleitung.joy-it.net zu laden.

    Inhalt laden

    Beim großen blauen C gekauft. Habe auch noch n Odroid Go.Das hätte auch Stil, mim Gameboy das ding entsperren ?

     

    Das Kompilieren und Hochladen des Sketchs geht ohne Fehler. Wenn der esp32 aber bootet, stürzt dieser mit ner unhandled exception ab, sobald er BLEDevice::init ausführt. Scheint n alter Bug zu sein, der durch das einschalten von Debugging “umgangen” wurde.

    Hat genau ein mal funktioniert, danach wieder Crashkarrussel. So wirddatnix ?

    als Antwort auf: Akkustand via Bluetooth auslesen #3771
    fionnlagh
    Teilnehmer

    Habe Android 😉

    Da ich von der Arbeit aus n iPhone bekommen habe, könnte ich da mal schauen, in wiefern dies anders ist.

    Aber hey leute, gibtn Grund zu feiern 😉

    Wenn mir jetzt noch jemand sagt, warum mein esp32 abstürzt, sobald ich auch nur ein Beispielcode zum Thema Bluetooth LE drauf laufen lasse, bau ich mir n physischen Tier-Schlüssel 🙂

    als Antwort auf: Akkustand via Bluetooth auslesen #3768
    fionnlagh
    Teilnehmer

    Makro für nRF Connect:
    Erstellt ein Makro. im ersten Schritt sendet ihr den Befehl + euer Passwort + ein Komma,
    im zweiten sendet ihr das Argument (z.b. 0 oder 1)

    Erster Teil:
    [z.b. AT+BKSCT=(passwort),]

    AT+BKSCT=(passwort), “Security” schaltet man aus (0 = Entsperrt)
    AT+BKLED=(passwort), LED sagt schon aus
    AT+BKINF=(passwort), Info über den Scooter

    Wichtig ist das Komma hinter dem Passwort.

    Zweiter Teil: (Als Byte Array senden!)

    0x30240D0A -> 0$ und Enter
    0x31240D0A -> 1$ und Enter

     

    Ist Fleißarbeit, aber es klappte, wenn ich die Befehle nicht als normalen Text sende, sondern als “Byte Array”. Vielleicht gibt er sich auch zufrieden, wenn man nur den zweiten Teil als “Byte Array” übergibt, wegen den Steuerzeichen.

    als Antwort auf: Akkustand via Bluetooth auslesen #3767
    fionnlagh
    Teilnehmer

    Makro für nRF Connect:
    Erstellt ein Makro. im ersten Schritt sendet ihr den Befehl + euer Passwort + ein Komma,
    im zweiten sendet ihr das Argument (z.b. 0 oder 1)

    Erster Teil:
    [z.b. AT+BKSCT=(passwort),]

    AT+BK 41542B424B Hiermit beginnt der Befehl
    SCT= 5343543D “Security” schaltet man aus (0 = Entsperrt)
    LED= 4C45443D LED sagt schon aus
    INF= 494E463D Info über den Scooter

    (passwort), (Passwort in Hex hier rein)+2C
    [Wichtig hier, nach dem Passwort kommt ein Komma, also Hexadezimal 2C]

    Komplett also: 41542B424B5343543D(Passwort in Hex)2C

    Zweiter Teil:

    0$\r\n 30240D0A 0 und Enter
    1$\r\n 31240D0A 1 und Enter

     

    Ist Fleißarbeit, aber es klappte, wenn ich die Befehle nicht als normalen Text sende, sondern als “Byte Array”. Vielleicht gibt er sich auch zufrieden, wenn man nur den zweiten Teil als “Byte Array” übergibt, wegen den Steuerzeichen.

    als Antwort auf: Akkustand via Bluetooth auslesen #3763
    fionnlagh
    Teilnehmer

    Habe nochmal mit nRF Connect gespielt.

    Timing ist wichtig! Erstellt euch n Makro, welches beide Teile des Befehls kurz nacheinander sendet.

    Ich habe also soeben meinen Scooter mit der nRF Connect Anwendung entsperren und wieder sperren können.

    als Antwort auf: Akkustand via Bluetooth auslesen #3762
    fionnlagh
    Teilnehmer

    tipp, mit \r\n meine ich Steuerzeichen oder ein klassisches “Enter”

    Ich hatte irgendwie mit nRF Connect es auch mal probiert (Den ganzen Befehl hexadezimal eingegeben).

     

    Was mir beim Schnüffeln auch auffiel, dass die Befehle in 2 Schritten gesendet werden:

    1. AT+BKINF=btpasswort,

    2. 0$/r/n

    Vermutung liegt nahe, dass das Bluetooth LE Interface nur 20 Bytes auf einmal empfangen kann.

     

    Habe noch was weiteres versucht. Ich erinnere mich an Höllenhund, der die IoT Box ja ausgelesen hat. Sowas könnte ich auch, jedoch sind mir die Spannungen, das Pinout des Anschlusses und die Baudrate unbekannt. Wäre lustig, so könnte man noch weitere Befehle probieren. Ich bin durchaus im Besitz zweier CP2102 UART Wandler 🙂 🙂 .. In der “Gebrauchsanweisung” der IoT-Box (die man bei FCC bekommt) steht z.b. n AT-Befehl, der NFC aktivieren soll… Wäre nice.

    als Antwort auf: Akkustand via Bluetooth auslesen #3748
    fionnlagh
    Teilnehmer

    Irgendwie kann ich nicht editieren…

    Zum obigen Beitrag folgende Ergänzungen:

    Parameter 1 ist der Status der Wegfahrsperre (1 = ist an, 0 = ist aus)

    Parameter 7 ist Aktivierungsstatus (0 = ist gesperrt Display ist aus, 1= ist entsperrt und Display zeigt was an)

    als Antwort auf: Akkustand via Bluetooth auslesen #3746
    fionnlagh
    Teilnehmer

    Hab weiter getestet..

    Die Ausgabe des Befehls AT+BKINF gibt folgendes in der Reihenfolge zurück:

    +ACK:BKINF,0,0.0,0.00,1634.4,7,57,1$ oder +ACK:BKINF,0,21.3,0.00,1634.4,9,57,1$

    1. Ist scheinbar immer 0
    2. Aktuelle Geschwindigkeit, wie sie auf dem Scooter Display angezeigt wird (KM/h. Hatte meinen aufgebockt zum testen)
    3. (Vermutlich) Gefahrene km seit Entsperren. Beginnt nach Entsperren bei 0, zählt dann beim Beschleunigen hoch.
    4. (Vermutlich) Gefahrene Kilometer seit Inbetriebnahme? Zählt wie der vorherige Wert auch hoch, setzt sich beim Sperren nicht zurück, ist bei meinem Scooter auf (eben diesem) Wert
    5. Der Wert zählt irgendwie +1, sobald das Rad sich dreht und der Befehl AT+BKINF ausgeführt wird. Zweck unbekannt, vermutlich Startgeschwindigkeitskontrolle?
    6. Akkukapatizät in %
    7. 0 wenn Wegfahrsperre aktiv (Gesperrt), 1 wenn nicht(Entsperrt)
    als Antwort auf: Akkustand via Bluetooth auslesen #3745
    fionnlagh
    Teilnehmer

    So, ich habe eine etwas andere Herangehensweise versucht:

    2 PCs, 2 Bluetooth Dongles und die Software “btlejuice”. Ich habe mich also zwischen den E-Scooter und meinem Handy geschaltet.

    Folgendes habe ich rausgefunden:

     

    1. Handy verbindet sich per Bluetooth LE (mit einer zufälligen MAC) mit dem Scooter, offenbar ohne Sicherheit bzw Pairing 😉

    2. Sobald die beiden verbunden sind, wird an das Charakteristika 0x2c10 ein AT-Befehl gesendet, der den Akkustand etc.. ausliest. Dies sieht so aus: AT+BKINF=(Bluetooth Passwort),0$\r\n. Geantwortet wird via Notification auf dem gleichen Kanal mit “+ACK:BKINF,1,0.0,0.00,1634.4,0,57,0$\r\n” . In diesem Fall hat mein Scooter ein Batteriestand von 57%. Was die anderen Werte sind, weiß ich nicht (Vielleicht Geschwindigkeit? 🙂 )

    3. Sperren und Entsperren des Scooters: Er sendet an 0x2c10 den Befehl AT+BKSCT=(Bluetooth Passwort),0$\r\n (bzw 1), die Antwort: “+ACK:BKSCT,0$\r\n”

     

    Ich denke, damit lässt sich arbeiten 😉

Ansicht von 15 Beiträgen – 1 bis 15 (von insgesamt 28)