题目取得有点大,不免有博取眼球之嫌。车联网作为物联网的一个分支,预计在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和行车助手的更多相关文章

  1. 玩转Git之初识Git

    git是什么 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git 和 svn 有什么区别 它们之间的主要区别是Git是分布式的,而svn是集中式. 当然Git也可 ...

  2. [Android 4.4.3] 泛泰A860 Omni4.4.3 20140610 RC2.0 三版通刷 by syhost

    欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam  (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo cr ...

  3. .Neter玩转Linux系列之一:初识Linux

    一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...

  4. 不止是联网!教你玩转PC自带Wi-Fi网卡

    前言:Wi-Fi对于现在的智能手机来说已经是再熟悉不过的配置了,而主板自带Wi-Fi网卡的设计也越来越普及,但有些玩家可能思维还停留在“Wi-Fi网卡 = 连无线网络用的网卡,我用有线就不需要”的层次 ...

  5. 第9章 初识STM32固件库—零死角玩转STM32-F429系列

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  6. 第4章 初识STM32—零死角玩转STM32-F429系列

    第4章     初识STM32 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资 ...

  7. 《玩转D语言系列》一、通过四个版本的 Hello Word 初识D语言

    对于D语言,相信很多朋友还没听说过,因为它还不够流行,跟出自名门的一些语言比起来也没有名气,不过这并不影响我对它的偏爱,我就是这样的一种人,我喜欢的女孩子一定是知己型,而不会因为她外表,出身,学历,工 ...

  8. 跟我玩ADB——初识ADB

    ADB全称Android Debug Bridge, 是Android SDK的一个可以真实操作手机设备里面内容的工具. 一.功能介绍: 进入设备的shell进行命令行操作 使用5037端口,对设备进 ...

  9. 玩转mongodb(一):初识mongodb

    简介: MongoDB是一个开源的文档数据库,支持高性能.高可用性.自动缩放. 在MongoDB中,一条记录就是一个文档,是由字段和值对构成一个数据结构,类似于JSON对象.字段的值可以包括其他文档. ...

随机推荐

  1. Python 小知识点(10)--异常结构记录

    try: print("try中") except KeyError as e: # 异常时,执行该块 print("异常中") else: # 主代码块(tr ...

  2. 恒大威武!关于SQL的一些基础知识整理回顾

    首先的首先,恒大威武! 开始正题. 关系代数: 目前主流的关系型数据库,是建立在关系代数的基础上的,即他的数学支撑是关系代数. 关系代数主要包括如下几个二目运算:并运算union.交运算interse ...

  3. leetcode724

    public class Solution { public int PivotIndex(int[] nums) { ) { ; } ; ]; if (left == right) { ; } ; ...

  4. Daemon进程

    这又是一个有趣的概念,daemon在英语中是"精灵"的意思,就像我们经常在迪斯尼动画里见到的那些,有些会飞,有些不会,经常围着动画片的主人公转来转去,啰里啰唆地提一些忠告,时不时倒 ...

  5. Centos6、7 PHP5.4 5.5 5.6安装

    https://www.mojowill.com/geek/howto-install-php-5-4-5-5-or-5-6-on-centos-6-and-centos-7/ https://blo ...

  6. 40行代码爬取猫眼电影TOP100榜所有信息

    主要内容: 一.基础爬虫框架的三大模块 二.完整代码解析及效果展示 1️⃣  基础爬虫框架的三大模块 1.HTML下载器:利用requests模块下载HTML网页. 2.HTML解析器:利用re正则表 ...

  7. 数组和集合(三):Set集合的使用总结

    一.概述 · 继承collection接口 · 无序(不记录添加顺序).不允许元素重复.只允许存在一个null元素 二.实现类 1. HashSet · 底层其实是包装了一个HashMap实现的 · ...

  8. centos7 安装wxPython

    *** exact error that occured. This usually means GTK+ is incorrectly installed.    configure: error: ...

  9. Linux运维入门(二):网络基础知识梳理02

    一,交换机的基本原理 1.1 数据链路层的功能 (1)数据链路层负责网络中相邻节点之间可靠的数据通信,并进行有效的流量控制. (2)数据链路层的作用包括数据链路的建立,维护与拆除,帧包装,帧传输,帧同 ...

  10. go_切片

    go语言中切片相当于array的一个view.其底层实现如下ptr指的是slice中打头的元素.len表示slice的长度.cap表示ptr到整个array的长度 slice可以向后扩展,但不能超过对 ...