Linux下串口的权限问题

linux系统下永久改变串口权限 前言 linux环境下,对某些外部串口进行读写操作时,经常提示没有权限,如下图:错误提示unable to open port 下面提供两种方法解决这个问题: 方法一:一劳永逸,永久改变串口读取权限 串口未连接时执行命令lsusb 插上串口后在再次运行lsusb 对比之后找出增加串口的名,及其对应的ID后紧跟的4个字符,我这里对应的字符时067b 然后执行命令打开管理串口的文档, sudo gedit /etc/udev/rules.d /50-myusb.rules 在文档中写入 SUBSYSTE 阅读详情

串口权限

ls /dev/ttyS*  # 查看标准串口设备
ls /dev/ttyUSB*  # 查看USB串口设备

 临时权限

sudo chmod 777 /dev/ttyS0

永久权限 deepin

sudo nano /etc/udev/rules.d/99-serial.rules
添加
KERNEL=="ttyS0", MODE="0666"
KERNEL=="ttyS1", MODE="0666"
KERNEL=="ttyS2", MODE="0666"
KERNEL=="ttyS3", MODE="0666"
KERNEL=="ttyUSB0", MODE="0666"
KERNEL=="ttyUSB1", MODE="0666"
KERNEL=="ttyUSB2", MODE="0666"
KERNEL=="ttyUSB3", MODE="0666"

重启udev服务
sudo udevadm control --reload-rules
sudo service udev restart

或者
sudo systemctl restart udev

验证权限修改
ls -l /dev/ttyS0  # 或您关心的其他串口设备文件

永久权限ubuntu

sudo usermod -a -G dialout 登陆账号名

Linux 系统串口配置及权限设置详解 Linux串口配置及使用 阅读详情

相关推荐

获取/dev/ttyUSB永久操作权限的方法及编程实现

通过创建udev规则、重新加载规则以及编程实现,我们可以在Linux系统中对串口设备进行持久化授权,从而避免权限不足的问题。本文将介绍如何通过编程的方式获取/dev/ttyUSB的永久操作权限,并提供相应的源代码。udev是Linux系统中负责设备管理的子系统,通过udev规则我们可以对设备的权限进行设置。要想永久获取/dev/ttyUSB的操作权限,我们需要创建一个udev规则。接下来,我们将通过编程的方式来实现获取/dev/ttyUSB的永久操作权限。首先,确保你已经安装了pyudev库。

CodeGu的博客 1504

linux给串口赋予权限

首先,要确定计算机中都有哪些串口可以使用,什么RS232,RS422这些都对应了计算机的哪些口,都需要提前知道,这些一般硬件厂商都会告知,不然的话就要一个个的尝试了,对于尝试,本文有一个串口助手可以使用,链接如下 https://download.youkuaiyun.com/download/weixin_43552197/49477166 这个助手可以实现linux下串口和can口数据收发的检测,不过一般就给串口赋予个权限,用不着。 下面首先使用下面的命令确定计算机有哪些端口 ls /dev/tty* 你会看到下

xiaofeng 5014

【Linux驱动】Jetson Nano串口ttyTHS1的权限问题

Jetson Nano串口ttyTHS1权限问题

郭老二 2240

linux串口读写权限

linux配置串口权限

优快云的博客 1637

国密(3)- 预主密钥/主密钥计算和Finished消息的加解密

国密的ECC-SM3-SM4-CBC模式下的预主密钥和主密钥的生成过程介绍,以及Finished消息的加解密介绍

weixin_43408952的博客 6509

图像特征(一)——颜色特征(颜色直方图,颜色矩,颜色集,颜色聚合向量和颜色相关图)

本文主要是为了更好地理解图像特征,理解各方法的原理。转载请注明出处https://mp.youkuaiyun.com/console/editor/html/105090183 图像模式识别的一般步骤为:输入图像--图像预处理--特征提取--特征选择--图像分类--输出结果。 图像特征主要有:颜色特征、形状特征、纹理特征和空间关系特征。 本文主要介绍颜色特征,并给出matlab上实现的demo。 颜...

gloria_iris的博客 3万+

linux下使用串口权限问题/dev/ttyUSB0 permission denied.

在linux下用串口助手cutecom,打开/dev/ttyUSB0串口时,报错 /dev/ttyUSB0 permission denied. 原因是没有权限,查阅发现两种解决方案 //使用root权限启动cutecom sudo cutecom //终端打开指定串口权限 sudo chmod 777 /dev/ttyUSB0 但这两种方法都有点治标不治本,每次开机都得操作一遍,实在麻烦。后面找到了个一劳永逸的解决方法 sudo usermod -aG dialout username user

