使用 MATLAB 中的 TalkBack App 进行队列命令
TalkBack 使任何设备都可以根据排队的命令进行操作。此示例演示如何使用 MATLAB® 中的 TalkBack App 以及内置 MATLAB 函数(例如 webread
和 )对命令进行排队$$$$。示例,如果您有一扇带有无线网络和运动传感器的门,您可以对打开和关闭门的命令进行排队。当门感应到有人在附近时,打开门。指定时间后,关门。在 ThingSpeak™ 中,使用 MATLAB 分析 App 编写 MATLAB 代码。
将 webread
与 TalkBack 结合使用
获取 TalkBack 命令
您可以使用 webread
发送 HTTP GET请求来获取 TalkBack 命令。
指定 TalkBack App 和 TalkBack 命令的 ID。您可以在 TalkBack 应用页面中找到 TalkBack 应用 ID、命令 ID 和 TalkBack API 密钥。
% TalkBack app ID TalkBack_ID = '7991'; % TalkBack command ID Command_ID = '1322093'; % TalkBack app API key TalkBack_apikey = 'I586FE13SXIN9ZET';
指定 api_key
查询参数。webread
将 Web 服务查询参数名称和值附加到 url
。
url = strcat('https://api.thingspeak.com/talkbacks/',TalkBack_ID,'/commands/',Command_ID,'.json'); data = webread(url,'api_key',TalkBack_apikey)
点击 Save and Run 以在 MATLAB 分析 App 中运行 MATLAB 代码。
webread
以结构数组形式返回搜索结果页面的 JSON 对象。
data = id: 1322093 command_string: 'OPENDOOR' position: 2 executed_at: [] created_at: '2016-04-13T20:08:58Z'
命令 'OPENDOOR'
现在打开启用 Wi-Fi 的门。
POST TalkBack 命令
您可以使用 webread
发送 HTTP POST请求,使用 weboptions
通过 TalkBack App 添加 TalkBack 命令。
url = strcat('https://api.thingspeak.com/talkbacks/',TALKBACK_ID,'/commands.json'); options = weboptions('RequestMethod','post'); data = webread(url,'api_key','I586FE13SXIN9ZET','command_string','OPENDOOR',options)
点击 Save and Run 以在 MATLAB 分析 App 中运行 MATLAB 代码。以下输出显示在 Output 部分:
data = id: 1328190 command_string: 'OPENDOOR' position: 7 executed_at: [] created_at: '2016-04-14T18:26:45Z'
命令 'OPENDOOR'
现在打开启用 Wi-Fi 的门。
使用 webwrite
与 TalkBack
编写 TalkBack 命令
使用 TalkBack App 创建 TalkBack 命令。打开新的 MATLAB 分析 App ,使用 webwrite
将命令写入 TalkBack App 。
使用您的 TalkBack ID、命令 ID 和 TalkBack API 密钥呼叫 webwrite
。您可以在 TalkBack 应用页面中找到 TalkBack 应用 ID、命令 ID 和 TalkBack API 密钥。
% TalkBack app ID TalkBack_ID = '7991'; % TalkBack command ID Command_ID = '1322093'; % TalkBack app API key TalkBack_apikey = 'I586FE13SXIN9ZET'; url = strcat('https://api.thingspeak.com/talkbacks/',TALKBACK_ID,'/commands.json'); response = webwrite(url,'api_key',TALKBACK_APIKEY,'command_string','CLOSEDOOR')
点击 Save and Run 以在 MATLAB 分析 App 中运行 MATLAB 代码。以下输出显示在 Output 部分:
response = id: 1333480 command_string: 'CLOSEDOOR' position: 10 executed_at: [] created_at: '2016-04-15T13:30:42Z'
命令 'CLOSEDOOR'
现在关闭启用 Wi-Fi 的门。
将 TalkBack App 命令编写为表单编码字符数组
或者,您可以将 TalkBack API 密钥和命令编码为表单编码的字符数组。
数据 = ['api_key=',TalkBack_apikey,'& command_string=','CLOSEDOOR']; 响应 = webwrite(url,数据)
点击 Save and Run 以在 MATLAB 分析 App 中运行 MATLAB 代码。以下输出显示在 Output 部分:
response = id: 1333835 command_string: 'CLOSEDOOR' position: 11 executed_at: [] created_at: '2016-04-15T14:50:53Z'
命令 'CLOSEDOOR'
现在关闭启用 Wi-Fi 的门。
将 TalkBack App 命令编写为 JSON 对象
或者,您可以将命令作为 JSON 对象写入 TalkBack App 。创建一个结构,其中字段是您的 TalkBack 键和命令。使用 weboptions
指定媒体类型为 'application/json'
。
数据 = struct('api_key',TalkBack_apikey,'command_string','CLOSEDOOR'); 选项 = weboptions('MediaType','application/json'); 响应 = webwrite(url,数据,选项)
点击 Save and Run 以在 MATLAB 分析 App 中运行 MATLAB 代码。以下输出显示在 Output 部分:
响应= ID:1334587 命令字符串:'关门' 位置:12 执行时间:[] 创建于:'2016-04-15T17:45:31Z'
命令 'CLOSEDOOR'
现在关闭无线网络启用门。
另请参阅
webread
(MATLAB) | webwrite
(MATLAB) | weboptions
(MATLAB)