ubuntu绑定串口设备

时间:2023-03-09 05:46:02
ubuntu绑定串口设备

原创博文:转载请标明出处:http://www.cnblogs.com/zxouxuewei

为了不让我们的usb设备在使用时,由于设备节点注册的ID不同,设备名称会不同,设备如何在 Linux 中永久修改 USB 设备权限。

1.创建一个脚本文件

touch create_dashgo_udev.sh

2.在文件中添加如下内容

echo  'KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0777", GROUP:="dialout",  SYMLINK+="keysi_base"' >/etc/udev/rules.d/keysi_base.rules

service udev reload
sleep
service udev restart

3.查看自己设备的idVendor和idProduct

lsusb -vvv

ubuntu绑定串口设备

上面lsusb的输出中,找出你的 USB 设备,并找出"idVendor"和"idProduct"字段。本例中,我们的结果是idVendor (0x067b)和 idProduct (0x2303)。修改上面的create_dashgo_udev.sh文件

udevadm info --attribute-walk --path=/sys/bus/usb-serial/devices/ttyUSB0
        SUBSYSTEMS=="usb"
DRIVERS=="cp210x"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}==""
ATTRS{bInterfaceProtocol}==""
ATTRS{bNumEndpoints}==""
ATTRS{supports_autosuspend}==""
ATTRS{bAlternateSetting}==""
ATTRS{bInterfaceNumber}==""
ATTRS{interface}=="CP2102 USB to UART Bridge Controller"
KERNEL=="ttyUSB*", KERNELS=="1-2.1", MODE:="",SYMLINK+="slamtec_base_"
KERNEL=="ttyUSB*", KERNELS=="1-2.2", MODE:="",SYMLINK+="slamtec_laser_"

4.运行脚本

sudo sh create_dashgo_udev.sh

5.查看效果

ls /dev/keysi_base

6.在代码中使用设备名称

<param name="usart_port"         type="string" value="/dev/keysi_base"/>
<param name="baud_data" type="int" value=""/>
<param name="robot_frame_id" type="string" value="base_link"/>