我想获得有关与 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/