Libudev를 사용하여 내 USB에 연결된 포트를 찾는 방법

Libudev를 사용하여 내 USB에 연결된 포트를 찾는 방법

일종의 모듈을 만들었습니다. 모듈에는 다양한 센서가 배치됩니다. RS232 변환기를 통해 모듈을 Raspberry Pi에 연결했습니다. 저는 공급업체 ID와 제품 ID를 사용하여 RS232 변환기가 있는 Pi 포트를 자동으로 찾기 위해 Libudev를 사용하고 있으며, 해당 포트에서 데이터를 성공적으로 읽고 프런트엔드에 표시합니다. 이제 내 문제는 현재 두 개의 모듈이 있고 두 모듈이 모두 동일한 Pi에 연결되어 있고 동일한 RS232 공급업체 ID와 제품 ID를 가지고 있다는 것입니다. 프런트엔드에서는 모듈 1 또는 2를 선택했습니다. 공급업체 ID와 제품 ID 외에 이 두 변환기를 구별하는 방법. Libudev를 통해 솔루션을 제공할 수 있다면 좋을 것 같습니다. 추신: 현재 Libudev는 제가 최근에 RS232 변환기를 연결한 포트를 감지합니다.

답변1

올바른 방법은 RS232 변환기의 장치 노드 이름을 지정하는 /dev/ttyUSB0것 입니다.범위귀하의 신청서에. 명령줄 옵션, 구성 파일 또는 기타 수단을 통해.

애플리케이션이 다른 컴퓨터에서 실행 중일 수 있고 공급업체 및 제품 ID가 동일한 다른 RS232 변환기가 많이 있지만 모듈이 이들 중 어느 것에도 연결되어 있지 않기 때문입니다. 그러면 될 것이다필요한사용자가 응용 프로그램에서 사용할 RS232 변환기를 선택하도록 합니다. 사용자가 이 옵션을 설정할 수 없으면 응용 프로그램이 사용자의 컴퓨터에서 실행되지 않습니다.

동일한 제조업체, 동일한 제품의 USB 장치를 자동으로 구별하려면 일련번호를 보면 됩니다(다른 경우 일부 장치에는 일련번호가 없거나 모두 동일한 경우입니다). 장치가 연결된 USB 포트 경로도 볼 수 있습니다. 규칙을 사용하여 udev이러한 장치에 대해 알려진 이름으로 심볼릭 링크를 생성하고 이러한 이름을 위 매개변수의 기본값으로 사용할 수 있습니다.

관련 정보