胡乱学点东西 1万+

宇树机器人G1二次开发:语音对话、打断与激活功能实现指南

宇树机器人G1是一款功能强大的四足机器人,其开放的SDK和API为开发者提供了广阔的二次开发空间。其中,语音交互是提升机器人智能化水平和用户体验的关键功能。本文将详细介绍如何在宇树机器人G1上进行二次开发,实现。语音打断允许用户在机器人说话时随时中断并输入新指令,这是提升交互自然度的关键功能。三大核心功能,帮助你构建更自然、更智能的人机交互系统。语音识别是将用户的语音输入转换为文本的过程。识别文本后,需要理解用户意图并生成回复。将文本回复转换为语音输出。

m0_52645558的博客 658

Linux下解决USB串口的权限问题

Linux下连接USB转串口线,软件能识别到端口,比如/dev/ttyUSB0,但是在代码中进行open操作的时候会提示权限不足。从USB设备列表中找到USB串口线对应的记录,找到vendor id(前)和product id(后)。缺点是串口线重新插拔或电脑重启之后就失效,需要重新赋权。填入“idVendor”和“idProduct”即可。实测重新插拔或重启电脑,USB串口都可以直接正常打开。

小鹰信息技术服务部 3823

关于华为高斯数据库出现Invalid or unsupported by client SCRAM mechanisms定位解决的过程

最近公司有个新项目使用的是高斯数据库,因为我们的项目是直接从别的项目组拿来的,配置都是已经配好的,但是在放到正式环境上之后出现报错。起初我们以为是测试和正式的版本不一致,但是结果是版本一致的。最后这个问题搞了我们几个小时,都没法解决。

Curtisjia的博客 3173

基于STM32、HAL库的W25Q01JVZEIQ TR FLASH存储器驱动应用程序设计

1Gb (128MB),分为512个可擦除块(block),每个块256KB。:块擦除约30-50ms,芯片擦除约30s。:标准SPI (支持1/2/4线模式)// 初始化CS引脚为高电平。// 擦除扇区(4KB)// 初始化Flash。/* 状态寄存器位 *//* 指令定义 *//* 超时定义 *//* 函数声明 */

corlin6688的博客 266

linux串口超级权限,备忘:linux下串口的操作权限问题

备忘:linux下串口的操作权限问题(2014-08-14 11:55:06)标签:it今天在Ubuntu linux环境下装了Arduino编辑环境,运行起来之后发现该环境下串口呈现灰色为不可用状态,但若用su用户运行Arduino环境则可以使用串口,大概搜了一下搞定:比如我要用的是/dev/ttyACM0口,首先$ ls -l /dev/ttyACM0crw-rw---- 1 root dia...

weixin_39533174的博客 273

C#使用OpenCvSharp+微信模型识别多个二维码

本文介绍了一个基于OpenCvSharp和微信开源二维码检测器的多二维码识别项目。该项目通过C# WinForm实现,主要功能包括:加载图片、识别图片中的多个二维码并显示识别结果。核心代码使用了OpenCvSharp.WeChatQRCode类,通过预训练的caffe模型(detect.prototxt/detect.caffemodel和sr.prototxt/sr.caffemodel)进行二维码检测和解码。识别结果包括每个二维码的编号、内容及位置信息。项目适用于批量二维码识别场景,部署简单,识别效果良

遇见--专栏 123

Linux系统下部分串口无权限问题

Linux系统下部分串口无权限问题的解决代码与解释说明

LENG_Lingliang的博客 1276

基于STM32设计的ECG+PPG人体参数测量系统(华为云IOT)(217)

该系统的核心是基于STM32F103RCT6微控制器,这是一种高性能、低功耗的嵌入式处理器,适用于各种复杂的控制和数据处理任务。系统利用先进的传感器技术,如光电传感器PulseSensor模块来准确测量人体脉搏血氧饱和度及心率(PPG),同时采用AD8232生物电信号采集模块捕捉并处理人体的心电图信号(ECG),从而全面反映用户的心脏活动状态。

1万+

LVGL(lv_canvas)

这篇文章介绍了LVGL图形库中的lv_canvas组件,主要内容包括: lv_canvas是一个绘图缓冲区对象,提供丰富的绘图API,可以理解为LVGL的"离屏画布"。 基本使用流程:创建缓冲区->创建canvas对象->设置缓存和尺寸->进行绘图操作。 详细列举了常用的绘图函数,如绘制线条、矩形、文字、图片等。 提供了示例代码展示如何创建画布并绘制一条红色线段。 介绍了canvas的典型应用场景,如动态波形绘制、自定义控件底图等。 对比了canvas与普通img的区别

