玩转车联网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对象.字段的值可以包括其他文档. ...
随机推荐
- ubuntu安装Percona Server
Percona Server是mysql数据库的一个衍生版本,在性能,稳定性和可管理性上都有很大的提升,目前淘宝的mysql数据库就是基于Percona Server,请原谅我这么喜欢研究淘宝的技术. ...
- C# 设计模式-单例模式(Singleton)
所谓单例模式即所谓的一个类只能有一个实例,说白了,也就是类只能在内部实例一次,然后提供这一实例,外部无法对此类实例化. 单例模式的特点: 1.只能有一个实例: 2.只能自己创建自己的唯一实例: 3.必 ...
- eclipse egit 更新未提交文件的方法
问题 以前一直在项目中使用SVN..感觉真的很好用,不管是切分支,合并分支,编辑冲突,还是更新代码什么的都感觉很方便...现在新公司项目里使用git...我自己虽然用过,但是多人合作一直没用过.所以遇 ...
- Jquery.Ajax的使用方法
1.Get $('.manager_republish.notVIP').click(function () { $.ajax({ async: false, type: "get" ...
- #define中 #与##的神奇用法
本文整理自csdn. #define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ) { puts(d ...
- golang怎么使用redis,最基础的有效的方法
最近在学GO语言,我自己也喜欢使用redis,于是乎就顺便把go操作redis的方法也给学了,有个第三方包,在GitHub上面找的 go get github.com/alphazero/Go-Red ...
- 读取properties文件并获取属性值
1.Properties与ResourceBundle 两个类都可以读取属性文件中以key/value形式存储的键值对,ResourceBundle读取属性文件时操作相对简单. 2.Propertie ...
- 112. Path Sum二叉树路径和
[抄题]: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding ...
- leetcode array解题思路
Array *532. K-diff Pairs in an Array 方案一:暴力搜索, N平方的时间复杂度,空间复杂度N 数组长度为10000,使用O(N平方)的解法担心TLE,不建议使用,尽管 ...
- Centos7 安装Nginx服务
第一种方式:通过yum安装 直接通过 yum install nginx 肯定是不行的,因为yum没有nginx,所以首先把 nginx 的源加入 yum 中. 运行下面的命令: 1.将nginx放到 ...