thingSpeakWrite
ThingSpeak チャネルへのデータの書き込み
構文
説明
thingSpeakWrite(
は、指定されたチャネルにデータを書き込みます。API 書き込みキーは、channelID
,data
,'WriteKey','channel write API key
')'WriteKey'
とチャネルの書き込みキーを表す文字ベクトルまたは string で構成されるコンマ区切りのペアとして指定します。
thingSpeakWrite(___,
は、1 つ以上の Name,Value
)Name,Value
のペアの引数によって指定された追加オプションを使用します。
例
ThingSpeak チャネルへのデータの書き込み
複数の値の書き込みと応答の表示
チャネルの最初の 4 つの連続するフィールド [1,2,3,4] に数値を書き込みます。
response = thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','23ZLGOBBU9TWHG2H')
非数値データの書き込み
チャネルの最初の 3 つの連続するフィールド [1,2,3] に非数値データを書き込みます。
thingSpeakWrite(17504,{2.3,'on','good'},'WriteKey','23ZLGOBBU9TWHG2H')
混在するデータの書き込み
チャネルの不連続のフィールド [1,4,6] に混在する値を書き込みます。
thingSpeakWrite(17504,'Fields',[1,4,6],'Values',{2.3,'on','good'},'WriteKey','23ZLGOBBU9TWHG2H')
フィールドと位置データの書き込み
3 つのフィールドを更新し、エントリの緯度、経度、高度のデータを書き込みます。
thingSpeakWrite(17504,[1.1,2.3,4],'Location',[-40,23,35],'WriteKey','23ZLGOBBU9TWHG2H')
位置データのみの書き込み
フィールドに値は追加せずに、チャネルに緯度、経度、高度のデータを書き込みます。
thingSpeakWrite(17504,'Location',[-40,23,3500],'WriteKey','23ZLGOBBU9TWHG2H')
タイムスタンプ付きのデータの書き込み
チャネルに書き込む値のタイムスタンプを書き込みます。指定したタイムスタンプは現地時間として解釈されます。
tStamp = datetime('now') thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','23ZLGOBBU9TWHG2H','TimeStamp',tStamp)
データの行列の書き込み
チャネルの最初の 3 つのフィールドにデータの行列を書き込みます。指定したタイムスタンプは現地時間として解釈されます。
% Generate Random Data data = randi(10,10,3); % Generate timestamps for the data tStamps = datetime('now')-minutes(9):minutes(1):datetime('now'); channelID = 17504; % Change to your Channel ID writeKey = '23ZLGOBBU9TWHG2H'; % Change to your Write API Key % Write 10 values to each field of your channel along with timestamps thingSpeakWrite(channelID,data,'TimeStamp',tStamps,'WriteKey',writeKey)
データの timetable の書き込み
チャネルの最初の 2 つのフィールドにデータの timetable を書き込みます。指定したタイムスタンプは現地時間として解釈されます。
% Generate random data dataField1 = randi(10,10,1); dataField2 = randi(10,10,1); % Generate timestamps for the data tStamps = [datetime('now')-minutes(9):minutes(1):datetime('now')]'; % Create timetable dataTable = timetable(tStamps,dataField1,dataField2); channelID = 17504; % Change to your channel ID writeKey = '23ZLGOBBU9TWHG2H'; % Change to your Write API Key % Write 10 values to each field of your channel along with timestamps thingSpeakWrite(channelID,dataTable,'WriteKey',writeKey)
入力引数
channelID
— チャネルの識別番号
数値
チャネルの識別番号。正の整数として指定します。
data
— チャネルに書き込むデータ
配列 | 数値 | table | timetable
チャネルに書き込むデータ。数値スカラー、数値ベクトル、cell 配列、cell 配列の string、table、または timetable として指定します。スカラー データを指定した場合、チャネルの最初のフィールド (フィールド 1) に値が書き込まれます。ベクトルまたは 1 次元 cell 配列の場合は、フィールド 1 から順番に連続するフィールドにデータが書き込まれます。
例: thingSpeakWrite(17504,{2,3,'on','good'},'WriteKey','channel write api key');
channel write API key
— チャネルの API 書き込みキー
API キーの文字ベクトル | API キーの string スカラー
チャネルの API 書き込みキー。'WriteKey'
とチャネルの API 書き込みキーを表す文字ベクトルで構成されるコンマ区切りのペアとして指定します。API 書き込みキーはデータをチャネルに書き込むのに必要です。チャネルの API 書き込みキーは、ThingSpeak チャネル ビューの [API Keys] タブにあります。チャネルの API 書き込みキーは変数に保存しておくと便利です。
例: thingSpeakRead(12397,'WriteKey','XXXXXXXXXXXXXXXX');
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: thingSpeakWrite(17504,[1.1,2.2],'Fields',[1,2,3],'WriteKey','channel write api key');
Fields
— チャネル フィールド
数値
チャネル フィールドの ID。'Fields'
と 1 行 n 列の正の整数値で構成されるコンマ区切りのペアとして指定します。
例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'Fields',[1,2,3,4],'WriteKey','channel write api key');
Values
— データ値
数値 | 配列 | table | timetable
データ値。'Values'
と数値スカラー、数値ベクトル、cell 配列、cell 配列の string、table、または timetable の値で構成されるコンマ区切りのペアとして指定します。'Fields'
パラメーターで指定したチャネルのフィールドに書き込むデータを指定します。
例: thingSpeakWrite(17504,'Fields',[1,3,4],'Values',[1,2,3],'WriteKey','channel write api key');
Location
— データの位置情報
数値
チャネルのデータの位置情報。'Location'
と数値配列で構成されるコンマ区切りのペアとして指定します。位置情報には、緯度、経度、高度が含まれます。次の例では、フィールド 1 に提供される 3 つの点のそれぞれに対して同じ位置情報を書き込みます。
例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'Location',[-40,23,200],'WriteKey',' write api key');
Timeout
— サーバー接続タイムアウト期間
10 (既定値) | 数値
サーバー接続タイムアウト期間。'TimeOut'
と数値で構成されるコンマ区切りのペアとして指定します。タイムアウト期間は、thingSpeakRead
がサーバーへの接続を試行できる秒数です。この期間が経過すると要求が中止されます。
例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','write API key','Timeout',15);
Timestamp
— データ値のタイムスタンプ
datetime
書き込みチャネルでフィールドに書き込まれるデータ値のタイムスタンプ。'Timestamp'
と値のペアで構成されるコンマ区切りのペアとして指定します。値は MATLAB® の datetime
の値でなければなりません。タイムスタンプはすべて一意でなければなりません。重複するタイムスタンプを送信した場合はすべての更新がされ、それ以外の場合はチャネルに既に同じタイムスタンプがある更新だけが破棄されます。
メモ
'Values'
を timetable で指定した場合は、'Timestamp'
は指定しないでください。
例: thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','channel write api key','Timestamp',[datetime('2/6/2018 9:27:12','format','MM/dd/uuuu HH:mm:ss')]);
データ型: datetime
出力引数
response
— 書き込み操作のチャネルの応答
構造体
書き込み操作のチャネルの応答。次の表に示すフィールドをこの順序で格納した構造体として返されます。構造体のフィールドは、チャネルのフィールドに書き込まれた値を示します。
フィールド | 説明 |
---|---|
FieldX | エントリの FieldX のデータ (最大 8 フィールド) |
Latitude | 書き込み操作の緯度 |
Longitude | 書き込み操作の経度 |
Channel ID | チャネルの識別番号 |
Created | 書き込み操作とフィード エントリの日時 |
Last EntryID | 最新のチャネル更新のエントリ ID |
Created | チャネルの作成日時 |
Updated | チャネルの設定の最終更新日時 |
Last EntryID | 最新のチャネル更新のエントリ ID |
Altitude | 書き込み操作の高度 |
制限
タイムスタンプはすべて一意でなければなりません。チャネルの既存のデータとタイムスタンプが一致する新しいデータを書き込むことはできません。
チャネルの許容される更新頻度にはライセンス タイプに応じた制限があります。詳細については、Frequently Asked Questions および How to Buy を参照してください。table や timetable のように複数のエントリがある場合の更新については、更新頻度が低く制限されます。無料アカウントのユーザーの場合、
thingSpeakWrite
の 1 回の呼び出しにおけるメッセージ数の上限は 960 です。有料アカウントのユーザーの場合、メッセージ数の上限は 14,400 です。許容される上限を超えるレートでパブリッシュしようとすると、次のエラーが返されます。「要求の頻度が高すぎます。詳細については、ドキュメンテーションの「制限」を参照してください。」
詳細
ThingSpeak
ThingSpeak は IoT 解析プラットフォーム サービスであり、これによってクラウドにあるライブ データ ストリームの集計、可視化、解析が可能になります。詳細については、License Options および Commercial Use を参照してください。
バージョン履歴
R2019a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)