カニ食べたい

そこまででもない

Ubuntuで測域センサURGのデバイス名を固定する

ロボットに積んだURG(北陽電機の測域センサ)、プログラム側でURGのディレクトリを指定してるのでデバイスを刺す順番とかで名前を変えられると困る
そこでudevを使う


環境
Ubuntu 16.04 64bit
URG (UTM-30LX) USB接続タイプ

 
まず下記のコマンドでUSBに刺さってるデバイスの一覧を出す

$  ls usb

バイスを刺したり抜いたりしてURGがどれかを特定する

自分の環境ではこう

Bus 002 Device 007: ID 15d1:0000

 

下記コマンドを実行してrulesファイルを作成します

$ sudo nano /etc/udev/rules.d/99-serial.rules

ファイル名の数字(99)は優先順位で、他にもrulesファイルがある場合数字の若いほうから処理されるらしい
 
下記コードを追加して保存

KERNEL=="ttyACM*", ATTRS{idVendor}=="15d1", ATTRS{idProduct}=="0000", SYMLINK+="ttyACM_URG", MODE="0666"

idVendorとidProductはlsusbで出た各々の値を入れてください
SYMLINKはデバイス名,MODEはパーミッションです 好きな値入れればいいと思う

USBケーブルを抜き差しし、下記コマンドを実行

$ ls -la /dev/ttyACM*

 
こんな感じで指定した名前になってればOKです

crw-rw-rw- 1 root dialout 166, 0 49 12:29 /dev/ttyACM0
lrwxrwxrwx 1 root root 7 49 12:29 /dev/ttyACM_URG -> ttyACM0


おわり