アフィリエイト広告を利用しています
ファン
検索
<< 2016年12月 >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
月別アーカイブ
プロフィール
DDダッシュさんの画像
DDダッシュ
ブログ
プロフィール

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年12月14日

raspberryPiでUSBポートとデバイス名をリンクさせる

raspberryPiでシリアル制御をしようとした時にシリアルを何本も使うとデバイス名が
再起動するごとに変わってしまって、その都度繋ぎたいユニットにあわせて
順番に線を繋ぎなおす必要があった

でもコレって実際の運用の時に困るんじゃ・・・・
ということで、いろいろ調べてみたらUSBポート毎に個別のデバイス名を設定することが出来みたいなので
やってみた。

まずは自分が繋げているUSBシリアルのデバイス情報をゲットするために
USBに調べたいデバイスを繋げて
コマンドプロンプトで
sudo udevadm info -q all -n /dev/ttyUSB0

とやって
その中の
ID_BUS
ID_PATH_TAG
ID_SERIAL

の情報を控えておく


次に
etc/udev/rules.dフォルダの中で
99-usbcomsetname.rules
みたいなファイルを作成。
ファイル名は任意だけどアタマの99は2桁でできるだけ大きい数字がいい
(権限が高い?)らしいので99で設定してます。

これは管理者権限で扱ってくださいね〜


そんでもってファイルの中身は


SUBSYSTEM=="tty",
ENV{ID_BUS}=="usb",
ENV{ID_PATH_TAG}=="platform-3f980000_usb-usb-0_1_2_1_0",
ENV{ID_SERIAL}=="FTDI_FT232R_USB_UART_AH03IDU6",
SYMLINK+="ttyUSB_P2"


としてやると、たとえばここでUSBの2番目のポートに刺さったデバイスは
自動的にttyUSB_P2
という名前に設定されてくれるようになります。

上の記述では改行しているけど実際のファイルでは改行なしで1行で記述してください。

ここで
ID_PATH_TAG の 「usb-usb-0_1_2_1_0」」の2のところがUSBの2番目のポートということになります。
raspberryPiはUSBポート4個歩けど調べてみたら2〜5番で割り振られています。

実際にどのポートが何番かは1つづつポートにさしてデバイス情報ゲットしてみるとわかると思うよん。

ネットでは記述すれば再起動しなくてもUSBにデバイス挿しなおせば認識すると書いてあったけど
自分の環境では再起動しないと割り振ってくれなかったので一応再起動を推奨します。

これであれば全部同じUSB-シリアルの変換ケーブルを使ってもポートの番号で制御ができるようになるので
実用に近づいたかな〜とか思ってます。

コレをやると外付けのHDDとかのデバイスで同じ型名の物を繋げてもポートで管理できたりとかもするので
(HUBでつなげていても細かく制御可能)いろいろと使えるんじゃないかな









×

この広告は30日以上新しい記事の更新がないブログに表示されております。