本文所说的OBD及OBDII都是指OBDII,后同。
目前有很多种OBD类产品,大部分都是通过CAN线来读取一些车身数据然后提供给手机端显示,也可以通过CAN线来控制车辆的开锁、关锁、升窗、双闪灯、天窗等,以实现各种不同的功能,如:OBD落锁器、OBD升窗器、OBD防盗器等等。
这里就来介绍下怎么实现OBD落锁器这个功能的,当然其他升窗器、防盗器也都是这同样的思路。
在一般人看来,OBD落锁器就是通过OBD来解锁行车电脑的隐藏功能,打开车辆本身的自带的功能;而在专业开发人员看来,这里面水很深,不是简单的靠ELM327就能搞定。
这里有三个难度:
1.获取OBD数据比较难:OBD数据分三种:CAN/SWC/J1850.OBD作为比较通用的接口类型,其实并不规范。首先外观不统一,大众车系的OBDII与丰田车系的OBDII外观差异明显;各车系OBDII里面定义的PIN脚基本没有标准,除了PIN16,PIN4,PIN5,PIN6,PIN14算是比较通用,其他引脚基本都是车厂自定义的。当然值得欣慰的是多数车的电源、地、CAN线位置都是固定的,大多数的OBD落锁器都是采用这四根线:12V,GND,CANH,CANL。也不排除有些车系比如通用汽车旗下的别克、雪佛兰是采用单线CAN/SWC,这就需要特别工具才能读取数据;J1850协议是采用PWM/VPW方式通信的,基本已经淘汰这里不考虑;
2.分析数据也难:对于普通的双线CAN或者单线CAN,有个合适的工具很有必要