Send PuTTY Command Through Matlab Script

13 次查看(过去 30 天)
Hi, all,
I am attempting to open the terminal emulator PuTTY and send a command through the PuTTY terminal using a Matlab script. I am able to open PuTTY and even open a predefined, saved serial session in Matlab (called "serialsessoin" in script below), but I'm uncertain how to go about writing Matlab code to send a command through PuTTY once the terminal emulator is open. Ultimately, I'd like to open the PuTTY terminal window and send a single "enter" key through the terminal.
In my script below, a1 is a binary "1" (aka command unsuccessfully sent) or "0" (aka command successfully sent), and b1 is the output of the command. I've attempted to use Matlab's fprintf function to send PuTTY a carriage return through Matlab, but I realize that my fprintf function isn't explicitly directed to the PuTTY terminal. And while I recognize my fprintf function isn't used quite right to begin with, I run into a problem even before the fprintf function: as long as the PuTTY terminal window is open, the first line of code is never passed, so the fprintf function is never reached until I manually close the PuTTY terminal window!
So, in short, my question is this: how can I pass a command through the PuTTY terminal using a Matlab script?
Any ideas would be great. Thanks!
Sam
**************rough code below****************
[a1 b1] = system('"C:\Program Files (x86)\PuTTY\putty.exe" -load "serialsession"');
fprintf(eval('\n'))

采纳的回答

Muthu Annamalai
Muthu Annamalai 2013-7-18
AFAIK this is not currently possible in MATLAB, i.e. to have a live terminal session - you need pipes and MATLAB doesn't offer them. You probably want to write this in C/C++ and use a MEX file to access it from MATLAB.
MATLAB can fire off a shell program pretty well, and put it in background or wait for it etc, but it can't do pipes as of today.
Your best chance is to redesign your task to do pipe/I/O stuff in lower level C/C++ like language and fireoff this program from MATLAB with appropriate parameters.
  2 个评论
Sam
Sam 2013-7-19
Thanks, Muthu, for your insight. While I think that I understand your advice (at least on a conceptual level), I have very little programming experience writing in C/C++ and absolutely no experience dealing with "pipes". (Ha ha, I just tried to write a couple simple C++ scripts and struggled immensely.) At least I can stop trying to use Matlab to accomplish something that simply may not be possible! Thank you for the help!
Muthu Annamalai
Muthu Annamalai 2013-7-19
It could be possible with Java, from MATLAB but I haven't tried.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Install Products 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by