这篇文章提到了usb设备id的查询方法和树莓派usb端口的命名方法。
这篇文章提到了树莓哦USB端口的命名特点,并交代了为什么要固定usb端口号。
有些项目需要通过USB进行串口通信(TTL),则在代码编写中会需要USB连接的端口信息,如下程序所示:
# ex) Windows: "COM*", Linux: "/dev/ttyUSB*", Mac: "/dev/tty.usbserial-*"
DEVICENAME = '/dev/ttyUSB0'
TORQUE_ENABLE = 1 # Value for enabling the torque
TORQUE_DISABLE = 0 # Value for disabling the torque
DXL_MOVING_STATUS_THRESHOLD = 20 # Dynamixel moving status threshold
为保证程序的正常运行,我们需要知道做通信的USB端口的名称。因此可以通过如下指令进行查找:
'''这是没有插入USB通信设备的情况'''
pi@raspberrypi:~ $ ls /dev/ttyUSB*
ls: 无法访问'/dev/ttyUSB*': 没有那个文件或目录
'''这是插入USB通信设备的情况'''
pi@raspberrypi:~ $ ls /dev/ttyUSB*
/dev/ttyUSB0
常见串口指令
以下内容参考于树莓派关于常用的串口指令
1、查看所有USB端口
ls -l /dev/tty*
2、查看USB端口波特率
stty -F /dev/ttyUSB0 # stty -F /dev/USBname
3、查看USB连接信息
dmesg | grep ttyUSB0
4、给USB权限
sudo chmod 777 /dev/ttyUSB0
groups user_name
sudo gpasswd --add user_name dialout
5、 下载CH340驱动
三、固定树莓派端口ID
我是参照固定树莓派USB端口名 这篇文章来写的,亲测有效。
主要思路就是,在插入USB设备之后,查看树莓派自动分配的USB ID,然后查看对应的路径代码,最后再编辑新名字以达到固定效果。
值得注意的是,在固定之后,通过ls -l /dev/ttyUSB*查到的还是树莓派自动分配的ID,但是不影响我们使用自己设置的ID,相当于是一人多名。
1、查看连接的USB
ls -l /dev/ttyUSB*
2、查看对应USB的路径信息
udevadm info /dev/ttyUSB0 //设备名根据上步返回ID而定
其中E: ID_PATH=platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0 便是所需要的信息。
3、配置USBID信息
sudo nano /etc/udev/rules.d/99-com.rules # 打开配置文件
然后将以下内容添加进去
SUBSYSTEM=="tty", ENV{ID_PATH}=="platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0", SYMLINK+="ttyUSBname" #"ttyUSBname"为人为设置的名称
4、重启树莓派
sudo reboot now
最终便可以通过我们设定的ID来进行通信。
未完待续~