Arduino Nanoは、USBコントローラが内蔵されていないATmega328をベースにしています。ボード上のUSBコネクタは、外部のUSB-to-TTLコンバータICに接続されています。したがって、PC側で見られるすべてのUSBデバイスパラメータは、Arduino自体ではなくUSBチップに属します。
これらのチップの多くは、独自のシリアル番号で別々にプログラムすることができます。代わりに、Arduinoボードを接続するPCのポート番号を一意の識別子として代わりに使用することもできます。
試したudevadm
コマンドは、ArduinoボードのUSBチップのシリアル番号ではなく、Arduinoボードが接続されているPCのUSB
コントローラの「シリアル」を示しています。
代わりにudevadm info -n /dev/ttyUSB0 -q all
を実行してください。シリアル番号の行はE: ID_SERIAL_SHORT=12345678
のようになります。 - その行が欠落しているか、実際にすべてのあなたのボードに同じ番号が含まれている場合はUSBポート番号に基づいて独自の別名を割り当てるには、このudev
ルールを使用します。私はまさにこれをやってしまった
ACTION=="add", KERNEL=="ttyUSB*", SYMLINK+="arduino/tty-%s{../busnum}-%s{../devpath}"
、私は私のPCのポート番号を使用しましたArduinosを特定する。このApprochの欠点は、ArduinosをPCに接続する順番を注意しなければならないことです。 – Jonas
@ Jonas、私はあなたのPCの特定のポートに接続されたデバイスを特定のデバイス名にマップする(別名を作成する) 'udev'ルールを作成することを提案していました。その場合、接続順序は重要ではありません。 –