前言
在 Linux 使用序列埠比較麻煩的是權限的問題,在有接上 USB 且 /dev
目錄下有看到所連接的裝置檔案 (例如:ttyUSB0),若在軟體中還是沒有讀取到的話,通常就是權限設定錯誤的問題。
環境
- Ubuntu 18.04 LTS
問題原因
先確認目標裝置的權限,可以看到是 660
權限,也就是說非擁有者 (root) 且非群組 (dialout) 成員的其他人,是不能讀取的,這也是為什麼應用程式內讀不到的原因
1 | user@pc:~$ ls -al /dev/ttyUSB* |
加入群組
一般使用者預設是沒有加入 dialout
群組的,因此將自己加入此群組藉此繼承擁有讀取序列埠的權限
1 | user@pc:~$ sudo usermod -a -G dialout user # user 當然就是使用者帳號,依需求更改 |
再回到應用程式內找尋 Serial Port 應該就能看到囉!