问题标签 [can-bus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
294 浏览

python - 如何使用 Python 在 Linux 中检测 CAN 设备插入和移除

我一直在研究如何最好地检测与 Linux 平台(Ubuntu 12.04)连接和断开的 CAN-USB 设备,但进展缓慢。我能找到的最好的建议是使用 dbus 来检测插入/删除事件。我正在为 Python 3.3(支持 CANbus)编译和安装所有必要的库,但由于依赖项的数量庞大,安装所有包和库需要相当长的时间。

任何人都可以推荐使用标准 Linux 库/API 检测设备插入/移除(特别是 CAN-USB 设备)的最简单和最简单的方法吗?dbus是要走的路吗?

0 投票
2 回答
2047 浏览

linux - Linux can总线驱动

我正在通过一个用于 MCP-2515
https://github.com/raspberrypi/linux/blob/rpi-3.6.y/drivers/net/can/mcp251x.c的罐式网络驱动程序

请建议我在哪里可以找到该功能的描述,:--

是否有一些自述文件或一些教程?

请建议。

0 投票
1 回答
1928 浏览

python - CAN 总线访问 Popen 的更快替代方案?

我目前正在使用 Popen 通过命令行向实用程序(尤其canutilscansend函数)发送指令。

整个函数看起来像这样。

我在尝试Popen快速连续发送帧(帧实际上执行发送帧的命令)时遇到了一些问题,但发现 Popen 行需要大约 35 毫秒的时间来执行......每个另一条线不到2我们。

那么......什么可能是调用cansend函数的更好方法(再次,它是canutils实用程序的一部分......_CANSend是上面调用的python函数)更快?

0 投票
1 回答
1591 浏览

can-bus - 为 CANbus / J1939 开发解码器

所以,有人告诉我,我需要将一些 CANbus / J1939 输出集成到 Windows 应用程序中,我对此一无所知。

使用现成设备并从中获取输出的计划很模糊。

由于这似乎是一个 7 层模型,我假设我需要解码第 3 层。

而且,在那,我被困住了。

任何指向正确规范的链接?其他信息?现有的免费代码将获取该数据,对其进行解析并将其填充到 MySql 数据库中?如果有一个中央站点,有论坛,我可以在哪里更好地指导这些问题?有什么好书吗?有相同的数据让我练习解码吗?我淹没在谷歌搜索结果中,但没有任何帮助。

0 投票
2 回答
12596 浏览

network-protocols - 什么是 PDO 映射?

在阅读了几个 CiA 规范后,我仍然难以理解 CANopen 中的 PDO 映射、过程映像和过程数据交换。

我知道SDO用于预操作状态下的配置设置,并且具有协议开销(因为它可以传输超过 8 个字节的数据)。

在运行状态下,PDO 非常适合过程数据的输入和输出。PDO 最多只能传输 8 个字节的数据。

有一个 11 位的 COB-ID,它有一个功能代码和一个节点号。由于节点号使用 7 位,我们最多可以有 127 个节点(对于 CANopen 2.0A 网络)。

但是有四个 TPDO 和四个 RPDO,这让我很困惑。为什么需要多个 TPDO 和 RPDO?在我阅读设备配置文件的某个地方,可能会使用从 6000h 到 6FFFh 的条目来描述设备参数和设备功能,并且在此范围内最多可以描述 8 个不同的设备。但是网络中可以有 127 个节点,那么这 8 个设备是什么?

0 投票
2 回答
1852 浏览

c++ - 如何在 C++ 中访问 dll 文件中的函数

我目前正在尝试使用 CAN 与设备进行通信。为此,我使用 C++ 使用 PCAN Basic。

不幸的是,我对访问 dll 文件中的函数一无所知(这是提供的)。我找到了这个链接:

从 C++ 调用 dll 函数

并尝试通过我在这里找到的代码使用 LoadLibrary:

http://www.goffconcepts.com/techarticles/development/cpp/calldll.html

我的代码:

但是,Visual Studio 说有一个:

我在同一个文件夹中有 Pcan_usb.dll 和 Pcan_usb.lib,我使用的是 Visual Studio 2012。

0 投票
1 回答
3504 浏览

bluetooth - 福特 CAN 数据和 ELM327

我正在尝试使用蓝牙ELM327无线OBD-II接收器从车辆 OBD-II 端口获取数据。我不是想收集有关发动机的信息,而是收集车辆中的一些电子设备。我已经获得了访问设备的某些命令,并且成功使用了 ELM327 以外的其他设备和软件。

一般来说,我在处理 CAN 总线和数据传输方面没有太多经验。如果我遗漏了这个过程的关键部分,请原谅我。但是,我确实了解 CAN 基础知识,例如消息头和数据字节。

到目前为止,我一直在使用 Ford DET 工具从设备收集数据。我能够发送一个 8 字节的 CAN 消息并接收回数据。我有许多命令需要从它们产生的输出中解析正确的数据。例如,如果我要发送命令

我的日志文件显示:

这是使用goSerial与 ELM327 交谈时发生的情况。我已经包含了所有命令来说明我如何使用 ELM327 设备。

如您所见,最后一行的结果输出比诊断工程工具给我的要短得多。我没有正确配置设备吗?

基本上我试图让 ELM327 输出与福特 DET 工具的输出相匹配。我知道这是一个非常模糊的问题。

以下是有关我的配置的其他一些信息:

  • 波特率:38400(车辆标准?)
  • CAN 版本:ISO 15765-4

我所有的命令都以 0x727 开头。流量控制通过 0x727 和 0x7A7 传输。

此外,我已经阅读了大部分 ELM327 文档,因此请不要将其作为解决方案。

0 投票
3 回答
8926 浏览

android - Android 上的 CAN(控制器局域网)

我正在尝试通过平板电脑/安卓设备集中控制网络上的多个设备,并且在尝试找到正确的安全通信协议时遇到了一些问题。

是否有 api 可用于在 android over Ethernet/Bluetooth/Wifi 上编码/利用 CAN 网络?还是有其他更适合我的应用程序的协议?

谢谢你。

0 投票
2 回答
10869 浏览

linux - busybox 不完全支持命令“ip”?

大家,我使用busybox 1.2.1作为我在Xilinx Zynq ARM Cortex x2上运行的嵌入式linux中的shell。busybox支持的任何命令都可以,但是“ip”。在busybox中,我尝试了“ip”,它表明:

然后我尝试使用“ip”来配置“can0”(控制器局域网设备),完整的命令如下所示:

这个命令在我的桌面 Linux 中是可以的,但是 busybox 说:

所以我很困惑。我需要这个命令来配置我的“can0”,有人可以帮我解决这个问题吗?非常感谢!

0 投票
1 回答
6954 浏览

embedded - 需要CAN协议教程

我在实验室中分配了一个项目来在 ARM 7 上实现 CAN 协议。

我找了一些教程和示例代码,但看起来都非常复杂,我想我应该在编码部分得到一些帮助。任何人都可以向我解释任何 ARM 板上的基本发射器和接收器编码吗?

发件人代码如下。我在不理解表达式的全部含义时使用了问号。