Моделирование ввода с ttyS0 в Linux

Вы не хотите объединять программу и аргументы в одну строку :просто удалите кавычки

spawn sh /opt/Avaya/CCR/util/CAT/cat.sh --iptfile=no
2
03.03.2020, 12:02
2 ответа

Вы можете сделать это (как пользователь root )с помощью TIOCSTIioctl. См. пример программы в конце этого ответа . Используйте его как

echo [whatever] |./tiocsti > /dev/ttyS0

Вы также можете сделать это из perl без необходимости компилировать что-либо --поищите на этом сайте, там много примеров .

Другой вариант, который я использую, заключается в том, чтобы сделать это на аппаратном уровне :, просто подключив машину к себе через последовательный USB-адаптер -> и записав в/dev/ttyUSBx(или /dev/serial/by-id/xx-xx-xx). ] все, что вы хотите прочитать из/dev/ttySx(сделать /dev/ttyUSBxнеобработанным с stty raw, чтобы он передал данные без изменений ).

6
28.04.2021, 23:21

TIOCSTI доступен, но в настоящее время этот механизм не очень ценится. Альтернатива очень проста :— это то, что делают псевдотерминалы -. Просто наведите сканер на псевдо-терминал -вместо реального последовательного терминала и введите соответствующий ввод с главной стороны псевдо-терминала -. Действительно,expectпоставляется готовым -, предназначенным для управления приложением ввода-вывода интерактивного терминала через псевдо-терминал -.

Все зависит от того, является ли expect, находящийся в пакете Fedora, тем, что люди, устанавливавшие все, уже установили на вашу машину. Это также верно и для Perl, конечно. Мы, отвечающие, не можем знать, что на самом деле влечет за собой расплывчатое «голое тело».

6
28.04.2021, 23:21

Теги

Похожие вопросы