通过CAN总线控制门锁


9

我试图弄清楚如何通过OBD-II端口使用CAN总线锁定和解锁2010丰田RAV4的车门。我通过CAN控制器和CAN接收器连接了一个微控制器,并且编写了一些固件来捕获和重放消息。

如果我通过钥匙扣或门按钮解锁门,则我会在原本无声的总线上收到一连串消息(钥匙已出)。但是,重播它们无济于事。我怀疑这可能是某种身份验证问题,所以我尝试了一些不太敏感的事情-大灯。有趣的是,当我重播打开大灯的消息时,组合仪表中的大灯指示灯会短暂点亮,但实际的大灯却无能为力。

我想我有几个问题:

1)是否可以通过OBD-II端口上暴露的CAN总线来实现?我见过一些消息称门是由另一条速度较慢的公交车控制的,但是我也看到一些广告宣传的设备会在达到特定速度时将门锁上。

2)其他巴士是否以任何方式暴露在外?

3)有什么方法可以在不向丰田支付大量费用的情况下找出我捕获的消息的含义?


您在哪里可以通过OBD-II启动并运行它,还是必须走另一条路线?
SWard

Answers:


5

您想要做的是可能的。我对2010年的Camry也有类似的经历和渴望。根据我的经验,从OBD-II端口读取消息并没有带我任何地方。就像CAN消息只是对我手动操纵汽车的回应。

我会通过钥匙FOB锁定或解锁门得到消息响应,但是发送相同消息却无济于事。

您应该做的是获得OBD-II分离器电缆和带有“ mini VCI电缆”的Toyota Techstream副本。这将使您能够阅读Techstream软件通过OBD-II端口发送到的消息。

你应该能够:

1-锁定和解锁驾驶员/所有车门

2-流行的树干

3-打开近光和远光灯和闪光灯

4-鸣喇叭

5-上下卷窗

6等

..或者至少对我有用!!

YMMV,祝你好运!:D

(对于自身或汽车的损坏,我不承担任何责任。)


1
麦科伊,我正在尝试做您所发布的内容。我安装了Techstream,并将usb适配器电缆连接到我的2012 Corolla上,但是它似乎没有推动任何自定义设置。您能否让我知道您如何实现这一目标?谢谢

4

通常,OBD CAN总线被“桥接”到车辆的其他CAN总线上,以便于诊断其他总线上的ECU。但是,网桥只能向前传递诊断消息:(在每个平台上都不同。

在协议方面-这是一个经典的逆向工程问题。当您按下解锁按钮并确定消息的格式时,您需要捕获一些CAN活动的痕迹。您的前照灯示例可能表明有多个总线,并且您只能访问其中之一(在仪表板单元中,而不是在这种情况下,前灯)

使用门锁-很有可能还会发生某种挑战响应,从而停止您的简单“重放攻击”。


前灯很可能甚至不依靠CAN总线,而是依靠专用的布线和继电器。大灯指示器与其他仪表板一起位于CAN总线上。
mac

@mac-的确如此
Martin Thompson

3

如果我是设计电子设备的人,那么我将无法通过CAN-Bus做到这一点,仅仅是因为您获得了OBD2的蓝牙适配器,车外站立的人可以与之配对并向其发送解锁指令。

这是安全隐患,所以我不支持。


2
除非您已经可以访问汽车以插入蓝牙接收器,否则蓝牙适配器不会执行任何操作。无论如何,事实证明这是可能的。
Isvara

那太可怕了。仅供参考:您也可以使用wifi OBD-ii适配器,而且范围很广。
肯帕奇船长

3

即使您连接到正确的总线并广播正确的CAN消息,您仍然会遇到问题,即传输已经由另一个ECU传输的CAN消息。

CAN的工作方式,每个can消息都有一个仲裁ID,也称为消息ID。在正常操作下,任何ECU都不会在同一总线上广播具有相同ID的消息。当您这样做时。从理论上讲,您应该能够通过向总线充斥期望的消息来锁定或解锁门,但是我不会在产品内部使用它,因为您滥用总线会影响ECU的通信。在优先级较低的公交车上播放。

再一次,如果用于锁定和解锁门的CAN消息完全是事件驱动的,并且没有定期广播,那么您尝试执行的操作完全可行。

另外,您正在嗅探的消息(在您锁定或解锁门时会发生变化)可能不是您感兴趣的消息。状态消息通常通过网关连接到其他总线,因此您必须在源总线上广播正确的消息。

提示:在线搜索车辆中OBD连接器的插针。

1)是否可以通过OBD-II端口上暴露的CAN总线来实现?我见过一些消息称门是由另一条速度较慢的公交车控制的,但是我也看到一些广告宣传的设备会在达到特定速度时将门锁上。

是的,这是可能的,但是您需要知道汽车中OBDII的引脚号,这可能不是公共信息,但是您可以通过消除标准OBDII引脚来找出哪些引脚是您感兴趣的。

2)其他巴士是否以任何方式暴露在外?

如上所述,我认为消除标准OBD引脚的可能性很大,而其余的引脚对将是您感兴趣的引脚。每个Can数据通道都有一个数据高电平和一个数据低电平。

3)有什么方法可以在不向丰田支付大量费用的情况下找出我捕获的消息的含义?

您需要一个CAN工具来监视可疑引脚上的数据,这是一个好消息,当您连接到正确的引脚时,您只会捕获can消息。否则工具将引发错误。并且您可能需要一个可以自动检测波特率的工具,或者您可以猜测。

这将需要大量的时间和黑客攻击。


1
传输和碰撞不是问题。CAN控制器可以处理所有这些-这就是它的作用。我有汽车的接线图,并且整个过程中只有一辆公共汽车。我有一个加密狗,它以设定的速度(约5英里/小时)将门锁住,这一次广播了“锁门”消息。看起来这应该很容易复制。
Isvara 2014年

您可能是正确的,但实际上,多个ECU不会在同一总线上同时发送同一消息ID。但是,如果您只是简单地复制一个加密狗,则可以解决来自该加密狗的消息,并查看哪些位翻转,或者如果消息是基于事件的,则在何时发送该消息。
am6sigma 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.