首先你要知道丰云行-丰云悦享
这是丰田内置的系统
支持设备:
全新换代雷凌(豪华版?)以上(2019-2021款),激活丰田悦享
威兰达
:scream:坛友反馈八代凯美瑞不支持丰田悦享
无意中看到这篇文章丰云行app 探索
刚好家里有台丰田,然后就捣鼓捣鼓。
丰云行app使用https通信,所以用的Charles抓包。
https://carapp.gtmc.com.cn/api/vhcApp/vhcNet/refreshVhcCondition?userId=用户ID&appVersion=4.5.2&carCode=2&fyxDevice=2&phone=注册的手机号&type=&vin=**LVGB车架号**
通过抓包我们能获取到
userID:用户id
phone:手机号
vin:车架号
**Authorization:**用于授权验证
返回数据解释
"tirePreFrntLe": null, 左前轮胎压
"tirePreFrntRi": null, 右前轮胎压
"tirePreRearLe": null, 左后轮胎压
"tirePreRearRi": null, 右后轮胎压
"tireTemFrntLe": 0, 左前轮温度
"tireTemFrntRi": 0, 右前轮温度
"tireTemRearLe": 0, 左后轮温度
"tireTemRearRi": 0, 右后轮温度
"mileageTotal": 111, 总行驶里程
"mileageCounterA": , 里程计数器A
"mileageCounterB": , 里程计数器B
"fuelWearAvg": 5, 平均油耗
"fuelFilledWearAvg": 1, 加油后平均油耗
"refreshDate": 1596977739132, 数据上传时间(一般是停车后会上传)
"remainCharging": null,
"mileageVeh": 946.0, 剩余路程KM
"tirePreFrntLeStatus": null, 左前轮胎压状态
"tirePreFrntRiStatus": null, 右前轮胎压状态
"tirePreRearLeStatus": null, 左后轮胎压状态
"tirePreRearRiStatus": null, 右后轮胎压状态
"tireTemFrntLeStatus": null, 左前轮温度状态
"tireTemFrntRiStatus": null, 右前轮温度状态
"tireTemRearLeStatus": null, 左后轮温度状态
"tireTemRearRiStatus": null, 右后轮温度状态
"fuelPro": 22.628048801418988, 剩余油量%
导入NRgtmc.json (3.1 KB)
修改Header的信息
获取位置信息
https://carapp.gtmc.com.cn/api/vhcApp/vhcNet/getVhcPositionInfo?userId=**10086**
使用POST,需要验证数据
导入NRgtmc_map.json (5.6 KB)
车辆数据{"carCode":"2","phone":"13800138000","fyxDevice":"2","vin":"LVGBXXXXXXXXXX","appVersion":"4.5.2"}
这里获取到的坐标为百度地图的坐标数值。使用高德地图需要修正偏移
获取正确地址偏移值(地址对,图片不对):
longitude偏移值:-0.01185
latitude偏移值:-0.00328
msg.payload.longitude=parseFloat(msg.payload.longitude).toFixed(14) - 0.01185).toString()
msg.payload.latitude=(parseFloat(msg.payload.latitude).toFixed(14) - 0.00328).toString()
获取正确图片偏移值(地址不对,图片对):
longitude偏移值:-0.00632
latitude偏移值:-0.0062
msg.payload.longitude=(parseFloat(msg.payload.longitude).toFixed(14) - 0.00632).toString()
msg.payload.latitude=(parseFloat(msg.payload.latitude).toFixed(14) - 0.0062).toString()
完。