2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Ubuntu20.04] Arduinoのデバイスファイル名を同じにする方法

Posted at

ubuntuでは,USBをつなげるとデバイスファイル名がその都度決まる.
そのため,挿した順番などで,デバイス名が変わってしまう.

Arduinoでシリアル通信をするとき,毎回変わることは避けたいので,
固定する方法を紹介する.

固定方法

1. 接続したいデバイスを接続

ここでは,ArduinoをUSBで挿す.
このとき,割り振られたデバイス名を調べておく

ls /dev/tty*

Arduinoは,ttyACM0とかに割り振られる.

2. デバイスの3つの情報を調べる.

3つの情報を調べる.

  • ID_VENDOR_ID
  • ID_MODEL_ID
  • ID_SERIAL_SHORT

割り振られたデバイス名さえ知っていれば,以下のコマンドで調べられる.

udevadm info -q property -n {割り振られたデバイス名} |  grep -E "ID_SERIAL_SHORT=|ID_VENDOR_ID=|ID_MODEL_ID="

3. デバイスをudevルールに登録する

ルールファイルを新規・追加作成する
ここではファイル名を/etc/udev/rules.d/100-usb-serial-devices.rulesとする
*-usb-serial-devices.rules(*が大きいほどルールの優先度が高くなる)

sudo gedit /etc/udev/rules.d/100-usb-serial-devices.rules

以下のように追加する

/etc/udev/rules.d/100-usb-serial-devices.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="調べたID_VENDOR_ID", ATTRS{idProduct}=="調べたID_MODEL_ID", ATTRS{serial}=="調べたID_SERIAL_SHORT",SYMLINK+="表示させたい名前", MODE="0666"

認識後は,[/dev/表示させたい名前]でデバイスが認識されるようになるし,
権限も666で自動付与される.

4. 最後にリロードする

sudo service udev reload
sudo reboot

おわり.

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?