问题标签 [canutils]
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.
linux - Linux MCP2551 CAN Bus:一帧后停止工作
这几天我遇到了一个问题,我的 Can Bus 在发送第一条消息后停止工作。
我使用 IOT-Gate-RPI 作为客户端,它具有 raspberry pi 3 计算模块和带有用于 can Bus 的 MCP2551 芯片的集成帽子。线路的另一端,作为显示器,我使用的是运行在 W10 上的 IXXAT 软件 CANAnalyzer 3 Mini。
这是我在 Linux 上的设置:在 /Boot/config.txt 上,我添加了:
我还确保它将在启动时安装:
然后,使用 can-utils:
到目前为止,一切顺利,消息出现在另一边的监视器上。但是,如果我再次发送它,什么都没有出现,我必须将 can0 设置为向下然后向上,以便能够发送新消息。
[编辑 2021-02-10] 正如@Lundin 所问,我使用了示波器来检查信号形状。因此,为了解释新设置,数据由连接在 CAN 总线上的 BMS(电池管理系统)连续发送。在第一张图片上,只有这个 BMS 和一个 IXXAT CAN 转 USB 加密狗。信号非常整洁,所有数据都安全到达。在第二张图片中,我只是插入了我的 IOT-Gate-RPI 的 MCP2515 帽子,信号直接变得混乱。而且我只能如上所述发送一帧。
Compulab 在 IOT-Gate-RPI 上给出的引脚排列也是第三张图片中的引脚排列。根据图 4,您将给出哪个引脚?
1 = ? 2 = ? 3 = ? 4 = ? 5 = ? 6 = ?
非常感谢您的帮助。
此致
linux - 如何阻止我的 CAN 配置在重启时被擦除?
我有一个 6 通道 CAN 加密狗连接到我的远程 Ubuntu 机器上,我用它来记录不同比特率的 CAN 数据。
使用以下命令按名称和比特率配置每个通道:
理想情况下,我希望这些 CAN 总线在机器重新启动时使用我的配置自动初始化。据了解,它们在重新启动时会被删除,我必须运行我编写的 BASH 脚本来重新初始化它们。
重新启动后自动重新配置我的 can bus 的最佳方法是什么?
cross-compiling - socketcan 将流量从 beaglebone 转发到主机 PC
我正在努力寻找一种方法,将 beaglebone black can1 接口上的 can 流量转发到我的开发主机。
长篇大论:
我为 beaglebone black(bbb) 编写了一个使用 can 接口的软件。通常,我会在 debian 10 主机上使用 multilib 进行交叉编译 .... 只要内核版本没有太大差异,它就可以很好地工作。
开发主机运行4.19内核,bbb运行5.14内核。尝试使用 socketcan 的东西交叉编译 bbb 会带来很多错误,因为 socketcan 版本不同。
为了解决这个问题,我尝试通过以太网将 bbb-can1 接口上的流量转发到主机 PC 上的端口,这样我就可以在开发主机上测试大部分软件,并通过微小的更改编译“真实”软件后来上bbb。
我该怎么做,或者有更好的方法来完成工作。
谢谢菊
raspberry-pi - can0 监听 can-bus 但没有数据出现
我正在尝试用覆盆子读取车辆上的 CAN-BUS(CAN 连接到覆盆子上的 DB9 连接器)。车辆也为覆盆子提供能量。
这是我的堆栈:
Bosch CAN-Bus Board PiCAN3机器的协议 CAN “ISO 15765 CAN”
:Raspberry pi 4
驱动程序/总线类型:socketCAN
库:CAN utils
我遵循了这些说明
注意 1:当我在终端中打开另一个选项卡并使用以下命令发送 can 消息时:
2行数据确实出现在听can0的选项卡中,就像它只显示我正在发送的内容而不是车辆发送的内容。
注意 2 :这里是 can0 设备的 ifconfig 命令的结果
有人知道为什么我从车辆中获得零数据吗?
这是我尝试过的教程,所有这些,问题都是一样的:
1:copperhilltech
2:打开车库
3:哈里森的盒子
c++ - QT中的CAN通信
QT 中的 CAN 通信存在特定问题。发送/写入 CAN 消息不是问题,但 QT 中的 readFrame() 函数不会加载我收到的帧。如果您在 C++ 中实现 CAN 通信,您可以使用 read() 和 write() 函数。但在 QT 中不受支持。一般来说,读取功能会中断程序,直到收到消息,我如何在 QT 中做同样的事情?
感谢您的帮助,我真的很感激!