우리 시스템에는 장비에 연결된 두 개의 모터와 두 개의 LiDAR 센서가 있습니다. 이제 이를 제어하고 Python에서 포트를 하드코딩할 수 있습니다. 모든 것이 Mac OS를 실행하는 Mac Mini에 연결됩니다.
때로는 센서에 문제가 있어서 플러그를 뽑거나 기계를 재부팅해야 하는 경우도 있습니다. 그러나 다른 이유로 인해 머신을 재부팅해야 할 수도 있습니다. (별도의 질문).
장치를 재부팅하고 다시 분리/연결하는 사이에 컴퓨터의 USB 포트가 변경되고 하드 코딩된 포트가 더 이상 작동하지 않습니다. 더 좋은 방법이 있나요? 컴퓨터의 물리적 포트에 정적 포트 이름을 할당하는 방법이 있습니까? 예를 들어:
Port 1: '/dev/tty.usbmodem143401'
Port 2: '/dev/tty.usbmodem143402'
Port 3: '/dev/tty.usbmodem143403'
Port 4: '/dev/tty.usbmodem143404'
그러면 최소한 우리가 사용하고 있는 포트를 확인할 수 있을까요? 아니면 이와 같은 작업을 수행하는 더 좋은 방법이 있습니까?
이 USB 포트에 이름과 별칭을 할당하는 솔루션을 찾아보았지만 아무 것도 작동하지 않는 것 같았습니다.
이제 다음과 같은 포트가 포함된 구성/상수 파일이 생겼습니다.
MOTOR_PORT = '/dev/tty.usbmodem143401'
PHONE_LIDAR_PORT = '/dev/tty.usbserial11'
READER_LIDAR_PORT = '/dev/tty.usbserial'
이는 이상적이지 않습니다. 우리는 이 문제를 없애거나 최소한 연결된 장치를 보장할 수 있는 방법을 찾고 싶습니다.
우리는 재부팅 사이 등 주어진 시간에 어떤 장치가 어떤 포트에 연결되어 있는지 확실하게 알 수 있기를 원합니다.
답변1
마침내 Adafruit FTDI TTL 직렬 변환기를 사용하여 이 문제를 해결했습니다. 그들은 결코 변하지 않을 것 같은 독특한 시리즈를 가지고 있습니다. 우리에게는 그것으로 충분합니다. 다들 감사 해요!