现在有多手机的智能驾驶应用程序,通过一个盒子,就能够让手机连接汽车并读取速度、温度、油耗、故障码等各种信息,为用户带来大便利。其实,这样的应用程序,有兴趣的话,也可以自己制作。

首先,要有硬件能够将手机连接到汽车。这样的硬件,目前用的较多的一种基于ELM327芯片的OBD适配器。可以网购到多使用ELM327的OBD转蓝牙适配器,价格从几十元到几百元的都有,选择一款适合的就了。

东风风神S30的OBD接口在方向盘左下方,有个盖子打开就能看到,将买到的OBD适配器插这个接口,按下适配器的电源开关,看见电源指示灯亮之后,它就工作了。

在制作自己的程序之前,可以先用现成的程序测试下不用。手机应用市场有大量的这类程序,例如车况检测大师、Torque等,这里以Torque为例来测试,软件的使用方法我就不在这里复制粘贴了,网有多教程。安装之后,先打开手机蓝牙,盒子配对,一般初始配对码1234。配对成功之后,再运行Torque软件,将自动检测各种协议,风神S30通信成功后,界面如下

可以读出转速、速度、水温、油门开度等信息,如果不需要DIY的话,也可以直接用这类软件,清故障码、统计油耗,或者设置成HUD模式(镜像显示),放在前挡玻璃下作为HUD使用(手机屏幕亮度不够,白天基本看不清)。

如果觉直接用现成程序太繁琐,或者多功能用不,想尝试自己动手的乐趣,那么可以自己DIY程序,目前我只测试了使用Android手机,通过ELM327连接风神S30的情况,把经验共享给大家,其他的手机、适配器车型需要大家自己摸索了,在多资料都可以网找到的。

Android手机通过蓝牙OBD适配器通信的,想汽车通信,也要从蓝牙通信入手,Android的开发包自己就带了一个蓝牙聊天的例程BluetoothChat,基于它修改就可以了。查阅资料后,只用修改一处就可以连接适配器了。BluetoothChatService.java第53行改成这样

然后编译、安装到手机,选择“Connect a device - Insecure”,选择配对的OBD适配器,就能连接了。

因为ELM327适配器通信协议,要求每条命令都用回车("")结束,所以要再改一处。BluetoothChat.java第217行,加一句,如下

再次更新手机程序,连接之后,先发送"ATZ"重置适配器,然后再发送各种命令,就可以读取需要的车辆信息了,比如010C读取发动机转速,010D读取车速等等,更多的命令,可以参考这里(http://en.wikipedia.org/wiki/OBD-II_PIDs),这套命令的学名叫作OBD II PID。

图,010C读出来的转速0BCA换算出来就754rpm。风神S30使用的比较通用的OBD II PID命令。

到这里,自己制作Android手机程序风神S30汽车通信就成功了,大家可以按照自己的需求爱,制作自己喜欢的手机应用,加入更炫的界面更强的功能。

android obd编程,【图】DIY Android手机应用通过OBD读取行车电脑信息相关推荐

  1. opengl android 纹理贴图 代码,Android 使用opengl es的纹理贴图白屏问题请教。

    各位大侠好: 我在使用open gl es的做显示的时候,发现一个问题,请各位帮助一下,谢谢. 环境:opengl es 1.x,2D的模式显示纹理图片. 在LG-P990,HTC-C510E上显示附 ...

  2. Android智能手机编程笔试题,android智能手机编程

    spContent=为什么学习Android手机编程?自己适合学Android开发吗?零基础能学习吗?学Android应该学哪些技术呢?本课程以"任务驱动"为中心,"用中 ...

  3. android不支持USB怎么办,安卓手机通过USB连接不上电脑怎么办

    安卓手机通过USB连接不上电脑怎么办 当我们将手机和电脑用数据线连接起来,但是电脑上面并没有连接成功,这是应该怎么办呢? 一.方法/步骤 1.点开你的手机,找到[设置]选项,点开设置. 2.在设置的最 ...

  4. android 截长图 方法,Android实现截屏与截长图功能

    本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...

  5. android 网络编程面试题,Android面试题整理

    Android方面: 3.内存优化(内存泄漏.内存溢出),如何查找内存泄漏,如何优化 内存泄露:是指程序在申请内存后,无法释放本应该被回收的内存.内存泄露的堆积就会导致内存溢出. 内存溢出:是指程序在 ...

  6. android五子棋编程教程全集,android简单自定义View实现五子棋

    本文实例为大家分享了android自定义View实现五子棋的具体代码,供大家参考,具体内容如下 先说一下吧,android的自定义View就是自己实现一个类去继承View,实现其中的方法,这里面我最感 ...

  7. android多媒体编程题库,android 仿猿题库答题UI

    需要做类似猿题库答题板效果,网上没有找到Android的,就自己写一个,浮层上滑底层UI跟着改变的UI public class DragLinearLayoutextends LinearLayou ...

  8. android.9背景图变形,Android聊天背景图片变形解决方案

    Android聊天背景图片变形,一般是由于键盘引起的.可以参看StackOverFlow解决的地址:外链网址已屏蔽 我这里用的也是参考这里的方法: 解决方法很简单: 1.在AndroidManifes ...

  9. android智能手机编程考试答案,Android智能手机编程形考作业

    任务1:案例讨论 通过修改和优化案例代码的方式修改和优化本单元的"简单计算器"案例. 本次活动不限定方向,你可以: 阐述设计思路: 添加新的计算器功能,如添加正弦函数.余弦函数的计 ...

最新文章

  1. CentOS 6.3(x86_64)下安装Oracle 10g R2
  2. java离群值,监视-衡量Java中单线程复杂算法的最佳宏基准测试工具/框架是什么?...
  3. 人工智能时代的数据中心该怎么建?腾讯给出了自己的答案
  4. bootstrap的弹窗剧中_jquery – 如何让BootPrap(Plugin)的ClockPicker出现在Bootstrap Modal弹出窗体中?...
  5. leetcode-- 124. 二叉树中的最大路径和
  6. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](3)
  7. ENSP配置 实例四 默认路由配置
  8. 队列、函数-多线程 线程队列的实现-by小雨
  9. 从文件系统迁移到ASM上
  10. 通过AT指令实现ESP8266模块和TCP服务器的数据传输
  11. 我的IC之旅——资深芯片设计验证工程师成长——“胡”说IC工程师完美进阶
  12. 解决苹果电脑OS X 10.8.5或10.7.5 老版本系统升级问题
  13. node mysql菜鸟教程_Node.js Web 模块
  14. linux oracle ora-12162,oracle ORA-12162: TNS:net service name is incorrectly specified
  15. tensorflow获取中间变量参数值
  16. Google员工的工作环境
  17. POP3 SMTP 协议分析
  18. excel的lookup函数
  19. Django DTL 加减乘除求余
  20. android删除自带应用程序,安卓手机自带软件怎么卸载?无需root卸载安卓手机自带软件方法...

热门文章

  1. python if in 表达式方式
  2. 龙珠激斗获取服务器信息中,龙珠激斗战力220000贝吉塔快速获得途径攻略汇总详解...
  3. 十年Windows铁粉,如今投向Linux的怀抱是为哪般?
  4. 逃离996的最强出路!
  5. Django数据库连接池(mysql)
  6. 转:如何不断自我提升
  7. Android端集成大疆SDK(MSDK)
  8. 某度翻译-逆向参数解析
  9. 段、页、页框、页表、页表项
  10. 花呗套现买基金,90后韭菜有多拼?