Skip to content

Commit

Permalink
Create niu.py
Browse files Browse the repository at this point in the history
  • Loading branch information
bfishadow authored Sep 26, 2020
1 parent c41ffac commit 2094427
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions niu.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import urllib.request
import json

strSerialNumber = "" # Check it in the app
strAppToken = "" # Dump the app request with Mitm

objNiuReq = urllib.request.Request("https://app-api.niu.com/v3/motor_data/index_info?sn=" + strSerialNumber)
objNiuReq.add_header("token", strAppToken)

with urllib.request.urlopen(objNiuReq) as objNiuResponse:
objNiuAPIResult = objNiuResponse.read()
objNiuData = json.loads(objNiuAPIResult)

intNiuBatteryLevel = objNiuData["data"]["batteries"]["compartmentA"]["batteryCharging"]
intNiuEstMileage = objNiuData["data"]["estimatedMileage"]
strNiuLocLat = objNiuData["data"]["postion"]["lat"]
strNiuLocLng = objNiuData["data"]["postion"]["lng"]
blnNiuCharging = objNiuData["data"]["isCharging"]

strNiuChargingStatus = ""
if blnNiuCharging == 0 :
strNiuChargingStatus = "(Not Charging)"
elif blnNiuCharging == 1 :
strNiuChargingStatus = "(Charging)"

strNiuLocLat = int(strNiuLocLat*100000)/100000
strNiuLocLng = int(strNiuLocLng*100000)/100000

strNiuGoogleMapsLink = "https://www.google.com/maps/search/" + str(strNiuLocLat) + ",+" + str(strNiuLocLng)

print ("Battery Level:", intNiuBatteryLevel, "%", strNiuChargingStatus)
print ("Estimated Mileage:", intNiuEstMileage, "KM")
print ("Location:", strNiuGoogleMapsLink)

0 comments on commit 2094427

Please sign in to comment.