Approccio 1:
Matlab fornisce anche Matlab mobile https://de.mathworks.com/products/matlab-mobile.html, che è in grado di eseguire codice Matlab dal dispositivo, tuttavia non è possibile inviare le immagini a Matlab.
Tuttavia, è possibile utilizzare WebCam https://play.google.com/store/apps/details?id=com.pas.webcam&hl=en e aprire un server, che è piuttosto semplice. È possibile eseguire l'applicazione in background e poi conencto a Matlab tramite Matlab-Mobile, e accedervi tramite il vostro indirizzo IP e di solito porta 8080.
Approccio 2:
È possibile utilizzare un websocket -Server che viene realizzato qui:
https://de.mathworks.com/matlabcentral/fileexchange/50040-jebej-matlabwebsocket
per ulteriori informazioni su come farlo funzionare è possibile seguire le indicazioni riportate sul readme GitHub, qui: https://github.com/jebej/MatlabWebSocket
Un server Websocket si trova sul livello più alto del 7 ° livello (livello applicazione) del modello OSI https://en.wikipedia.org/wiki/OSI_model e si basa sul 4 ° livello (TCP). Tuttavia, non è necessario specificare elementi quali la dimensione del buffer, ecc.
Il seguente codice di esempio viene preso direttamente dal codice di esempio dal progetto github. Per completare il risultato desiderato nell'applicazione Android, è l'approccio migliore per ricostruire l'applicazione client su Android.
Echo Server:
classdef EchoServer < WebSocketServer
%ECHOSERVER Summary of this class goes here
% Detailed explanation goes here
properties
end
methods
function obj = EchoServer(varargin)
%Constructor
[email protected](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
di eseguirlo in Tipo di MATLAB:
s = EchoServer(30000);
Questo sarà quindi utilizzare il 30000 porta della macchina locale.
Su Android è sufficiente creare un client WebSocket e utilizzare l'URI, che è possibile scoprire utilizzando ipconfig
(Windows) o ifconig
(Linux). In Android i dell'URI dovrebbero simile al seguente:
ws://192.168.1.102:30000
Qualora l'indirizzo IP può cambiare secondo il vostro indirizzo IP
webread è un client, non un server. Hai davvero bisogno di aggiungere un server riposante a MATLAB. Ma qual è il tuo problema generale? Forse c'è un approccio migliore. – zapl
Grazie per le informazioni con un server, cercherò di far funzionare un server java spring che chiamerà matlab. – Ghalion
https://www.mathworks.com/matlabcentral/answers/326764-how-can-i-read-a-json-file?requestedDomain=www.mathworks.com – Ibrahim