Linux下連接配接USB轉序列槽線,軟體能識别到端口,比如/dev/ttyUSB0,但是在代碼中進行open操作的時候會提示權限不足。研究了一陣子,解決權限問題的方法整理如下:
1. 臨時解決
sudo chmod 666 /dev/ttyUSB0
缺點是序列槽線重新插拔或電腦重新開機之後就失效,需要重新賦權。
2. 永久解決
lsusb
從USB裝置清單中找到USB序列槽線對應的記錄,找到vendor id(前)和product id(後)。
找到 /etc/udev/rules.d/50-myusb.rules 這個檔案(如果沒有就建立一個然後拷貝到該目錄),
添加如下内容:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="users", MODE="0666"
填入“idVendor”和“idProduct”即可。
然後重新加載:
sudo udevadm control --reload