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