5

我想获得有关与 Android 平板电脑进行 CAN 总线通信的建议。

我正在与一位同事开展电动汽车项目。我们在 BMS、逆变器和控制逻辑之间进行 CAN 总线通信。我需要获取数据,比如集群的速度。该集群将是一个 Android 平板电脑。我有一个用于 CAN 和蓝牙适配器的 Arduino 扩展板,可以将数据发送到平板电脑。我对Android相当陌生。

  • 我应该开始寻找什么?
  • 这些OBD-II代码会起作用吗,因为我也需要发送数据。

  • 在您看来,我应该在 Arduino 上解码还是将 CAN 数据传递到 Android 并在那里处理?数据为 COB ID/编号。字节/数据。(601/ 8/ 22 98 60 00 22 00 00 00) 我想知道要处理它。例如,如果前两个字节是灯,第二个字节是速度,依此类推。或者我应该通过分隔符''和字节来分割它们到int?
  • 我能够从 Android 向 CAN 总线发送数据。我有 CAN 分析仪,控制器接受它。
4

2 回答 2

4

根据您的输入,您将需要使用 Arduino 将您的 Android 设备连接到您的车辆。Arduino 代码会将数据从 CAN 转换为蓝牙,反之亦然。事实上,您的 Android 设备无法直接与您的 CAN 总线通信。

然后您必须创建您的 Android 应用程序以从 Arduino 发送/接收数据。为此,请查看Android 蓝牙指南(也可以使用 Wi-Fi 屏蔽或以太网屏蔽或通过 USB 执行相同操作(更难))。

对于 OBD-II 代码,这取决于您的车辆是否自行实施。

对于数据解码:

  • 在 Android 设备上解码数据。这样,如果您更改桥接器(这里是 Arduino),您的应用程序仍然可以工作。
  • 在 Arduino 上解码数据,这样您的 Android 应用程序就可以使用高级命令,但它将与您的桥接实现密切相关。
  • 使用您最熟悉的语言进行解码。
于 2014-05-20T08:38:10.653 回答
0

这是Android-CAN 总线适配器中的一个简单解决方案,它允许 Android 设备连接到 CAN 总线。

于 2015-06-03T11:53:45.887 回答