IoT Platform は、Topic データ形式に基づき、データ転送およびサーバー側サブスクリプションを通じてデータを処理・送信します。Topic は、カスタムトピック、基本通信トピック、Thing Specification Language (TSL) 通信トピックの 3 種類に分類されます。カスタムトピックのデータ形式は、お客様が定義します。本ドキュメントでは、メッセージ転送後の基本通信トピックおよび TSL 通信トピックのデータ形式について説明します。
メッセージ転送および生デバイス通信のためのトピック
通信トピックの定義、使用方法、分類については、「トピックとは」をご参照ください。
デバイス開発時には、生データ形式を指定してください。以下の点にご注意ください。
-
基本通信トピックおよび TSL 通信トピックのデータは、Alink プロトコルに準拠する必要があります。「Alink プロトコルディレクトリの関連ドキュメント」をご参照ください。
生デバイスデータが転送された後、データ形式は変換されます。以下の各セクションで、それぞれの変換後の形式について説明します。
-
カスタムトピックのデータ形式は、お客様が定義できます。
生デバイスデータが転送された後も、データ形式は変更されず、カスタムトピック形式と一致します。
以下の表に、転送トピックと対応する生デバイス通信トピックを示します。
表 1. トピックの説明
トピック | 説明 | 参照 |
カスタム | カスタムデータ形式でメッセージを転送するトピックは、カスタムトピックと同じ形式になります: ${TopicShortName} はカスタムトピックカテゴリを指定し、カスタムトピックのサフィックスとなります。 この値には、プラス記号 (+) やシャープ記号 (#) を含むワイルドカード文字を使用できます。
| |
デバイスステータス変更通知 | デバイスのステータスがオンラインとオフラインの間で変化した際に通知を転送するトピックです。形式:/as/mqtt/status/${productKey}/${deviceName}。 | |
TSL Data Reporting | 以下を含みます:
| |
生デバイスデータを送信するための以下のトピックが使用されます:
| ||
デバイスライフサイクル全体における変更 | デバイスが作成、削除、無効化、有効化された際にメッセージを転送するトピックです。形式: | |
ゲートウェイが検出したサブデバイスデータレポート | トピック | |
デバイストポロジー関係の変更 | サブデバイスとゲートウェイ間のトポロジー関係が作成または削除された際に通知を転送するトピックです。このトピックはゲートウェイ専用です。形式:/${productKey}/${deviceName}/thing/topo/lifecycle。 | |
デバイスはトピック | ||
デバイスタグ変更 | デバイスタグ更新を転送するトピックは | |
デバイスは以下のトピックを使用して生データを送信します: | ||
TSL 履歴データレポート | 以下を含みます:
| |
| ||
ファームウェアアップデートのデバイスステータス通知 | 以下を含みます:
| |
デバイスは以下のトピックにアップグレードの進捗状況を報告します: | ||
モジュールバージョン番号の送信 | 更新された OTA モジュールバージョンを報告するトピック: | |
デバイスは以下のトピックを使用して OTA モジュールバージョンを報告します: | ||
一括ステータス通知 | IoT Platform は、ファームウェアアップデートの一括処理のステータス変更通知を以下のトピックに公開します: | |
ジョブイベント | 以下のトピックを含みます:
|
デバイスのオンライン・オフラインステータス
トピック:/as/mqtt/status/${productKey}/${deviceName}
このトピックを通じて、デバイスのオンラインまたはオフラインステータスを取得します。
デバイスがオンラインになった場合のデータ形式:
{
"status":"online",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"time":"2018-08-31 15:32:28.205",
"utcTime":"2018-08-31T07:32:28.205Z",
"lastTime":"2018-08-31 15:32:28.195",
"utcLastTime":"2018-08-31T07:32:28.195Z",
"clientIp":"192.0.2.1"
}
デバイスがオフラインになった場合のデータ形式:
{
"status":"offline",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"offlineReasonCode":427,
"productKey":"al12345****",
"deviceName":"deviceName1234",
"time":"2018-08-31 15:32:28.205",
"utcTime":"2018-08-31T07:32:28.205Z",
"lastTime":"2018-08-31 15:32:28.195",
"utcLastTime":"2018-08-31T07:32:28.195Z",
"clientIp":"192.0.2.1"
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
status |
String |
デバイスのステータス。
|
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |
|
offlineReasonCode |
Integer |
デバイスがオフラインになった際に返されるエラーコード。「デバイス動作エラーコード」をご参照ください。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
lastTime |
String |
非推奨。使用されません。 |
|
utcLastTime |
String |
|
|
time |
String |
デバイスがオンラインまたはオフラインになった時刻。 メッセージはオンライン/オフライン時刻順に並んでいません。time 値でソートしてください。 たとえば、以下の 3 つのメッセージを順に受信したとします。
これらの 3 つのメッセージから、デバイスはオフラインになり、その後オンラインになり、再びオフラインになったことがわかります。 |
|
utcTime |
String |
デバイスがオンラインまたはオフラインになった協定世界時 (UTC) 時刻。 |
|
clientIp |
String |
デバイスのパブリック IP アドレス。 |
デバイスプロパティの送信
トピック:/${productKey}/${deviceName}/thing/event/property/post
このトピックを使用して、デバイスが送信したプロパティを取得します。
データ形式:
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"al12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |
|
requestId |
String |
生デバイスメッセージの Id。0 ~ 4294967295 の範囲の数値文字列で、デバイスごとに一意である必要があります。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
gmtCreate |
Long |
データ転送メッセージが生成された時刻。 |
|
deviceType |
String |
デバイスのカテゴリ。 プロダクト作成時に選択したカテゴリです。「プロダクトの作成」または「CreateProduct」をご参照ください。 |
|
items |
Object |
デバイスデータ。 |
|
Power |
String |
プロパティ識別子。プロパティ名については、プロダクトの TSL 説明をご参照ください。 プロパティがカスタムモジュールプロパティの場合、プロパティ識別子は
|
|
Position |
||
|
attribute_8 |
||
|
checkFailedData |
Object |
TSL モデルデータ検証に失敗したデータ。 |
|
value |
TSL で定義 |
プロパティ値。 |
|
time |
Long |
プロパティが報告された時刻。デバイスが報告しなかった場合は、IoT Platform がデータを生成した時刻がデフォルトで使用されます。 |
|
code |
Integer |
データが TSL モデル検証に失敗した際に返されるエラーコード。「デバイスのエラーコード」をご参照ください。 |
|
message |
String |
データが TSL モデル検証に失敗した際に返されるエラーメッセージで、失敗原因と無効なパラメーターを含みます。 |
デバイスイベントの送信
トピック:/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post
このトピックを使用して、デバイスが送信したイベント情報を取得します。
データ形式:
{
"identifier":"BrokenInfo",
"name":"Damage Rate Submission",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"X5eCzh6****",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"gmtCreate":1510799670074,
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
identifier |
String |
イベントの識別子。 イベントがカスタムモジュールイベントの場合、イベント識別子は
|
|
name |
String |
イベントの名前。 |
|
type |
String |
イベントタイプ。イベントタイプについては、プロダクトの TSL 説明をご参照ください。 |
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |
|
requestId |
String |
生デバイスメッセージの Id。0 ~ 4294967295 の範囲の数値文字列で、デバイスごとに一意である必要があります。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
gmtCreate |
Long |
データ転送メッセージが生成された時刻。 |
|
value |
Object |
イベントの出力パラメーター情報。例では、Power および Position の 2 つのパラメーターに関する情報が表示されています。
重要
|
|
checkFailedData |
Object |
TSL モデルデータ検証に失敗したデータ。 イベントの出力パラメーターが検証に失敗した場合、checkFailedData パラメーターは次のようになります。
ここで:
|
|
time |
Long |
イベントが報告された時刻。デバイスが報告しなかった場合は、IoT Platform がデータを生成した時刻がデフォルトで使用されます。 |
デバイスプロパティの一括送信
トピック:/${productKey}/${deviceName}/thing/property/batch/post
このトピックを使用して、デバイスが一括送信したプロパティを取得します。
データ形式:
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"Power": [
{
"value": "on",
"time": 1524448722000
},
{
"value": "off",
"time": 1524448722001
}
],
"WF": [
{
"value": 3,
"time": 1524448722000
},
{
"value": 4,
"time": 1524448722009
}
]
}
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
instanceId |
String |
デバイスが属するインスタンスの ID。 |
|
requestId |
String |
生デバイスメッセージの Id。0 ~ 4294967295 の範囲の数値文字列で、デバイスごとに一意である必要があります。 |
|
items |
Object |
デバイスデータ。 |
|
Power |
String |
プロパティ識別子。プロパティ名については、プロダクトの TSL 説明をご参照ください。 プロパティがカスタムモジュールプロパティの場合、プロパティ識別子は
|
|
WF |
||
|
value |
TSL で定義 |
プロパティ値。 |
|
time |
Long |
プロパティが報告された時刻。デバイスが報告しなかった場合は、IoT Platform がデータを生成した時刻がデフォルトで使用されます。 |
デバイスイベントの一括送信
トピック:/${productKey}/${deviceName}/thing/event/batch/post
このトピックを使用して、デバイスが一括送信したイベントを取得します。
データ形式:
{
"productKey": "al12345****",
"deviceName": "deviceName1234",
"instanceId": "iot-0***",
"requestId": "2",
"items": {
"alarmEvent": [
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448722000
},
{
"value": {
"Power": "on",
"WF": "2"
},
"time": 1524448723000
}
]
}
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
instanceId |
String |
デバイスが属するインスタンスの ID。 |
|
requestId |
String |
生デバイスメッセージの Id。0 ~ 4294967295 の範囲の数値文字列で、デバイスごとに一意である必要があります。 |
|
items |
Object |
デバイスデータ。 |
|
alarmEvent |
List |
イベントの識別子。 |
|
value |
Object |
イベントのパラメーター。 上記の例では、Power および WF がイベントのパラメーター名です。 |
|
time |
Long |
イベントが報告された時刻。デバイスが報告しなかった場合は、IoT Platform がデータを生成した時刻がデフォルトで使用されます。 |
デバイスライフサイクルの変更
トピック:/${productKey}/${deviceName}/thing/lifecycle
このトピックを使用して、デバイスが作成、削除、有効化、無効化された際に生成されるメッセージを受信します。
データ形式:
{
"action": "create|delete|enable|disable",
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "al5eCzh****",
"deviceName": "5gJtxDVeGAkaEztpisjX",
"deviceSecret": "wsde***",
"messageCreateTime": 1510292739881
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
action |
String |
|
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |
|
productKey |
String |
プロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
deviceSecret |
String |
デバイスシークレット。action パラメーターが |
|
messageCreateTime |
Integer |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
デバイストポロジーの変更
トピック:/${productKey}/${deviceName}/thing/topo/lifecycle
このトピックを使用して、サブデバイスとゲートウェイ間のトポロジー関係の追加および削除に関する情報を受信します。
データ形式:
{
"action" : "create|delete|enable|disable",
"gwIotId": "dfaejVQHk6VSLmmBJfrf00107e****",
"gwProductKey": "al5eCzh****",
"gwDeviceName": "deviceName1234",
"devices": [
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "ala4Czh****",
"deviceName": "deviceName1234"
}
],
"messageCreateTime": 1510292739881
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
action |
String |
|
|
gwIotId |
String |
IoT Platform 内でのゲートウェイデバイスの一意な識別子。 |
|
gwProductKey |
String |
ゲートウェイプロダクトの一意な識別子。 |
|
gwDeviceName |
String |
ゲートウェイデバイスの名前。 |
|
devices |
Object |
変更されたサブデバイスのリスト。 |
|
iotId |
String |
IoT Platform 内でのサブデバイスの一意な識別子。 |
|
productKey |
String |
サブデバイスプロダクトの一意な識別子。 |
|
deviceName |
String |
サブデバイスの名前。 |
|
messageCreateTime |
Integer |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
ゲートウェイによるサブデバイスの検出
トピック:/${productKey}/${deviceName}/thing/list/found
一部のシナリオでは、ゲートウェイがサブデバイスを検出し、その情報を報告できます。このトピックを使用して、報告された情報を取得できます。
データ形式:
{
"gwIotId":"dfaew9VQHk6VSLmmBJfrf00107e****",
"gwProductKey":"al12345****",
"gwDeviceName":"deviceName1234",
"devices":[
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"alr56g9****",
"deviceName":"deviceName1234"
}
]
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
gwIotId |
String |
IoT Platform 内でのゲートウェイデバイスの一意な識別子。 |
|
gwProductKey |
String |
ゲートウェイプロダクトの一意な識別子。 |
|
gwDeviceName |
String |
ゲートウェイデバイスの名前。 |
|
devices |
Object |
検出されたサブデバイスのリスト。 |
|
iotId |
String |
IoT Platform 内でのサブデバイスの一意な識別子。 |
|
productKey |
String |
サブデバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
サブデバイスの名前。 |
ダウンストリームコマンドの結果
トピック:/${productKey}/${deviceName}/thing/downlink/reply/message
デバイスが非同期プロパティ設定およびサービス呼び出しコマンドを処理した後に返される結果を取得します。コマンド送信時にエラーが発生した場合、このトピックはエラーメッセージも返します。
データ形式:
{
"gmtCreate":1510292739881,
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"productKey":"al12355****",
"deviceName":"deviceName1234",
"requestId":"2",
"code":200,
"message":"success",
"topic":"/sys/al12355****/deviceName1234/thing/service/property/set",
"data":{},
"checkFailedData":{
"value": {
"PicID": "15194139"
},
"code":6304,
"message":"tsl parse: params not exist -> PicID"
}
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
gmtCreate |
Long |
UTC タイムスタンプ。 |
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
requestId |
String |
生デバイスメッセージの Id。0 ~ 4294967295 の範囲の数値文字列で、デバイスごとに一意である必要があります。 |
|
code |
Integer |
デバイスが返す結果コード。「結果コード」表をご参照ください。 |
|
message |
String |
デバイスが返す結果コード情報。 |
|
topic |
String |
デバイスにコマンドを送信するために使用されたトピックに関する情報。 |
|
data |
Object |
デバイスが返す結果。Alink 形式データの場合、デバイス処理結果がそのまま返されます。パススルー形式データの場合、スクリプトによる変換が必要です。 |
|
checkFailedData |
Object |
TSL モデルデータ検証に失敗したデータ。 |
|
value |
TSL で定義 |
TSL モデルデータ検証に失敗したプロパティ値またはサービスパラメーター値。 上記の例では、PicID が検証に失敗したパラメーターの名前です。 |
|
code |
Integer |
データが TSL モデル検証に失敗した際に返されるエラーコード。「デバイスのエラーコード」をご参照ください。 |
|
message |
String |
データが TSL モデル検証に失敗した際に返されるエラーメッセージで、失敗原因と無効なパラメーターを含みます。 |
|
code |
message |
説明 |
|
200 |
success |
リクエストが成功しました。 |
|
400 |
request error |
処理中に内部サービスエラーが発生しました。 |
|
460 |
request parameter error |
リクエストパラメーターが無効です。デバイスが入力パラメーターの検証に失敗しました。 |
|
429 |
too many requests |
リクエストが頻繁すぎます。 |
|
9200 |
device not actived |
デバイスがアクティブ化されていません。 |
|
9201 |
device offline |
デバイスがオフラインです。 |
|
403 |
request forbidden |
支払い遅延によりリクエストが禁止されています。 |
これらのエラーを解決するには、「デバイスのエラーコード」をご参照ください。
履歴プロパティの送信
トピック:/${productKey}/${deviceName}/thing/event/property/history/post
このトピックを使用して、デバイスが送信した TSL モデルの履歴プロパティデータを取得します。
データ形式:
{
"iotId":"4z819VQHk6VSLmmBJfrf00107e****",
"requestId":"2",
"productKey":"12345****",
"deviceName":"deviceName1234",
"gmtCreate":1510799670074,
"deviceType":"Ammeter",
"items":{
"Power":{
"value":"on",
"time":1510799670074
},
"Position":{
"time":1510292697470,
"value":{
"latitude":39.9,
"longitude":116.38
}
}
},
"checkFailedData":{
"attribute_8":{
"time": 1510292697470,
"value": 715665571,
"code":6304,
"message":"tsl parse: params not exist -> attribute_8"
}
}
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |
|
requestId |
String |
生デバイスメッセージの Id。0 ~ 4294967295 の範囲の数値文字列で、デバイスごとに一意である必要があります。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
gmtCreate |
Long |
データ転送メッセージが生成された時刻。 |
|
deviceType |
String |
デバイスのカテゴリ。 プロダクト作成時に選択したカテゴリです。「プロダクトの作成」または「CreateProduct」をご参照ください。 |
|
items |
Object |
デバイスデータ。 |
|
Power |
String |
プロパティ識別子。プロパティ名については、プロダクトの TSL 説明をご参照ください。 プロパティがカスタムモジュールプロパティの場合、プロパティ識別子は
|
|
Position |
||
|
attribute_8 |
||
|
checkFailedData |
Object |
TSL モデルデータ検証に失敗したデータ。 |
|
value |
TSL で定義 |
プロパティ値。 |
|
time |
Long |
プロパティが報告された時刻。デバイスが報告しなかった場合は、IoT Platform がデータを生成した時刻がデフォルトで使用されます。 |
|
code |
Integer |
データが TSL モデル検証に失敗した際に返されるエラーコード。「デバイスのエラーコード」をご参照ください。 |
|
message |
String |
データが TSL モデル検証に失敗した際に返されるエラーメッセージで、失敗原因と無効なパラメーターを含みます。 |
履歴イベントの送信
トピック:/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post
このトピックを使用して、デバイスが送信した履歴イベントデータを取得します。
データ形式:
{
"identifier":"BrokenInfo",
"name":"Damage Rate Submission",
"type":"info",
"iotId":"4z819VQHk6VSLmmBJfrf00107e***",
"requestId":"2",
"productKey":"X5eCzh6***",
"deviceName":"5gJtxDVeGAkaEztpisjX",
"value":{
"Power":"on",
"Position":{
"latitude":39.9,
"longitude":116.38
}
},
"checkFailedData":{},
"time":1510799670074
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
identifier |
String |
イベントの識別子。 イベントがカスタムモジュールイベントの場合、イベント識別子は
|
|
name |
String |
イベントの名前。 |
|
type |
String |
イベントタイプ。イベントタイプについては、プロダクトの TSL 説明をご参照ください。 |
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |
|
requestId |
String |
生デバイスメッセージの Id。0 ~ 4294967295 の範囲の数値文字列で、デバイスごとに一意である必要があります。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
gmtCreate |
Long |
データ転送メッセージが生成された時刻。 |
|
value |
Object |
イベントの出力パラメーター情報。例では、Power および Position の 2 つのパラメーターに関する情報が表示されています。
重要
|
|
checkFailedData |
Object |
TSL モデルデータ検証に失敗したデータ。 イベントの出力パラメーターが検証に失敗した場合、checkFailedData パラメーターは次のようになります。
内訳:
|
|
time |
Long |
イベントが報告された時刻。デバイスが報告しなかった場合は、IoT Platform がデータを生成した時刻がデフォルトで使用されます。 |
ファームウェアアップデートのステータス通知
トピック:/${productKey}/${deviceName}/ota/upgrade
デバイスのアップデートが成功または失敗したことを示すファームウェアアップデートステータスメッセージを受信します。
デバイスに未完了のアップデートタスクがある場合に一括更新を開始すると、一括更新は失敗します。この場合、IoT Platform は失敗メッセージを転送しません。
データ形式:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName": "default",
"status": "SUCCEEDED|FAILED|CANCELED",
"messageCreateTime": 1571323748000,
"srcVersion": "1.0.1",
"destVersion": "1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
iotId |
String |
デバイスの一意な識別子。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
moduleName |
String |
OTA モジュールの名前。 |
|
status |
String |
アップデートステータス。
|
|
messageCreateTime |
Long |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
|
srcVersion |
String |
アップデート前のバージョン。 |
|
destVersion |
String |
アップデートの送信先バージョン。 |
|
desc |
String |
アップデートステータスの説明。 |
|
jobId |
String |
アップデート一括処理 ID。アップデート一括処理を一意に識別します。 |
|
taskId |
String |
デバイスアップデートレコードの一意な識別子。 |
ファームウェアアップデートの進捗通知
トピック:/${productKey}/${deviceName}/ota/progress/post
このトピックを使用して、ファームウェアアップデートの進捗メッセージを取得します。
データ形式:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"moduleName":"default",
"status":"IN_PROGRESS",
"step": "90",
"messageCreateTime": 1571323748000,
"srcVersion":"1.0.1",
"destVersion":"1.0.2",
"desc": "success",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"taskId": "y3tOmCDNgpR8F9jnVEzC01****"
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
iotId |
String |
デバイスの一意な識別子。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
moduleName |
String |
OTA モジュールの名前。 |
|
status |
String |
アップデートステータス。値は |
|
step |
Integer |
デバイスが報告するアップデートの進捗状況。 |
|
messageCreateTime |
Long |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
|
srcVersion |
String |
アップデート前のバージョン。 |
|
destVersion |
String |
アップデートの送信先バージョン。 |
|
desc |
String |
アップデートステータスの説明。 |
|
jobId |
String |
アップデート一括処理 ID。アップデート一括処理を一意に識別します。 |
|
taskId |
String |
デバイスアップデートレコードの一意な識別子。 |
OTA モジュールバージョン変更通知
トピック:/${productKey}/${deviceName}/ota/version/post
このトピックを使用して、デバイスが報告する OTA モジュールバージョン番号を取得します。デバイスが新しい OTA モジュールバージョン番号を報告すると、メッセージが転送されます。
データ形式:
{
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"deviceName": "deviceName1234",
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"moduleVersion": "1.0.3",
"messageCreateTime": 1571323748000
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
iotId |
String |
デバイスの一意な識別子。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
moduleName |
String |
モジュールの名前。 |
|
moduleVersion |
String |
モジュールのバージョン番号。 |
|
messageCreateTime |
Long |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
ファームウェアアップデート一括処理のステータス通知
トピック:/${productKey}/${packageId}/${jobId}/ota/job/status
このトピックを使用して、ファームウェアアップデート一括処理のステータス変更メッセージを取得します。
データ形式:
{
"productKey": "X5eCzh6****",
"moduleName": "BarcodeScanner",
"packageId": "wahVIzGkCMuAUE2***",
"jobId": "wahVIzGkCMuAUE2gDERM02****",
"state": "IN_PROGRESS",
"messageCreateTime": 1571323748000
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
moduleName |
String |
モジュールの名前。 |
|
packageId |
String |
アップデートパッケージの ID です。このパラメーターの値は、アップデートパッケージを作成するために CreateOTAFirmware 操作を呼び出した際に返される FirmwareId パラメーターの値と同じです。 |
|
jobId |
String |
アップデート一括処理 ID。アップデート一括処理を一意に識別します。 |
|
state |
String |
アップデート一括処理のステータス。有効な値:
|
|
messageCreateTime |
Long |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
デバイスタグの変更
トピック:/${productKey}/${deviceName}/thing/deviceinfo/update
このトピックを使用して、デバイスタグの変更に関する情報を取得します。
データ形式:
{
"action": "UPDATE|DELETE|DELETEALL"
"iotId": "4z819VQHk6VSLmmBJfrf00107e****",
"productKey": "X5eCzh6****",
"deviceName": "deviceName1234",
"deletedAttrKeyList": ["abc", "def", "rng"],
"value": [
{
"attrKey": "tagKey",
"attrValue": "tagValue"
}
],
"messageCreateTime": 1510799670074
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
action |
String |
タグ変更のタイプ。有効な値:
|
|
iotId |
String |
デバイスの一意な識別子。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
deletedAttrKeyList |
List |
削除されたタグのキーのリスト。 action パラメーターが DELETE に設定されている場合にのみ、このパラメーターが表示されます。 |
|
value |
List |
タグデータ。 |
|
attrKey |
String |
タグキー。 |
|
attrValue |
String |
タグ値。 |
|
messageCreateTime |
Long |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
デバイスジョブステータス通知
トピック:/sys/uid/${uid}/job/${jobId}/lifecycle
このトピックを使用して、デバイスジョブのステータス変更メッセージを受信します。デバイスジョブには、一括プロパティ設定ジョブ、一括サービス呼び出しジョブ、カスタムジョブが含まれます。
トピック内の ${uid} は、お客様の Alibaba Cloud アカウント ID です。ID を確認するには、IoT Platform コンソール にログインし、プロフィール画像をクリックして セキュリティ設定 ページに移動してください。
データ形式:
{
"jobId": "4z819VQHk6VSLmm***ee200",
"jobType": "CUSTOM_JOB",
"status": "INITIALIZING",
"messageCreateTime": 1510292739881
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
jobId |
String |
ジョブ ID。ジョブの一意な識別子。 |
|
jobType |
String |
ジョブタイプ。
|
|
status |
String |
ジョブステータス。有効な値:
|
|
messageCreateTime |
Long |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
インスタンス移行ジョブステータス通知
トピック:/sys/uid/{uid}/distribution/{jobId}/lifecycle
このトピックを使用して、インスタンス移行ジョブのステータス変更メッセージを取得します。
トピック内の ${uid} は、お客様の Alibaba Cloud アカウント ID です。アカウント ID を確認するには、IoT Platform コンソール にログインし、プロフィール画像にマウスポインターを合わせて アカウント ID を確認してください。
データ形式:
{
"jobId": "4z819VQHk6VSLmmxxxxxxxxxxee200",
"status": "GRAY_EXECUTING",
"messageCreateTime": 1510292739881,
"type":"INSTANCE_UPGRADE",
"sourceInstance":"iotx-oxssharez200",
"targetInstance":"iot-es5v4***",
"successDevices":[
{
"productKey":"al12***",
"deviceName":"deviceName1",
"iotId":"4z81frf00107e***"
}
]
}
パラメーターの説明:
|
パラメーター |
タイプ |
説明 |
|
jobId |
String |
ジョブ ID。ジョブの一意な識別子。 |
|
status |
String |
ジョブステータス。有効な値:
|
|
messageCreateTime |
Long |
メッセージが生成されたタイムスタンプ。単位:ミリ秒。 |
|
type |
String |
ジョブタイプ。値は |
|
sourceInstance |
String |
インスタンス移行のソースパブリックインスタンスの ID。旧バージョンのパブリックインスタンスの ID は インスタンスの詳細については、「インスタンスの概要」をご参照ください。 |
|
targetInstance |
String |
インスタンス移行の送信先エンタープライズインスタンスの ID。 |
|
successDevices |
List |
正常に移行されたデバイスに関する情報:
移行プロセス中に successDevices パラメーターが空になることがあります。これは、ジョブステータスが変更されジョブが開始されたものの、まだデバイスが移行されていないことを示しています。 |
|
productKey |
String |
デバイスが属するプロダクトの一意な識別子。 |
|
deviceName |
String |
デバイスの名前。 |
|
iotId |
String |
IoT Platform 内でのデバイスの一意な識別子。 |