Gha*_*ion 9 java matlab android json restful-architecture
我花了一些时间寻找一种方法将数据从Android应用程序发送到Matlab - 没有办法.我更喜欢通过Restful webservice使用JSON.
我可能有错误的概念,这是如何工作的.
Matlab应该运行/等待来自我的Android设备的POST请求以接收数据,将其从json转换为matlab形式,进行并发送回来 - 而不是再次等待新请求.
像"webread"这样的"RESTful web服务"似乎不会等待传入数据并为它们激活.
如何让Matlab用json监听传入的数据?或者如何让Matlab从基于Android/Java的程序接收数据?我是否需要其他框架,api甚至是带数据库的服务器才能完成这项工作?
任何人都可以给我一些提示吗?
方法1:
Matlab还提供了Matlab Mobile https://de.mathworks.com/products/matlab-mobile.html,它能够从您的设备执行Matlab代码,但是,无法将图像发送到Matlab.
但是,您可以使用WebCam https://play.google.com/store/apps/details?id=com.pas.webcam&hl=en并打开服务器,这非常简单.您可以在后台运行应用程序,然后通过Matlab-Mobile连接到Matlab,并通过您的IP地址和端口8080访问它.
方法2:
您可以使用此处实现的WebSocket -Server:
https://de.mathworks.com/matlabcentral/fileexchange/50040-jebej-matlabwebsocket
有关如何运行它的更多信息,您可以按照GitHub自述文件中给出的说明进行操作:https://github.com/jebej/MatlabWebSocket
WebSocket服务器位于OSI模型https://en.wikipedia.org/wiki/OSI_model的第7层(应用程序层)的最高层,并在第4层(TCP)上构建op.但是,您不需要指定缓冲区大小等内容.
以下示例代码直接取自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
Run Code Online (Sandbox Code Playgroud)
要在MATLAB中运行它:
s = EchoServer(30000);
Run Code Online (Sandbox Code Playgroud)
然后,这将使用本地计算机上的端口30000.
在Android上,只需创建一个WebSocket-Client并使用您的URI,您可以使用ipconfig(windows)或ifconig(Linux)找到它.在Android中,uri应该喜欢以下内容:
ws://192.168.1.102:30000
Run Code Online (Sandbox Code Playgroud)
IP地址可能根据您的IP地址而变化的地方
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |