一、Linux下访问串口
  • 串口位置:/dev/tty**
    在Linux系统中,串口设备是通过串口终端设备文件来访问的,也就是通过访问/dev/ttyS0、/dev/ttyS1、/dev/ttyS2、/dev/ttyS3 、/dev/ttyUSB* 这是USB转串口。这些设备文件实现对串口的访问。
1.1.2 查看串口
  • ls命令:
    ls -l /dev/tty*

  • 查看有哪些设备连接在你的电脑上:
    lsusb

  • 产看串口个数以及对应的tty:
    dmesg | grep ttyS*

~~~
我使用了一个usb扩展器,这边可以看到,被连接在ttyUSB0上的就是我的usb扩展器,我在上面连接了3个外接设备,都是被连接在ttyUSB0上。

如何绑定设备到具体的usb串口

udev 是通过内核产生设备名增加别名的方式来达到 不管设备连接的顺序而维持一个统一的设备名。内核通常会产生自定义的设备名 如sda1 sdb1等

,但是udev可以通过设备的其他信息如总线 ,生产商等不同来区分不同的硬件设备。在/etc的 目录下。

例如 :ubuntu内核中,产生sda 设备名,可以通过制定 udev规则,让udev 除了产生/dev/sda/ 设备文件外, 另外创建    一个符号链接叫 /dev/name  ,这样在ros串口处理的程序中,就 可以使用 产生的新的 设备名。

通过lsusb  命令可以查看到所有外接usb的接口设备的描述列表,可以得到id product和id VENDOR的数值,来进行后续的绑定。  ls /dev 可以查看所有 外接串口设备的名字列表。

首先 ,所有制定的udev 规则最终 会在 /etc/ udev /rule.d 这个文件夹下面 。 

通过芯片的特定码,来产生软链接别名

可以一个脚本如下: 

echo  'KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666", GROUP:="dialout",  SYMLINK+="dashgo"' >/etc/udev/rules.d/ch34x.rules

绑定 1a86 7523 的串口设备, 会在/etc/udev/rule.d 下 产生 相应的 规则文件,ttyUSB产生新的别名即 dashgo。

使修改生效

sudo udevadm trigger
察看绑定是否成功

ls -l /dev/
 

 看看里面是否存在一个叫做dashgo的硬件

如果有的话,那么ros中通信协议的时候硬件名称就可以写上dashgo来代替ttyUSB0等等。

如果想要打开串口时不需要root权限,创建文件/etc/udev/rules.d/70-ttyusb.rules,写入:

KERNEL=="ttyUSB[0-9]*",MODE="0666"

  • 查看串口的驱动信息
    cat /proc/tty/driver/serial

串口绑定

最新文章

  1. linux 之静默安装oracle
  2. DevOps is dirty work - CI drives you crazy
  3. Hadoop FS shell commands
  4. poi jar包的作用
  5. Maven 自动部署
  6. 数组(Array)的使用方法
  7. Thread.CurrentPrincipal & HttpContext.Current.User
  8. 由于问题引起信号ORA-27154无法启动数据库
  9. 【C++】最大子列和
  10. 第一数学归纳法 vs 第二数学归纳法 vs 良序定理
  11. PHP连接LDAP进行登录验证
  12. 解决jest处理es模块
  13. redis简单应用
  14. ajax 跨域请求解决方案
  15. SQL SERVER的锁机制
  16. 测试快速关闭innodb的方法
  17. 被fancybox坑的心路历程
  18. (转)csv — 逗号分隔值文件格式
  19. 20155306 白皎 0day漏洞——基础知识
  20. Git 获取仓库(分布式版本控制系统)

热门文章

  1. git lfs指令解决git status显示lib文件被修改,但是没有修改的问题。此时,git checkout没有用。
  2. CentOS7-Docker容器入门
  3. QQ联合登录(基于Oauth2.0协议)
  4. [转帖]插曲:大白话带你认识Kafka
  5. redis连接池(JedisPool)资源归还及timeout详解
  6. ASP.NET Nlog上手练习小例子
  7. kubernetes使用securityContext和sysctl
  8. linux mount一个目录到另外一个目录
  9. pandas-12 数学计算操作df.sum()、df.min()、df.max()、df.decribe()
  10. The Middle English word was Affrike非洲