2015-12-14 2 views
8

Как использовать MATLAB для отправки сигналов на порт IP-адреса?Как использовать MATLAB для отправки сигналов на порт IP-адреса?

Дело в том, что я подключил робот-машину с ПК по Wi-Fi, и я решил, что сигнал FF000400FF, полученный роботом, будет управлять автомобилем вперед. Я тестировал это с помощью инструментов TCP и UDP, и все было в порядке. Поэтому я думаю, что для отправки этого сигнала также должно было быть хорошо, используя MATLAB.

мой код:

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

, но он не работает. Я долгое время работал над этим, но не смог.

+2

Добро пожаловать в переполнение стека! Обратите внимание, что «это не работает» никогда не бывает достаточной информацией. Есть ли ошибка? Что-нибудь происходит? Что происходит вместо ожидаемого поведения? –

+0

Ошибка MATLAB не сообщается. Но робот-машина просто не двигается. Так что я задаюсь вопросом, был ли сигнал отправлен. И я использую инструмент TCP, чтобы поймать сумку, отправленную с ПК. Это ничего не поймало. что-то не так с кодом? или MATLAB? СПАСИБО! – Yancy

+2

Какой тип данных ожидает ваш робот? Действительно ли он ожидает строковых данных? – Daniel

ответ

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 ME 
    if (isa(ME, 'matlab.exception.JavaException')) 
     reason = class(ME.ExceptionObject); 
     connected = 0; 
    end 
end 

Это должно работать на любой платформе, рабочий стол или развернуты. Если ваш автомобиль возвращает что-то в ответ на команду, вы можете прочитать его с помощью inputStream. Лучше всего, вы можете опубликовать текст по причине, если «это не работает»!

Смежные вопросы