Como fazer o Arduino (Snap) acessar a porta serial / dev / ttyUSB0 (ou / dev / ttyACM0)?

4

Eu tenho o Ubuntu 18.04 LTS instalado.

Eu instalei o Arduino IDE v1.8.5 em um piscar de olhos com

snap install arduino-mhall119

Eu adicionei meu usuário ao grupo de discagem e reiniciei:

sudo usermod -a -G dialout $USER

$ groups 
username adm dialout cdrom sudo dip plugdev lpadmin sambashare

Conectei meu Arduino Nano ao laptop, ele é detectado na porta / dev / ttyUSB0 ( ch341-uart ).

$ ls /dev/ttyUSB0 -al
crw-rw---- 1 root dialout 188, 0 авг 13 11:59 /dev/ttyUSB0

Eu tentei fazer o upload do esboço Blink mais simples e obter os seguintes erros no terminal:

$ 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.**

Também instalei o arduino 1.8.5 com o umake - ele pode acessar a porta serial normalmente.

Nota: já temos pergunta semelhante aqui, mas a solução foi usar pacote de umake , não corrige o Snap.

Então, minha pergunta é: Como fazer o Arduino (Snap) acessar a porta serial / dev / ttyUSB0 (ou / dev / ttyACM0)?

Atualização: conectar porta serial ao snap falha com a seguinte mensagem

$ snap connect arduino-mhall119:serial-port 
error: snap "core" has no "serial-port" interface slots

As interfaces atuais são:

$ 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

Alterar permissões da porta serial para 777 com sudo chmod 777 /dev/ttyUSB0 não ajuda.

O seguinte também não funciona (devido a erros de sintaxe):

$ 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

Informações sobre o manifesto YAML:

$ 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
    
por N0rbert 09.05.2018 / 14:38

1 resposta

8

Instale o snap no modo clássico para permitir o acesso às portas

$ snap install arduino-mhall119 --classic

É simples assim. Agora você deve ter acesso às suas portas seriais! Hacking Feliz!

Nota: as informações abaixo são necessárias para o antigo Arduino 1.6.10.

Alguns links interessantes que ajudaram a encontrar a resposta

Interface de porta serial conectada automaticamente

Lundamar says: Until the serial-port gadget/interface is improved to give access to all system serial devices you can get your snap working by simply installing it non-confined like so:

$ snap install tio --classic

It’s better than nothing but it surely would be best to run it confined with allowed access to serial tty devices.

Interfaces - serial-port

Referência de interfaces :

serial-port
Can access serial ports. This is restricted because it provides privileged access to configure serial port hardware. Note that the slot is meant to be implemented by a gadget snap (this is not provided by the core snap).

Gadget que fornece o slot da porta serial

    
por Joshua Besneatte 09.05.2018 / 18:26