/ 中存储网

通过Matlab的HTTP请求:GET、POST

2014-12-31 15:28:00 来源:中存储网

如今越来越多的无线传感器出现在我们面前,需要通过像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,点击进入。