このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
MATLAB の TalkBack アプリを使用してコマンドをキューに入れる
TalkBack を使用すると、キューにあるコマンドに基づいてデバイスを動作させることができます。この例では、MATLAB® の TalkBack アプリを webread
や webwrite
などの組み込み MATLAB 関数と共に使用して、コマンドをキューに入れる方法を説明します。たとえば、ワイヤレス ネットワークとモーション センサーを備えたドアがある場合は、ドアの開閉を行うコマンドをキューに入れることができます。ドアが近くに来た人を感知したときに、ドアを開きます。指定した時間が経過した後、ドアを閉じます。ThingSpeak™ では、MATLAB Analysis アプリを使用して MATLAB コードを書き込みます。
TalkBack での webread
の使用
TalkBack コマンドの取得
webread
を使用して HTTP GET 要求を送信し、TalkBack コマンドを取得することができます。
TalkBack アプリの ID と TalkBack コマンドを指定します。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 Analysis アプリで MATLAB コードを実行します。
webread
が、検索結果ページの JSON オブジェクトを構造体配列として返します。
data = id: 1322093 command_string: 'OPENDOOR' position: 2 executed_at: [] created_at: '2016-04-13T20:08:58Z'
コマンド 'OPENDOOR'
によって、Wi-Fi 対応のドアが開くようになりました。
TalkBack コマンドのポスト
webread
を使用して、weboptions
を使った HTTP POST 要求を送信することにより、TalkBack アプリ経由で 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 Analysis アプリで MATLAB コードを実行します。次の出力が [Output] セクションに表示されます。
data = id: 1328190 command_string: 'OPENDOOR' position: 7 executed_at: [] created_at: '2016-04-14T18:26:45Z'
コマンド 'OPENDOOR'
によって、Wi-Fi 対応のドアが開くようになりました。
TalkBack での webwrite
の使用
TalkBack コマンドの書き込み
TalkBack アプリを使用して TalkBack コマンドを作成します。MATLAB Analysis アプリを新たに開き、webwrite
を使用して TalkBack アプリにコマンドを書き込みます。
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 Analysis アプリで 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 キーとコマンドを、フォーム エンコードされた文字配列としてエンコードすることもできます。
data = ['api_key=',TalkBack_apikey,'&command_string=','CLOSEDOOR']; response = webwrite(url,data)
[Save and Run] をクリックし、MATLAB Analysis アプリで MATLAB コードを実行します。次の出力が [Output] セクションに表示されます。
response = id: 1333835 command_string: 'CLOSEDOOR' position: 11 executed_at: [] created_at: '2016-04-15T14:50:53Z'
コマンド 'CLOSEDOOR'
によって、Wi-Fi 対応のドアが閉じるようになりました。
JSON オブジェクトとしての TalkBack アプリ コマンドの書き込み
別の方法として、コマンドを JSON オブジェクトとして TalkBack アプリに書き込むこともできます。フィールドが TalkBack キーとコマンドである構造体を作成します。weboptions
を使用して、メディア タイプを 'application/json'
として指定します。
data = struct('api_key',TalkBack_apikey,'command_string','CLOSEDOOR'); options = weboptions('MediaType','application/json'); response = webwrite(url,data,options)
[Save and Run] をクリックし、MATLAB Analysis アプリで MATLAB コードを実行します。次の出力が [Output] セクションに表示されます。
response = id:1334587 command_string:'CLOSEDOOR' position: 12 executed_at: [] created_at:'2016-04-15T17:45:31Z'
コマンド 'CLOSEDOOR'
によって、Wi-Fi 対応のドアが閉じるようになりました。
参考
webread
(MATLAB) | webwrite
(MATLAB) | weboptions
(MATLAB)