ubuntu工控机固定设备usb串口号

ubuntu工控机固定设备usb串口号

1、多个USB设备的ID相同

ubuntu系统中的串口使用权限并没有对所有的用户进行开放,所以在使用代码对串口进行操作时,需要打开用户对串口的使用权限,否则在代码中会出现"串口无法打开的报错",只有在加sudo时才能正常运行。

tty设备的用户主是root,所属组是dialout;而ubuntu安装时,默认使用的账户并没有加入到dialout组中,因此需要将用户加入到dialout组中

(1) 打开当前用户的串口使用权限

查看当前用户名

whu

1)查看当前用户是属于哪些组,组中是否有dialout

groups user_name

将当前用户加入到dialout组中

sudo usermod -a -G dialout user_name

  1. 查看是否添加成功,按照1)的方法

(2)lsusb查看设备ID

lsusb

(2) 查看当前插入设备的串口名

ubuntu中支持多个串口操作,可以通过设备插拔来发现当前的设备使用的串口名。

ls -l /dev/tty*

(3) 查看usb口的KERNELS

udevadm info /dev/ttyUSB0

udevadm info -n /dev/ttyUSB0

udevadm info -a -n /dev/ttyUSB0

(4) 创建 udev 规则文件

sudo vim /etc/udev/rules.d/myusb.rules

ACTION=="add",KERNELS=="1-3.4",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="myusb"

SYMLINK 属性指定固定名称

(5)验证

拔掉usb,终端输入

sudo service udev reload

sudo service udev restart

插上usb,终端输入:

ls /dev/myusb

2 、usb设备ID不同

ubuntu工控机固定设备usb串口号(详细)_ubuntu固定串口号-CSDN博客

复制代码
固定 设备的 USB转串口号



//查看当前有哪几个串口

ls /dev/tty*



//查看设备串口信息

lsusb

cd /etc/udev/rules.d

sudo gedit myusb.rules 

//输入

KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0777", SYMLINK+="imu"

//其中的"067b","2303"为usb线的ID,"imu"为usb串口名



//拔掉usb,终端输入:

sudo service udev reload

sudo service udev restart



//插上usb,终端输入,验证

ls /dev/imu //imu为自己设的usb串口名



//[优点:插不同usb口都有同样的端口号]

//缺点:换一条带有同芯片的usb转接线也会出现相同点串口名,如我买的一款usb口温度传感器就和我用来连接无线数传的usb转接 线有同样的ID "1a86:7523" ,这时两条usb同时接时就无法准确获取相应口的信息。。。

lsusb #插拔看设备id号

/etc/udev/rules.d/your_usb.rules

ls /dev/tty*

相关推荐
爱和冰阔落8 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall9 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy10 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘10 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
无奈笑天下19 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla1 天前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__1 天前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo1 天前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习