通过Matlab的HTTP请求:GET、POST

2015-01-06 08:47
程序化

如今越来越多的无线传感器出现在我们面前,需要通过像Matlab这类的软件做出GET、POST等HTTP请求。

宽客网,量化投资,宽客俱乐部

大多数对软件编程不感兴趣的电气工程师可能对GET和POST一类的HTTP请求不熟悉。

推荐阅读请求的基本结构:点此进入

在这里为你展示一个简单的GET和POST请求

GET

创建一个虚拟传感器以发出请求,通过使用Spark Core(Arduino的Wi-Fi开发板)简化操作,通过API创建一个可理解的变量,并且以每两秒的节奏在0和1之间变化。

无论选用什么工具,我们都需要做类似这样的请求:

GET https://api.spark.io/v1/devices/{DEVICE_ID}/status  

同时,访问API时需要使用访问令牌,作为一个传递参数。使用cURL做一个简单的请求,如下:

Sample DEVICE_ID is 0123456789abcdef

Sample access token is 123412341234

curl -G https://api.spark.io/v1/devices/0123456789abcdef/temperature \

  -d access_token=123412341234

在Matlab中做GET请求的工具是urlread函数,我们可以通过JSON响应让Core对此作出回应:

res =

{

  "cmd": "VarReturn",

  "name": "status",

  "result": 1,

  "coreInfo": {

    "last_app": "",

    "last_heard": "2014-12-30T16:56:06.504Z",

    "connected": true,

    "deviceID": "0123456789abcd"

  }

}

如果需要单独分离出结果的话,我们可以使用json4mat工具箱。

POST

创建一个方法来布置Core以及改变status2:

POST /v1/devices/{DEVICE_ID}/status2  

POST的功能本质上都是一样的,变量在执行上需要改变:

res =

{

  "id": "0123456789abcd",

  "name": "tsagi",

  "last_app": null,

  "connected": true,

  "return_value": 0

}

结论

对于基本的HTTP操作,urlread是ok的,如果你想要更多的高级功能,试试urlread2,点击进入
MATLAB, MATLAB技术

点击切换 到互动模式(当前为阅读模式)