gpt4 book ai didi

linux - 使用expect进行双向通信

转载 作者:太空宇宙 更新时间:2023-11-04 04:27:39 25 4
gpt4 key购买 nike

我正在编写一个expect脚本来自动实现/dev/ttyUSB0上的arduino与本地telnet端口6789上的xine实例之间的通信。如果在arduino上检测到按键,它将通过其串行输出发送一行,按下按钮01按下按钮2等等。现在,根据按下的按钮,我想告诉 xine 启动某些电影。

到目前为止,两种通信都可以独立工作,但我需要使用 telnet 消息对 arduino 消息使用react,非常像这个例子:

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)的方法,期望它们上有不同的字符串并以编程方式对它们使用react(而最后一部分,以编程方式使用react,已经完成)。

感谢您的帮助,

Christian.

最佳答案

你可以尝试使用expect和-i来指定你想要通信的spawn id,并设置一个小的超时值,然后你就可以在两个进程之间进行期望。

关于linux - 使用expect进行双向通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com