android - CAN总线与Android通讯咨询

标签 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 分析器, Controller 接受它。

最佳答案

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

然后您必须创建您的 Android 应用程序以从 Arduino 发送/接收数据。为此,请查看 Android Bluetooth guide (也可以使用 Wi-Fi shield 或以太网 shield 或通过 USB(更难)来做同样的事情)。

对于 OBD-II 代码,如果这些代码是在其自身上实现的,则取决于您的车辆。

对于数据解码:

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

关于android - CAN总线与Android通讯咨询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754207/

相关文章:

can-bus - 如何设置PDO映射?

can-bus - 使用 CAPL 在 CANoe 中通过 ISO-TP(传输协议(protocol))传输数据

android - 动画文字字母

android - 在 Fragment 中滚动不适用于 TabLayout

可以socket printf格式

c++ - CAN BUS 帧不通过代码发送

android - 当 ShapeDrawable 设置为图标时,ActionBar 项目不显示

android - Android 的 SharedPreferences commit() 什么时候返回 false?

使用 layout_weight、layout_width 和 maxWidth 的 Android 布局