CAN总线与Android通讯建议

Mar*_*nas 5 android can-bus

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

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

  • 我应该开始寻找什么?
  • 这些OBD-II代码是否有效,因为我也需要发送数据。

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

JEY*_*JEY 4

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

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

对于 OBD-II 代码,如果这些代码自行实现,则取决于您的车辆。

对于数据解码:

  • 解码 Android 设备上的数据。这样,如果您更改桥接器(此处为 Arduino),您的应用程序仍然可以工作。
  • 在 Arduino 上解码数据,这样您的 Android 应用程序就可以使用高级命令,但它将与您的桥实现紧密相关。
  • 使用您最熟悉的语言进行解码。