该系统是 Ubuntu 16.04,带有两个通过 USB 电缆连接的 Arduino 设备。当它们连接时,它们在/dev
目录中显示为ttyACM0
和ttyACM1
。是否可以使用稍微不同的标识符分配不同的名称,例如ttyACM5
?
我运行了udevadm info --name=/dev/ttyACM0 --attribute-walk
命令并根据它们可区分的属性(具有不同的序列号)。我尝试将文件放入/etc/udev/rules.d
以下行:
ACTION=="add", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0043", ATTRS{serial}=="55839313738351017091", KERNEL="ttyUSB5", MODE="666"
和
ACTION=="add", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0043", ATTRS{serial}=="55839313738351017071", KERNEL="ttyUSB5", MODE="666"
但这并没有成功,因为设备再次以 ttyAMC0 和 ttyAMC1 出现。是否可以为串行端口分配一个编号略有不同的名称?只是一点背景;我需要确保名称不会在 ttyACM0 和 ttyACM1 之间翻转,因为我有一个程序使用它们的路径(例如:/dev/ttyACM0)与这些设备建立通信,并且我需要在 PC 之后名称保持稳定电源循环,以及使用 USB 集线器时。如果分配一个名字是不可能的,还有其他选择来实现预期的目标吗?
提前致谢!
@steeldriver 和 @Jean-Marie 提供的答案都是正确的并且
SYMLINK="ttyUSB5"
确实有效。本质上,它创建了一个链接,该链接指向系统为端口创建的名称。谢谢!