Seite 1 von 24
NIU Cloud (?)
Verfasst: Mi 20. Jun 2018, 10:59
von sloglban
Hallo Zusammen,
ich bin seit ca. einem Monat begeisterter NIU-N1-Fahrer. Ich nutze den Roller jedem Tag (im Sommer), um damit 27 km zur Arbeit zu fahren. Dort lade ich dann nach, um wieder nach Hause zu kommen (auch bei Sturm). Eine Erweiterung der Kapazität des Akkus ist geplant, damit ich die gesamte Stecke mit einem Ladezyklus abdecken kann. Da muss ich mich aber noch ausgiebig mit beschäftigen...
Hab schon fleißig hier im Forum gelesen. Insbesondere das Thema Akkupflege interessiert mich. Ich habe im Moment einen Zeitschaltung, die etwa 5 Stunden bevor ich starten muss, das Ladegerät einschaltet (WLAN-Steckdose). Kommt eine Benachrichtigung der NIU-App (Akku voll), schaltet Tasker (Android App) die Steckdose wieder ab.
Das funktioniert soweit ganz gut. Schöner wäre es allerdings, wenn es eine API gäbe, um die Akkudaten direkt von der NIU-Cloud zu ziehen. Die App kann das ja auch. Deswegen meine Frage:
Hat schon jemand den Traffic zwischen der App und den NIU-Servern analysiert, und herausbekommen, ob es einen Weg gibt die Daten direkt zu beziehen ?
Danke + Gruß,
André
Re: NIU Cloud (?)
Verfasst: So 16. Sep 2018, 22:29
von Gunni
Ich hab jetzt mal den Traffic mitgeschnitten und scheint recht einfach zu sein das per curl abzurufen und man bekommt einen JSON zurück.
Man muss dafür aber das Token mitschneiden. Ich könnte mir auch vorstellen, dass man den Anmeldeprozess nachbilden kann und dann als Zweitapp anmelden könnte mit eigenem Token. Müsste man dann auch mal mitschneiden.
Bin aktuell noch nicht sicher wie ich das angehen möchte, ob mit nodejs oder PHP.
nodejs versuch ich mich gerade ein bissl einzuarbeiten.
*edit* So sieht übrigens die Antwort des NIU-Servers aus:
Code: Alles auswählen
{
"data": {
"isCharging": 0,
"lockStatus": 0,
"isAccOn": "",
"isFortificationOn": "",
"isConnected": true,
"postion": {
"lat": 51.123456,
"lng": 6.654321
},
"hdop": 0,
"time": 1537123081204,
"batteries": {
"compartmentA": {
"bmsId": "BN1GPC2B12345678",
"isConnected": false,
"batteryCharging": 55,
"gradeBattery": "96.6"
}
},
"leftTime": "17.0",
"estimatedMileage": 31,
"gpsTimestamp": 1537122028093,
"infoTimestamp": 1537123081204,
"nowSpeed": 0,
"batteryDetail": true,
"centreCtrlBattery": 85,
"ss_protocol_ver": 2,
"ss_online_sta": "1",
"gps": 5,
"gsm": 13,
"lastTrack": {
"ridingTime": 836,
"distance": 2554,
"time": 1537109366463
}
},
"desc": "Erfolg",
"trace": "Erfolg",
"status": 0
}
Re: NIU Cloud (?)
Verfasst: So 16. Sep 2018, 22:51
von climbersp
Hallo Andre,
die 54km schaffst du nicht mit einer Akkuladung?
Re: NIU Cloud (?)
Verfasst: Mo 17. Sep 2018, 07:20
von Battery-Ben
Bloß weil du es nicht verstehst, Alf? Wenn man keine Ahnung hat, einfach mal Klappe halten.
Re: NIU Cloud (?)
Verfasst: Mo 17. Sep 2018, 08:21
von 0xDECAFBAD
Gunni hat geschrieben: ↑So 16. Sep 2018, 22:29
Ich hab jetzt mal den Traffic mitgeschnitten [..][/code]
@Gunni Wie hast du das angestellt? Ich hatte ähnlichen Neugierdebedarf, bin aber mit Charles Proxy und meinem iPhone nicht weiter gekommen... Mein Ziel war es den Datenverkehr der App zu analysieren um mir ein Windows Tool zu basteln das ähnliche Funktionen hat wie die App...
Falls du das nicht öffentlich teilen willst, darfst du gerne ne PN schreiben
Re: NIU Cloud (?)
Verfasst: Mo 17. Sep 2018, 08:36
von vsm
Das funktioniert prima mit Wireshark.
Re: NIU Cloud (?)
Verfasst: Mo 17. Sep 2018, 09:23
von blackblade
vsm hat geschrieben: ↑Mo 17. Sep 2018, 08:36
Das funktioniert prima mit Wireshark.
sollte es aber nicht, wenn alles TLS gesichert ist und die Zertifikate geprüft werden.
tom
Re: NIU Cloud (?)
Verfasst: Mo 17. Sep 2018, 09:29
von Gunni
blackblade hat geschrieben: ↑Mo 17. Sep 2018, 09:23
sollte es aber nicht, wenn alles TLS gesichert ist und die Zertifikate geprüft werden.
0xDECAFBAD hat geschrieben: ↑Mo 17. Sep 2018, 08:21
@Gunni Wie hast du das angestellt?
Ganz grob:
mitmproxy aufgesetzt auf meiner Linux-Kiste. Auf Android das Zertifikat importiert, im WLAN den Proxy eingestellt und dann im mitmproxy geguckt. @blackblade: Durch das importieren des Zertifikats als vertrauenswürdig funktioniert das auch mit TLS.
Wenn ich es etwas bereinigt habe dann mach ich es hier öffentlich.
Re: NIU Cloud (?)
Verfasst: Mo 17. Sep 2018, 10:03
von blackblade
Gunni hat geschrieben: ↑Mo 17. Sep 2018, 09:29
Ganz grob:
mitmproxy aufgesetzt auf meiner Linux-Kiste. Auf Android das Zertifikat importiert, im WLAN den Proxy eingestellt und dann im mitmproxy geguckt. @blackblade: Durch das importieren des Zertifikats als vertrauenswürdig funktioniert das auch mit TLS.
Wenn ich es etwas bereinigt habe dann mach ich es hier öffentlich.
Sowas dachte ich mir schon. Da hat NIU es sich dann etwas einfach gemacht, dass sie auch fremde Zertifikate akzeptieren. Da kann man nur hoffen, dass sie es zwischen Roller und ihrer Cloud besser gemacht haben.
tom
Re: NIU Cloud (?)
Verfasst: Mo 17. Sep 2018, 10:21
von vsm
Nein, die akzeptieren bestimmt keine fremden Zertifikate. Bei TLS stellst Du quasi zwei Verbindungen her, einmal zwischen Handy und Proxy (geht übrigens auch mit Wireshark) und einmal zwischen Proxy und Server. Der NIU-Server sieht nur den Proxy als Endgerät und auf dieser Strecke ist natürlich alles mit dem NIU-Zertifikat verschlüsselt, zwischen Proxy und Handy dann alles mit dem Zertifikat vom Proxy (das Du deshalb vorher als vertrauenswürdig einstufen musst).