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 보드는 이러한 설정으로 작동하며 모든 것이 괜찮아 보입니다.
하지만 칩을 사용하여 두 번째 장치를 연결하고 싶습니다 FTDI_FT232_USB_UART
. Ubuntu는 자동으로 장치를 인식하고 등록합니다 ttyUSB0
.
이 시점에서는 Arduino에서 칩 ttyUSB0
과 "실제" ttyUSB0
장치 로의 심볼릭 링크가 있으므로 혼합되어 있습니다 FTDI
. 결과적으로 이러한 장치 중 어느 것도 제대로 작동하지 않습니다.
보려고 했더니 ttyUSB0
두 기기의 데이터가 섞여 있는 걸 발견했습니다.
다른 규칙을 작성하여 칩 이름을 바꾸려고 했지만 ttyUSB0
장치에 대한 또 다른 심볼릭 링크만 만들 수 있었기 때문에 효과가 없었습니다.FTDI
udev
ttyUSB0
규칙에 따르면 규칙 USB
에 따라 장치 이름을 바꿀 수 없습니다.udev
문서
USB
예를 들어 연결 중에 장치 이름을 정적 이름으로 바꾸는 다른 방법을 찾으려고 했지만 ttyUSBX
실패했습니다.
연결 프로세스 중에 칩 기반 장치의 정적 이름을 지정하거나 나중에 Arduino용으로 생성된 기호 링크와 충돌 FTDI
하지 않도록 이름을 바꿀 수 있습니까?ttyUSB0