誰かが/dev/ttyACM0とlsusb出力の間の接続を説明できますか?
私はフォローしていますこのメモ。 「アダプタの場所と一致するようにttyACM0を更新してください。」というメッセージが表示されます。ここで何をすべきかわかりません。
lsusb
Bus 002 Device 002: ID 1058:25a3 Western Digital Technologies, Inc. Elements Desktop (WDBWLG)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
simon@simon-itx:~/Downloads/zigbee2mqtt$ usb-devices
答え1
出力はlsusb
Zigbeeデバイスが接続されていることを示します。
Bus 001 Device 004: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee
特定のクラスのUSBデバイスには、/dev/ttyACM*
デバイスを作成できるドライバがあります。作成されるたびに増加する数字が割り当てられ、この数字は出力にまったく関係ありませんlsusb
。
私が見た結果によれば、おそらくlsusb
これらのうちの1つだけがあるでしょう。したがって、これによりls /dev/ttyACM*
ファイルが表示されます/dev/ttyACM0
。
この場合は、次のファイルを使用してコンテナを起動します。
docker run \
--device=/dev/ttyACM0
...
これで終わりました。
/dev/ttyACM0
などの番号が異なる複数のファイルがある場合は、/dev/ttyACM1
次のステップはどのファイルであるかを確認することです。これを行う方法はいくつかあります。たとえば、dmesg
デバイスを接続するとすぐに出力を表示したり、/sys
関係を示すシンボリックリンクを持つファイルシステムを使用したりできます。