Подход 1:
Matlab также предоставляет Matlab Mobile https://de.mathworks.com/products/matlab-mobile.html, который может выполнять код Matlab с вашего устройства, однако отправлять изображения в Matlab невозможно.
Однако вы можете использовать веб-камеру https://play.google.com/store/apps/details?id=com.pas.webcam&hl=en и откройте сервер, что довольно просто. Вы можете запустить приложение в фоновом режиме, а затем подключиться к Matlab через Matlab-Mobile и получить к нему доступ через свой IP-адрес и обычно через порт 8080.
Подход 2:
Вы можете использовать WebSocket -Server, который реализован здесь:
https://de.mathworks.com/matlabcentral/fileexchange/50040-jebej-matlabwebsocket
Для получения дополнительной информации о том, как запустить его, вы можете следовать указаниям, приведенным в файле readme GitHub, здесь: https://github.com/jebej/MatlabWebSocket
Сервер WebSocket находится на самом высоком уровне 7-го уровня (прикладной уровень) модели OSI https://en.wikipedia.org/wiki/OSI_model и строит операцию на 4-м уровне (TCP). Однако вам не нужно указывать такие вещи, как размер буфера и т. д.
Следующий пример кода напрямую взят из примера кода из проекта GitHub. Для достижения желаемого результата в приложении Android лучше всего перестроить клиентское приложение на Android.
Эхо-сервер:
classdef EchoServer < WebSocketServer
%ECHOSERVER Summary of this class goes here
% Detailed explanation goes here
properties
end
methods
function obj = EchoServer(varargin)
%Constructor
obj@WebSocketServer(varargin{:});
end
end
methods (Access = protected)
function onOpen(obj,conn,message)
fprintf('%s\n',message)
end
function onTextMessage(obj,conn,message)
% This function sends an echo back to the client
conn.send(message); % Echo
end
function onBinaryMessage(obj,conn,bytearray)
% This function sends an echo back to the client
conn.send(bytearray); % Echo
end
function onError(obj,conn,message)
fprintf('%s\n',message)
end
function onClose(obj,conn,message)
fprintf('%s\n',message)
end
end
end
Чтобы запустить его в MATLAB, введите:
s = EchoServer(30000);
Это затем будет использовать порт 30000 на вашем локальном компьютере.
На Android просто создайте WebSocket-Client и используйте свой URI, который вы можете узнать, используя ipconfig
(Windows) или ifconig
(Linux). В Android uri должен выглядеть следующим образом:
ws://192.168.1.102:30000
Где IP-адрес может измениться в соответствии с вашим IP-адресом
person
Kev1n91
schedule
25.12.2017