玩转车联网1---初识OBD和行车助手
题目取得有点大,不免有博取眼球之嫌。车联网作为物联网的一个分支,预计在2015年市场会达到1500亿,特斯拉股票balabala,谷歌无人驾驶,
当然,我们是技术类博客,得找个能够快速上手,快速落地的东西。咱即使有车,也不是富二代,不可能改装了随便想怎么玩就怎么玩,于是我们
以车辆的USB--OBD为切入口说说怎么来整一套车联网的东西玩玩。
整个项目我们开发了两个多月,主要是早期OBD硬件的研究和原型,一个Android终端APP以及一个Asp.net mvc开发的后台系统。
整个系列我将把所有的开发历程进行描述和代码开源,并建立一个开发平台,让更多的移动爱好者和物联网爱好者能够快速上手。整个开发我们使用了Android(Bluetooth, service, notifcation),Asp.net mvc, Bootstrap, svn(以后可能会用git)版本控制, HTML解析技术(爬数据),cruise control(持续集成), SQL Server数据库,
示波器,当然还得有一两台车(这个想办法用软件模拟中)。
一.OBD是什么?
OBD是英文On-Board Diagnostic的缩写,中文翻译为“车载诊断系统”。在车上的方向盘的左下方一般都有这么一个16针的接口,这个接口最早是用来检测排放废气的,也用来故障诊断,现在市面上的家用车大都有这个接口。在车辆传统维修领域中,如果你的车辆发生了故障(内部发动机,水温过高),这时你仪表盘的故障灯就会亮起,4S店或维修厂可以用专业的故障检测仪插入这个接口进行故障检测并进行问题定位。
除了定位故障以外,还可以读取车速、发动机转速、水温、油位等数据(远远不止上述提到的数据)。随着蓝牙,互联网,移动终端的开发门槛越来越低,我们可以利用这个接口将这些数据通过蓝牙、WIFI或者串口读取到手机终端、PC终端或者上传到服务器上,进行数据挖掘和分析。
这些是市面上流行的OBD终端,几十元到几百元不等,最知名的莫过于ELM327。
蓝牙OBD 串口OBD WifiOBD
二.行车助手APP能做什么?
有了OBD这个硬件,那么我们能用它来做什么呢?
1.你可以进行故障管理, AppStore或者安卓市场上搜 obd 一大堆。
2.你可以做个实时的仪表盘,例如知名的OBD软件TORQUE:http://www.xcar.com.cn/bbs/viewthread.php?tid=15620929
3.你可以做个百米加速度的测试工具,好像还没有找到类似的。
其实有很多种产品形态啦,暂且不谈商业模式(没有用户的商业模式都是耍流氓),我们决定在产品专注在油耗管理和驾驶行为分析上面。因为我发现
不管是仪表盘还是实时测试软件对于大众用户或者企业用户来说意义都不大,因为车上的仪表盘都可以看到那些数据了。我们应该利用这些数据做些有意义
的事情,哪怕这个点不是刚需,也一定要做专做透。
对于油耗管理:用户能精确知道我每天开车花了多少油,每周花了多少油,花了多少油钱,哪段路花了多少油,和官方公布的百公里油耗相比怎么样;
对于驾驶行为分析:目前还只是利用急加速,急刹车和超速这几个参数形成一个公式来计算驾驶行为分析,我想代码开源后可以真正获取大家的意见
来对算法进行修正。
先上软件界面图,APP的代码以后将上文章进行逐步分析(包括故障检测,行程管理,蓝牙自动连接):
三.行车助手Web后台能做什么?
有了硬件OBD和行车助手 APP,那么必须得有互联网,这样才形成一个车联网的闭环(硬件-终端-互联网)。
Web后台系统我采用了Asp.net mvc和前端框架bootstrap进行开发,下面是行车助手Web后台的功能(模拟数据,持续更新升级中。。。。)
玩转车联网1---初识OBD和行车助手的更多相关文章
- 玩转Git之初识Git
git是什么 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git 和 svn 有什么区别 它们之间的主要区别是Git是分布式的,而svn是集中式. 当然Git也可 ...
- [Android 4.4.3] 泛泰A860 Omni4.4.3 20140610 RC2.0 三版通刷 by syhost
欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo cr ...
- .Neter玩转Linux系列之一:初识Linux
一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...
- 不止是联网!教你玩转PC自带Wi-Fi网卡
前言:Wi-Fi对于现在的智能手机来说已经是再熟悉不过的配置了,而主板自带Wi-Fi网卡的设计也越来越普及,但有些玩家可能思维还停留在“Wi-Fi网卡 = 连无线网络用的网卡,我用有线就不需要”的层次 ...
- 第9章 初识STM32固件库—零死角玩转STM32-F429系列
第9章 初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- 第4章 初识STM32—零死角玩转STM32-F429系列
第4章 初识STM32 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资 ...
- 《玩转D语言系列》一、通过四个版本的 Hello Word 初识D语言
对于D语言,相信很多朋友还没听说过,因为它还不够流行,跟出自名门的一些语言比起来也没有名气,不过这并不影响我对它的偏爱,我就是这样的一种人,我喜欢的女孩子一定是知己型,而不会因为她外表,出身,学历,工 ...
- 跟我玩ADB——初识ADB
ADB全称Android Debug Bridge, 是Android SDK的一个可以真实操作手机设备里面内容的工具. 一.功能介绍: 进入设备的shell进行命令行操作 使用5037端口,对设备进 ...
- 玩转mongodb(一):初识mongodb
简介: MongoDB是一个开源的文档数据库,支持高性能.高可用性.自动缩放. 在MongoDB中,一条记录就是一个文档,是由字段和值对构成一个数据结构,类似于JSON对象.字段的值可以包括其他文档. ...
随机推荐
- leetcode686
/* 上来的想法是KMP的思想,但是具体不会KMP的实现,c++STL的string 中的find?但是要注意A的长度与B的长度的问题,首先A的长度要大于B的长度 分为三个阶段: 1. A比B的长度要 ...
- SpringData JPA示例
SpringData JPA只是SpringData中的一个子模块 JPA是一套标准接口,而Hibernate是JPA的实现 SpringData JPA 底层默认实现是使用Hibernate 1. ...
- 利用FFmpeg玩转Android视频录制与压缩(二)<转>
转载出处:http://blog.csdn.net/mabeijianxi/article/details/72983362 预热 时光荏苒,光阴如梭,离上一次吹牛逼已经过去了两三个月,身边很多人的女 ...
- mysql语句与sql语句的基本区别
. MySQL支持enum和set类型,SQL Server不支持: . MySQL不支持nchar.nvarchar.ntext类型: . MySQL数据库的递增语句是AUTO_INCREMENT, ...
- 去除winrar弹出购买许可证的提示
我们在使用winrar压缩包管理器时,经常会遇到弹出购买许可证的提示,影响了我们操作软件的友好性,接下来我们就来处理避免这种情况的再次发生.弹出购买许可证的图形如下: 处理方法如下: 新建一个记事本文 ...
- CString 成员函数用法大全
CString的构造函数CString( );例:CString csStr; CString( const CString& stringSrc );例:CString csStr(&quo ...
- 运行Junit方法项目启动不了
从控制台看不出任何有用信息,通过JUnit右键”Copy Failure List”将信息拷贝出来 TestStart.start initializationError(org.junit.runn ...
- 10 华电内部文档搜索系统 search04
上一节我们着重讲解了权限过滤器的使用.这一节讲解一下补充一下Struts 2下面对应的Checkbox的使用.对索引下面的数据进行维护操作,一次可以删除多个.在Struts 2下面使用对应的Check ...
- Spark 性能相关参数配置详解-Storage篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...
- 150. Evaluate Reverse Polish Notation (Stack)
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...