У меня есть устройство с последовательным портом, которое я хотел бы протестировать с помощью командной строки Linux.
Я могу использовать stty и echo для отправки команд на последовательный порт, но когда устройство отвечает, у меня нет возможности прочитать, что поступает с последовательного порта. Я использую
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0
для отправки команды устройству. Устройство работает и отправляет ответ обратно через 300 мс. Как вывести этот ответ на консоль с помощью командной строки?
решение1
То же, что и с выходом. Пример:
cat /dev/ttyS0
Или:
cat < /dev/ttyS0
Первый пример — это приложение, которое открывает последовательный порт и передает то, что оно считывает с него, на свою stdout
(вашу консоль). Второй пример — это оболочка, направляющая трафик последовательного порта в любое приложение, которое вам нравится; это конкретное приложение затем просто передает его stdin
в свою stdout
.
Чтобы лучше видеть дорожную обстановку, вы можете использовать шестнадцатеричный дамп:
od -x < /dev/ttyS0
решение2
Я отслеживаю выходные данные для arduino uno следующим образом:
screen /dev/ttyUSB0 9600