zoukankan      html  css  js  c++  java
  • ros 配置udev

    显示已经链接设备

    lsusb
    

    显示挂载点

    ls /dev/ttyACM* /dev/ttyUSB*
    

    可以看到 ttyUSB0ttyUSB1 对应哪一个设备不确定,因此,我们就需要一种方法来保证每次开机后唯一的设备挂载点对应一个确定的设备,这样我们的程序就可以正确操控相应的USB设备了。

    /etc/udev/rules.d 文件夹创建一个 .rules 文件,比如叫做 car.rules
    比如添加一下内容

    KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="666", SYMLINK+="car"
    

    ATTRS为设备号,是lsusb看到的。MODE权限,SYMLINK挂载名为car,这样在程序调用 /dev/car 就得到实际设备,从而自己会对应ttyUSB* 。这样不管插那个口都能识别了。

    弄完时候重启udev 就可以了

    sudo service udev reload
    sudo service udev restart
    

    最后插上设备,看看绑定是否成功

    ls -l /dev/car
    

    设备ID相同时

    使用 dmesg | grep -i usb 检测USB的情况
    拔可以得到变化的USB设备详细信息,就算是设备的ID相同,那硬件的kernel值也是不同的。假设我们的目标硬件是1-3。
    我们进入rules进行编辑:

    KERNELS=="1-3*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",MODE:="0666", SYMLINK+="laser"
    

    注意这里是KERNELS 不是KERNEL。可以只是追加该参数

  • 相关阅读:
    剑指 Offer 30. 包含min函数的栈
    剑指 Offer 35. 复杂链表的复制
    剑指 Offer 18. 删除链表的节点
    剑指 Offer 24. 反转链表
    Jmeter
    Jmeter
    Linux搭建Jenkins
    [基金项目] 青年基金写作的历程与经验(2)
    [基金项目] 青年基金写作的历程与经验(1)
    浅析mysql存储过程
  • 原文地址:https://www.cnblogs.com/wjundong/p/11109639.html
Copyright © 2011-2022 走看看