Наиболее часто используемое решение состоит в том, чтобы "пропинговать" каждый последовательный порт и затем проверять ответ. Запрограммируйте ваше устройство, чтобы оно отвечало определенным сообщением, когда оно получает специальный запрос, например, если он получит «Hello», он ответит «Привет, я устройство X». Таким образом, вы можете отправить «Hello» каждому последовательному порту последовательно, подождать секунду или около того, и если вы получите ожидаемый ответ, то вы знаете, какой последовательный порт использовать.
Это может сбить с толку некоторые устройства, подключенные к последовательному порту, поэтому вам следует подумать, какие устройства подключены вашими пользователями. В большинстве случаев, если вы выберете ключевое слово, которое устройство не ожидает получить, оно просто отменит запрос, который вы отправили, и дождется другого запроса.