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

首先,要有硬件能够将手机连接到汽车。这样的硬件,目前用的较多的一种基于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/wiki/OBD-II_PIDs),这套命令的学名叫作OBD II PID。

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

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

更多推荐

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