vcand 脚本可在 Linux(仅限 Linux)上用于:
要使用它,首先执行 0_SetupVCAN.sh:
这将启动一个名为“vcan0”的虚拟 CAN 接口,该接口应可通过 ifconfig 显示出来。

如果您只想利用 vcand 的 CAN FD slcan 支持,可以从这一步开始运行 RAMN_VCAND.py:
您可以通过编辑 scripts/settings/linux.ini 中的 VCAND_HARDWARE_PORT(默认:自动检测)或使用-r 选项来选择 RAMN 使用的串口。之后,您应该能够在 vcan0 上看到 RAMN 的 CAN 流量,例如通过以下命令:

与 slcand 不同,此脚本将支持 CAN FD 帧。
如果您希望在 Linux 将 RAMN 的串行端口用作 CAN 接口时仍能保持其可访问性,可以使用此脚本的多路复用功能。打开一个新的终端并执行:

这将创建一对虚拟串行设备,在本例中为 /dev/pts/3 和 /dev/pts/4。
如果您不想打开多个终端,也可以将此脚本在后台执行:
如果未看到任何输出,请尝试改用以下命令来启动终端:
您必须将您创建的第一个设备作为参数提供给 RAMN_VCAND.py,这样您便可以像使用非复用模式下的 RAMN 一样使用第二个设备 。
通过-p1 参数执行脚本,以提供第一个设备的路径:
从这一步开始,您可以使用 vcan0 接口,同时仍然能够访问 RAMN 的串口。但是,您不应再使用 RAMN 的硬件串口(例如/dev/ttyACM0),而应改用第二个设备 (本例中为/dev/pts/4)。
例如,您可以在访问/dev/pts/4 上的串行终端的同时,观察 vcan0 上的 CAN 流量:

这将使您即使在使用 CARLA 脚本和诊断脚本时,也能够观察 CAN 流量。为此,您需要将 scripts/settings/linux.ini 中的 PORT 设置为第二个 pts(本例中为/dev/pts/4)。
如果您希望使用第三个端口(以便在同时运行 CARLA 脚本和诊断脚本时观察 CAN 总线),可以执行 1_SpawnTTY.sh 来生成一对新的设备。然后,将每对设备中的第一个设备作为 -p1 和 -p2 参数提供。之后,您便可以将每对设备中的第二个设备用作串行终端。请注意,所有数据会在两个端口中镜像传输。
执行以下命令以生成一对新的虚拟设备:

然后,将每对设备中的第一个设备作为 -p1 和 -p2 参数提供:
请确保不要将属于同一对的两个设备分别用作 -p1 和 -p2(例如:-p1 /dev/pts/3 -p2 /dev/pts/4 或 -p1 /dev/pts/10 -p2 /dev/pts/11 ),因为这会导致形成反馈循环,进而使设备溢出。
之后,您应该能够从第二个设备访问这些端口,在本示例中即 /dev/pts/4 和 /dev/pts/11。例如,您可以在两个不同的终端中输入:
和

从这一点来看,你应该能够通过三个不同的接口与相同的流量进行交互。