Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

MATLAB の TalkBack アプリを使用してコマンドをキューに入れる

TalkBack を使用すると、キューにあるコマンドに基づいてデバイスを動作させることができます。この例では、MATLAB® の TalkBack アプリを webreadwebwrite などの組み込み 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 対応のドアが閉じるようになりました。

参考

(MATLAB) | (MATLAB) | (MATLAB)

関連するトピック