如何使用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)
但它不起作用。我一直在研究这个问题但很失败。
答案 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读取它。最重要的是,如果“它不起作用”,您可以在合理的情况下发布文本!