web-dev-qa-db-fra.com

Comment rendre l'accès série Arduino (Snap) / dev / ttyUSB0 (ou / dev / ttyACM0)?

J'ai Ubuntu 18.04 LTS installé.

J'ai installé Arduino IDE v1.8.5 en un clin d'œil avec

snap install arduino-mhall119

J'ai ajouté mon utilisateur au groupe de numérotation et redémarré:

Sudo usermod -a -G dialout $USER

$ groups 
username adm dialout cdrom Sudo dip plugdev lpadmin sambashare

J'ai connecté mon Arduino Nano à l'ordinateur portable, il est détecté sur le port /dev/ttyUSB0 ( ch341-uart ).

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

J'ai essayé de télécharger le croquis le plus simple Blink et d'obtenir les erreurs suivantes dans le 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.**

J'ai également installé arduino 1.8.5 avec umake - il peut accéder au port série de manière habituelle.

Remarque: nous avons déjà question similaire ici, mais la solution consistait à utiliser package de umake , pas de solution pour la capture instantanée.

Ma question est donc la suivante: comment rendre le port série/dev/ttyUSB0 d’accès Arduino (Snap) (ou/dev/ttyACM0)?

Mise à jour: la connexion du port série au composant logiciel enfichable échoue avec le message suivant

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

Les interfaces actuelles sont:

$ 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

Changer les autorisations du port série en 777 avec Sudo chmod 777 /dev/ttyUSB0 n'aide pas.

Les éléments suivants ne fonctionnent pas aussi (en raison d’erreurs de syntaxe):

$ 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

Informations sur le manifeste 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
6
N0rbert

Installez le composant logiciel enfichable en mode classique pour permettre l'accès aux ports

$ snap install arduino-mhall119 --classic

C'est si simple. Vous devriez maintenant avoir accès à vos ports série! Bonne piraterie!

Remarque: les informations ci-dessous sont nécessaires pour l'ancien Arduino 1.6.10.



Quelques liens intéressants qui ont aidé à trouver la réponse

interface de port série connecté automatiquement

Lundamar a déclaré: Jusqu'à ce que le gadget/interface de port série soit amélioré pour donner accès à tous les périphériques série du système, vous pouvez activer votre composant logiciel enfichable en l'installant simplement de manière non confinée, comme suit:

$ snap install tio --classic

C’est mieux que rien, mais il serait sûrement préférable de l’utiliser avec un accès restreint aux périphériques série.

Interfaces - serial-port

référence d'interfaces :

serial-port
Peut accéder aux ports série. Ceci est limité car il fournit un accès privilégié pour configurer le matériel du port série. Notez que l'emplacement est destiné à être implémenté par un composant logiciel enfichable (ceci n'est pas fourni par le composant logiciel enfichable principal).

gadget fournissant un emplacement pour port série

10