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"/>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM