码迷,mamicode.com
首页 > 其他好文 > 详细

使用 Power BI 分析 “回家的路”

时间:2018-03-01 10:19:39      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:OBD   Power BI   数据挖掘   数据展现   

    很多年以前,不知道怎么就听说,有个小小的转换器,能够把汽车CAN总线转接为串口,然后,就出现了再转成蓝牙或者WIFI接口的小设备。这个小设备能够获取OBD II标准的数据。OBD II的标准广泛用在各种汽车控制器上,能够通过这些数据获得汽车的各种状态数据和告警。

    于是很多牛人基于这个小玩意,在电脑特别是手机上开发了不少应用。通过蓝牙或者WIFI获得数据后,处理显示出来。数据的使用多种多样,例如自定义仪表,然后利用挡风玻璃实现HUD抬头显示,利用手机对简单的故障告警进行清楚(消码)…我当时也很有兴趣,花了几十块买了两个玩。为了写今天的文章,特意又去taobao看了一眼,现在变得更加便宜了。看上去就是这么个小玩意儿:

技术分享图片

    利用OBD II通信收集数据的应用很多。好几年前我就挺喜欢Torque,还支持插件。平时开车并不多,但每年不多的几次回家,都喜欢一个人开夜路。每次开长途,就喜欢开着OBD II设备连着手机,因为这个应用除了能显示,还能记录Log。

技术分享图片

    一直在想,这些Log能用来干啥呢?分析油耗?开车习惯?记录行车状态?不管怎么样,还是把数据记录了准备看看,说不定哪天能使用GIS系统在地图上显示一些数据分析呢?就像很久以前我做移动通信的时候,收集了路测的BTS信号数据和GPS信息,然后在地图上显示分析信号质量。

    今年回家又一次记录了数据,然后突然有了一个想法:MVP提供了免费的Power BI订阅,既然是强大的数据分析可视化展现工具,是不是能用来实现我以前的想法呢?于是从手机上下载了记录的Log文件,仔细观察了一下。

技术分享图片

    以前并没有特意设置日志记录(开始也没意识到可以定制),默认的Log文件里,每秒记录一次GPS时间、经度、纬度、速度(米/秒)、高度、三维加速度等数据,为了方便阅读,我自己加了一列速度转换为公里/小时。后面使用Power BI,即针对这个Log文件进行分析。

    首先找了找Power BI的报表展现,真的有基于地理信息来展现的报表。把数据拖拉到对应的空位,Power BI就自动生成报表了。首先来个经纬度和高度的报表,这样我就知道回家的路上是如何翻山越岭的了~

技术分享图片

    可以调整数据图示的颜色,让高度差异更加直观。我选择红色为高、蓝色为低,于是能直观看到,在浙皖、皖赣边界处有不少较高的山头要爬~查了一下,主要穿过昱岭山脉、鄣公山山脉等。

    高速上挺复杂的,一路回家,一会儿限速120,一会限速100,一会限速80。我开车算是十分规矩了。不信?有数据作证哦。

技术分享图片

    使用经度、纬度和速度平均值作为报表数据输入,就能够在地图上直观看到一路上车辆行驶速度情况。在G60沪杭段,限速120,表现出来的就更加“红”一点。而山路下坡,限速一般80,所以结合前图看,这一段更加“蓝”一点。

技术分享图片

    除了满足我一直的愿望,在地图上显示数据,利用报表也可以做出数据的“切面”。比如,我可以对照高度变化啥的查看加速度方向及大小变化。由于使用一个坐标轴,数据在这里不是很直观,不过山势倒体现出来了。

    所以,我把垂直放向的加速度单独做了图表,和高度变化对照着看,就挺明显了。为了便于体现“超重失重”哈哈,我加了一条G=9.8的参考线。当然,这并不严谨。就如同通过手机加速传感器收集到的三向加速度有方向和“坏数据”的问题,在这里仅作为一个参考。

技术分享图片

    特意留了有问题的数据~10几个G,飞行员估计也吃不消吧哈哈。除了垂直方向的加速度 G(z),分析车辆方向的加速度G(x)和横向的加速度G(y),也挺有意思的。还是一样的说明,我并没有仔细对正手机传感器和车辆方向,所以数据仅作为简单的原理参考。

技术分享图片

    车辆方向的加速度G(x),可以知道车辆加减速的情况,驾驶习惯好的老司机,一般会尽量减少急加速急减速,降低油耗也避免事故。这部分使用了群集图和折线图,可以看到有一些G值很大的坏数据点,同时大部分的数据落在了一个相对集中的区域。

    对应的横向加速度G(y),可以关联到车辆转弯的情况。在路况好的时候,我一般匀速过弯,不大去刻意刹车。急转弯同样也容易出现事故,必须要集中注意力入弯出弯。一路开来,不少入弯时的急刹甚至装上隔离栏。从图中看到,除了一些坏数据点,大部分的转弯加速度集中在一个相对小的范围内。

    细心的你可能注意到了,同样的取值范围,为何上图折线的拖动条比下图长很多呢?由于每秒收集一次数据,整个行程有近三万行数据,为了便于展现,我使用了视图的高级过滤。针对不同的时间字串包含,滤出了不同数量的数据采样。

    这次分析的数据内容还是比较少。我发现Torgue的日志记录其实是可以定制字段的,接下来应该找机会再抓一些数据来分析了。同时,OBD II的数据我发现有人已经用Python做了库,等有时间尝试用树莓派连接蓝牙OBD II设备,然后把数据报到IoT Hub试试~别看快三万的数据,这个文件也就4MB左右。到了云平台上,还可以用机器学习ML来分析路况、驾驶方式和油耗之间的关系~移动互联网和云计算技术的发展,让以前的想法有了变成现实的可能。


使用 Power BI 分析 “回家的路”

标签:OBD   Power BI   数据挖掘   数据展现   

原文地址:http://blog.51cto.com/haohu/2074151

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!