m0_49476241的博客 1023

解决Linux非root用户读写串口权限问题

转载,原文链接:http://blog.youkuaiyun.com/itas109 前言 在Linux中,对于非root用户,默认没有串口设备的读写权限。本文将讨论如何让普通用户拥有串口设备的读写权限。1. 问题描述 通过编程读写串口打开设备时,提示没有权限 [Errno 13] Permission denied: '/dev/ttyUSB0' 2.问题分析 2.1 通过命令查看ttyU...

qq_40342287的博客 1245

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

学习笔记——linux下串口权限问题

今天参照网上的例子用QT写了一个串口工具Demo,写完之后感觉没有明显的问题,然后就运行了Demo。结果发现扫描到的串口都打不开,即便是我把参照的代码尽数复制过来也还是打不开。于是我便想到会不会是权限的问题,毕竟之前用cutecom串口调试助手启动的时候也是要加sudo权限的。然后我就用chmod 命令更改串口权限,结果还是不行但可以用sudo执行我的Demo程序。 最后我在网上找到了普通用户也能打开串口的方法就是通过增加udev规则来实现,具体方法如下: sudo vim /etc/udev/rules.

Yeezzl的博客 912

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Qt linux串口权限问题

Linux中sudo或root用户才能打开,Qt如果需要使用串口,需要获取权限。 调试中,如何获取权限呢? 1.(极度不推荐) 管理员运行Qt Creator 但是退回普通用户,qt工程的配置会出错! 2.sudo chmod 666 /dev/ttyUSB0 直接改变串口的权限 ...

爱她就要努力 1789

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

linux串口权限问题

最近几天采用QT移植第三方开源串口库,对整体代码看完之后,感觉这次移植应该是非常自信的,谁知道今天测试的时候就各种卡,连串口都一直没办法打开,安装了mnicom测试串口是否有问题,用mincom测试是可以的,但是minicom是要管理员的权限运行,而我用QT开发的那个是不没有获得管理员权限的,猛然间我才明白可能就是权限的问题,下面是开放USB转串口的权限。 Linux下的设备使用都需要使用s

Touch_Dream的博客 4743

解决OpenOCD或串口在Linux中的权限问题

问题说明:普通用户使用 OpenOCD 进行烧录时,无法访问USB设备,Arduino无法访问串口,每次使用 sudo 或者 pkexec 都需要输入密码,非常麻烦。

Moieo 的博客 608

【串口打开报错】解决 Linux 非 root 用户读写串口权限问题

Linux 中对于非 root 用户,默认没有串口设备的读写权限

2301_78485893的博客 816

Betaflight Configurator在Linux系统下的串口设备访问权限问题解析

Betaflight Configurator在Linux系统下的串口设备访问权限问题解析 问题背景 在使用Betaflight Configurator网页版配置飞控时,Linux用户可能会遇到一个常见问题:当通过Chrome浏览器访问app.betaflight.com并尝试连接飞控设备时,系统提示"此固件版本不受支持",要求升级到支持API版本1.44.0或更高的固件。然...

gitblog_07987的博客 799

解决WSL USB 串口连接问题与linux串口权限问题

WSL 2 运行在独立的轻量级虚拟机内,默认无法直接访问 Windows 宿主机的物理 COM 串口。,已原生支持常见的 USB 转串口驱动(CP210x、CH340、FTDI 及 CDC-ACM)。工具,通过 USB/IP 协议将 Windows 的物理 USB 串口穿透挂载到 WSL 2 中。挂载完成后,在 VS Code 底部状态栏点击 ESP-IDF 的串口图标,将其切换为。),即可直接在 WSL 内执行编译、烧录和打开 Monitor。:在 WSL 终端中运行。:在 WSL 终端运行。

m0_57249200的博客 125

linux java串口读写权限_解决linux下java读取串口之权限问题 No permission to create lock file....

在终端或IDE中运行java读取串口程序时,总是报告如下信息:[lhwtouch@localhost root]$ java MainExperimental: JNI_OnLoad called.Stable Library=========================================Native lib Version = RXTX-2.1-7Java lib Versi...

weixin_32836221的博客 405
上一篇: Deepin系统安装qt过程
下一篇: Deepin系统下linuxdeployqt工具安装与使用
考班格
博客等级 码龄16年 135粉丝 256原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值