首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Arduino (Snap)访问串口/dev/ttyUSB0 0(或/dev/ttyACM0)?

如何使Arduino (Snap)访问串口/dev/ttyUSB0 0(或/dev/ttyACM0)?
EN

Ask Ubuntu用户
提问于 2018-05-09 12:38:18
回答 3查看 20.1K关注 0票数 8

我安装了Ubuntu 18.04 LTS。

我安装了Arduino IDE v1.8.5

代码语言:javascript
复制
snap install arduino-mhall119

我已经将我的用户添加到拨号组并重新启动:

代码语言:javascript
复制
sudo usermod -a -G dialout $USER

$ groups 
username adm dialout cdrom sudo dip plugdev lpadmin sambashare

我把我的Arduino Nano连接到笔记本电脑上,在端口/dev/ttyUSB0 0 (ch341-uart)上检测到它。

代码语言:javascript
复制
$ ls /dev/ttyUSB0 -al
crw-rw---- 1 root dialout 188, 0 авг 13 11:59 /dev/ttyUSB0

我试图上传最简单的眨眼草图,并在终端中获取以下错误:

代码语言:javascript
复制
$ arduino-mhall119.arduino 


avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied  
Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.**

此外,我已经安装了arduino 1.8.5与umake -它可以访问串口通常的方式。

注意:我们这里已经有了相似问题,但是解决方案是使用包装从umake,而不是修复快照。

因此,我的问题是:如何使Arduino (Snap)访问串行端口/dev/ttyUSB0 0(或/dev/ttyACM0)?

更新:通过以下消息将串口连接到snap失败

代码语言:javascript
复制
$ snap connect arduino-mhall119:serial-port 
error: snap "core" has no "serial-port" interface slots

目前的接口是:

代码语言:javascript
复制
$ snap interfaces | grep arduino
:home                            arduino-mhall119,gedit,organize-my-files,vlc
:network                         arduino-mhall119,gedit,organize-my-files,pulsemixer,vlc
:unity7                          arduino-mhall119,gedit,organize-my-files,vlc
:x11                             arduino-mhall119,organize-my-files,pulsemixer,vlc
-                                arduino-mhall119:serial-port

使用sudo chmod 777 /dev/ttyUSB0将串行端口的权限更改为777没有帮助。

以下内容也不起作用(因为语法错误):

代码语言:javascript
复制
$ sudo snap connect arduino-mhall119:arduino
error: snap "arduino-mhall119" has no plug named "arduino"

$ snap connect arduino-mhall119:/dev/ttyUSB0
error: snap "arduino-mhall119" has no plug named "/dev/ttyUSB0"

$ snap connect arduino-mhall119
error: cannot resolve connection, plug snap name is empty

有关YAML-清单的信息:

代码语言:javascript
复制
$ ls -l /snap/arduino-mhall119/current/meta/snap.yaml
-rw-r--r-- 1 root root 353 июл 28 00:20 /snap/arduino-mhall119/current/meta/snap.yaml

$ cat /snap/arduino-mhall119/current/meta/snap.yaml |grep -A 12 slots

$ cat /snap/arduino-mhall119/current/meta/snap.yaml |grep -A 5 plug
    plugs:
    - x11
    - unity7
    - home
    - network
    - serial-port
EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2020-05-15 18:45:54

arduino-mhall119管理单元已经过时,不应该再使用了。Use 阿迪诺 snap代替。

代码语言:javascript
复制
snap install arduino

使用该快照,您只需将自己的用户添加到dailout组中:

代码语言:javascript
复制
sudo usermod -a -G dialout $USER

之后,重新启动设备并打开Arduino IDE。

票数 2
EN

Ask Ubuntu用户

发布于 2018-05-09 16:26:08

2020更新

arduino-mhall119管理单元已经过时,不应该再使用了。使用这个arduino捕捉代替。

有关如何使用这个答案管理单元的串行操作的最新信息,请参见arduino

旧指令

在经典模式下使用Install以允许访问端口

代码语言:javascript
复制
$ snap install arduino-mhall119 --classic

就这么简单。您现在应该可以访问您的串行端口了!黑客行动愉快!

注意:下面的信息是旧的Arduino 1.6.10所需要的。

帮助找到答案的Some有趣链接

自动连接串口接口

Lundamar说:在对串口小工具/接口进行改进以允许访问所有系统串行设备之前,只需像这样不受限制地安装它,就可以让您的snap工作起来:

代码语言:javascript
复制
$ snap install tio --classic

它总比没有好,但它肯定是最好的运行它被允许访问串行tty设备。

接口-serial-port

接口参考

serial-port可以访问串口。这是受限制的,因为它提供了配置串口硬件的特权访问权限。注意,插槽是由一个<#>gadget snap实现的(这不是由核心快照提供的)。

提供串口插槽的小工具

票数 11
EN

Ask Ubuntu用户

发布于 2019-10-21 12:23:06

自从我得到错误后,约书亚的解决方案就不再适用于我了:

Warning: flag --classic ignored for strictly confined snap arduino-mhall119

然而,当使用devmode代替时,它工作得很好:

代码语言:javascript
复制
$ snap install arduino-mhall119 --devmode

不过,不确定devmode是否会有任何进一步的后果。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1034024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档