如何使用MATLAB将信号发送到IP地址的端口?

时间:2015-12-14 12:32:14

标签: matlab port tcp-ip

如何使用MATLAB将信号发送到IP地址的端口?

事实上,我已经通过Wifi将机器人汽车与PC相连,我已经确定机器人接收到的信号FF000400FF将驱动汽车前进。我通过TCP和UDP工具对此进行了测试,结果没问题。所以我认为使用MATLAB发送这个信号也应该没问题。

我的代码是:

t = tcpip('192.168.1.1',2001);
fopen(t);
a=dec2hex(1095216922879);  %FF000400FF(H)
fprintf(t,a)

但它不起作用。我一直在研究这个问题但很失败。

2 个答案:

答案 0 :(得分:1)

试试这个:

fwrite(t, [255, 0, 4, 0, 255])

答案 1 :(得分:0)

试试这个:

myhost = java.net.InetSocketAddress('192.168.1.1',2001);
mysoc = java.net.Socket();
mysoc.connect(myhost, 2000); % Two second timeout
connected=mysoc.isConnected();
if connected
    mystream = mysoc.getOutputStream();
    mystream.write(hex2dec('FF000400FF'));
    mystream.flush();
    mystream.close();
end

mysoc.close();

您可以将其包装在try catch块中:

try
...
catch ME
    if (isa(ME, 'matlab.exception.JavaException'))
       reason = class(ME.ExceptionObject);
       connected = 0;
    end
end

这适用于任何平台,桌面或部署。如果您的汽车返回了响应命令的内容,您可以使用inputStream读取它。最重要的是,如果“它不起作用”,您可以在合理的情况下发布文本!

相关问题