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 2
service udev restart

3.查看自己设备的idVendoridProduct

lsusb -vvv

 

 上面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}=="00"  
        ATTRS{bInterfaceProtocol}=="00"  
        ATTRS{bNumEndpoints}=="02"  
        ATTRS{supports_autosuspend}=="1"  
        ATTRS{bAlternateSetting}==" 0"  
        ATTRS{bInterfaceNumber}=="00"  
        ATTRS{interface}=="CP2102 USB to UART Bridge Controller"  
    KERNEL=="ttyUSB*", KERNELS=="1-2.1", MODE:="0777",SYMLINK+="slamtec_base_"  
    KERNEL=="ttyUSB*", KERNELS=="1-2.2", MODE:="0777",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="115200"/>
<param name="robot_frame_id" type="string" value="base_link"/>
原文地址:https://www.cnblogs.com/zxouxuewei/p/6140710.html