Ubuntu 18.04 LTSがインストールされています。
Arduino IDE v1.8.5をスナップショットとしてインストールしました
snap install arduino-mhall119
ユーザーをダイヤルアウトグループに追加して再起動しました。
Sudo usermod -a -G dialout $USER
$ groups
username adm dialout cdrom Sudo dip plugdev lpadmin sambashare
Arduino Nanoをラップトップに接続しましたが、ポート/ dev/ttyUSB0(ch341-uart))。
$ ls /dev/ttyUSB0 -al
crw-rw---- 1 root dialout 188, 0 авг 13 11:59 /dev/ttyUSB0
簡単なBlinkスケッチをアップロードして、ターミナルで次のエラーを取得しようとしました。
$ 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.**
また、umakeでarduino
1.8.5をインストールしました。通常の方法でシリアルポートにアクセスできます。
注:すでに 類似した質問 がありますが、解決策は package from umake
であり、Snapの修正ではありません。
だから私の質問は次のとおりです。Arduino(スナップ)にシリアルポート/ dev/ttyUSB0(または/ dev/ttyACM0)をアクセスさせる方法は?
更新:スナップショットへのserial-portの接続が失敗し、次のメッセージが表示されます
$ snap connect arduino-mhall119:serial-port
error: snap "core" has no "serial-port" interface slots
現在のインターフェイスは次のとおりです。
$ 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に変更しても効果はありません。
以下も機能しません(構文エラーのため):
$ 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マニフェストに関する情報:
$ 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
スナップショットをクラシックモードでインストールして、ポートへのアクセスを許可します
$ snap install arduino-mhall119 --classic
とても簡単です。これで、シリアルポートにアクセスできるはずです!ハッピーハッキング!
注:古いArduino 1.6.10には以下の情報が必要です。
答えを見つけるのに役立ついくつかの興味深いリンク
Lundamarは次のように述べています:シリアルポートガジェット/インターフェイスが改善されてすべてのシステムシリアルデバイスにアクセスできるようになるまで、次のように制限なしにインストールするだけでスナップを機能させることができます。
$ snap install tio --classic
何もしないよりはましですが、シリアルttyデバイスへのアクセスを許可して実行することをお勧めします。
serial-port
シリアルポートにアクセスできます。これは、シリアルポートハードウェアを構成する特権アクセスを提供するため、制限されています。スロットはガジェットsnapによって実装されることになっていることに注意してください(これはコアスナップでは提供されません)。