【问题标题】:CAN bus and Android communication adviceCAN总线与Android通讯建议
【发布时间】:2023-04-08 18:20:01
【问题描述】:

我想获得有关与 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 分析仪,控制器接受它。

【问题讨论】:

  • 他们出售 OBD-II 蓝牙适配器 like this,您可以将其插入汽车的插座并从 Android 应用程序读取数据。不确定您是否可以阅读所需的命令,但您可以编写一个应用程序来自己完成。我的意思是你可能可以跳过这里的 Arduino。
  • 什么是“CAN分析仪”?软件程序的名称?
  • 是的,它是一个软件,但它没有被广泛使用 :) 但确实可以做生意

标签: android can-bus


【解决方案1】:

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

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

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

对于数据解码:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 嗨,gwentech,它的工具很棒,但我们做了一个解决方法。据我了解,这些设备是分析仪,我们需要双向通信。在谷歌搜索期间,我确实找到了您的设备。为它竖起大拇指:)
    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多