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 4月 9 12:29 /dev/ttyACM0 lrwxrwxrwx 1 root root 7 4月 9 12:29 /dev/ttyACM_URG -> ttyACM0
おわり