【问题标题】:permanent USB port names? (Linux) [closed]永久 USB 端口名称? (Linux)[关闭]
【发布时间】:2015-09-21 19:13:24
【问题描述】:

我的程序现在使用了两个 Arduino。 因为我在 Linux 上并且是 Linux 的新手,所以端口不是静态的,比如“com3”和“com6”,我认为它是第一个连接的 Arduino 的“ttyUSB0”,第二个连接的“ttyUSB1”等等上。但是由于在操作系统启动时两者都是连接的,我可以确定端口名称将保持不变吗?还是有其他方法可以通过名称访问端口?

【问题讨论】:

    标签: linux serial-port port


    【解决方案1】:

    使用 udev!

    udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1
    

    应该给你USB接口的序列号。

    然后你可以编写udev规则:

    例子

    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A6008isP", SYMLINK+="arduino"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A7004IXj", SYMLINK+="buspirate"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTDIF46B", SYMLINK+="cisco.serial"
    

    【讨论】:

    • “ATTRS{serial}”是序列号吗?
    • 这是USB设备序列号的参数。
    • 有点混乱,我可以在程序中输入的序列号/字符串是什么?
    • 你使用第一个命令来解决这个问题。
    • 我得到了这个:ATTRS{serial}=="0000:00:14.0" 所以是0000:00:14.0?我只是不明白“然后你可以编写 udev 规则”是什么意思
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2014-12-12
    • 2013-10-01
    相关资源
    最近更新 更多