Arduinoボードがポートに接続され、UbuntuでデバイスUSB
として認識されました。ttyACM0
Arduinoサイトのプログラミングの理由から、デバイスはLinuxで表示される必要がありますttyUB0
。
udev
この問題は、次の合計ルールを使用して解決できます。
SUBSYSTEM=="tty", ATTRS{idVendor}=="XXX", ATTRS{idProduct}=="YYY", MODE="0666", SYMLINK+="ttyUSBO"
に書く/etc/udev/rules.d/99-usb-serial.rules
Arduinoボードはこれらの設定で動作し、すべてが大丈夫です。
しかし、チップを使って2番目のデバイスを接続したいと思いますFTDI_FT232_USB_UART
。 Ubuntuは自動的にデバイスを認識して登録しますttyUSB0
。
この時点では、ArduinoからチップttyUSB0
と「実際の」デバイスttyUSB0
へのシンボリックリンクがあるため、混在していますFTDI
。その結果、これらのデバイスのどれも正しく動作しません。
見ようとしたところ、ttyUSB0
両機器のデータが混ざっているのが見つかりました。
別のルールを作成してチップの名前を変更しようとしましたが、ttyUSB0
デバイスへの別のシンボリックリンクのみを作成できるため、うまくいきませんでした。FTDI
udev
ttyUSB0
ルールによると、ルールUSB
によってデバイス名を変更することはできません。udev
文書
USB
たとえば、接続中にデバイス名を静的名前に変更する別の方法を見つけようとしましたが、失敗しttyUSBX
ました。
接続プロセス中にチップベースのデバイスの静的名前を指定するか、後でArduino用に生成されたシンボリックリンクと競合しFTDI
ないように名前を変更できますか?ttyUSB0