Здравствуйте.
Есть девайс, работающий через последовательный порт. Девайс принимает и отправляет текстовые команды. Каждую секунду девайс опрашивается (отправляем команду получаем ответ).
Изначально все работало на nodejs через ser2net. Сейчас переписываю на Си. Первая мысль была работать с девайсом в отдельном потоке и отдавать команды этому потоку из основного приложения
Но потом внезапно пришла вторая мысль: а почему бы не написать cli-приложение, которому в опциях командной строки передавать команду для девайса. Это приложение откроет tty, отправит команду, выдаст ответ на stdout и благополучно завершится. Затем в основном приложении вызвать popen() этого cli-приложения и читать его stdout. Особая реалтаймовость не требуется
Пожалуйста, покритикуйте вторую мысль и объясните почему я не прав и почему так делать не стоит?