Двусторонняя связь с использованием ожидаемого - PullRequest
0 голосов
/ 27 августа 2011

Я пишу сценарий expect для автоматизации связи между Arduino на /dev/ttyUSB0 и экземпляром xine на локальном порту Telnet 6789. Если на Arduino обнаружено нажатие клавиши, он отправит строку через свой последовательный порт.вывод button 01 pressed, button 2 pressed и тд.Теперь, в соответствии с нажатыми кнопками, я бы сказал xine запустить определенные фильмы.

Пока что обе коммуникации работают самостоятельно, но мне нужно реагировать на сообщения arduino сообщениями telnet, довольноочень похоже на этот пример:

User presses key 1.
arduino sends serial line "button 01 pressed"
expect sees this string on /dev/ttyUSB0 and sends "playlist delete all; mrl add movie01.mp4" to xine.
xine then plays this movie while I am asking it for it's status every second.
Once the movie is finished playing, I tell xine to start the "loop" movie and also the arduino to set every output to the idle state.

Итак, в основном, я прошу два spawn способа связи (один последовательный, один telnet) одновременно, expect вводя на них разные строки ипрограммно реагируя на них (тогда как последняя часть, программно реагирующая, уже выполнена).

Спасибо за любую помощь,

Christian.

1 Ответ

0 голосов
/ 27 августа 2011

Вы можете попытаться использовать ожидаемый с -i, чтобы указать идентификатор вызова, с которым вы хотите связаться, и установить небольшое значение времени ожидания, тогда вы можете ожидать между двумя процессами.

...