0

我需要连接一个支持 CANBus 的设备,因此为了与之通信,我需要遵循 CAL,所以任何人都可以帮助我在 iphone/android 中实现 CAN 应用层(CAL)协议。请帮助我没有办法解决它

4

2 回答 2

0

“我需要连接一个支持 CANBus 的设备,因此为了与之通信,我需要遵循 CAL”

该陈述的第二部分不一定遵循第一部分。有许多通过 CAN 总线进行通信的设备和系统不使用正式的更高级别的应用程序框架。

首先,您需要能够从您的应用程序与 can 总线进行通信。您提到的 iphone 表明您将瞄准消费类手机,这些手机都没有 CAN 接口。因此,您需要合并一些适配器硬件(有 USB 适配器,并且 android 至少在 SDK 中具有 USB 硬件访问权限)。

如果您还需要与在 CAN 层之上实现更高级别应用程序框架(如 CANopen)的组件通信,您的选择是:

  1. 从维护它的任何组获取规范,并以您选择的语言和框架实现它。这可能是一项巨大的努力。
  2. 购买或查找开源实现。如果您购买了 C 实现的源代码,则可以将其编译为目标架构的共享库,并以 android 为例,使用 Android NDK 为该共享库编写本机包装器,以将其公开给您的 java代码。如果您可以购买 java 实现的源代码,您也许可以移植它,以便它在 android 上本地运行。

然后你需要把数据层和应用层粘合在一起,无论如何这很可能是定制开发。

于 2013-12-19T22:48:19.937 回答
0

您需要硬件来支持它。我发现 Gwentech 的 GT1026 适用于can bus to android,但它仅适用于使用 USB 的 Android。

于 2014-09-26T20:07:26.727 回答