IoT Platformは、デバイスとIoT Platform間の通信プロトコルを含むLink SDKを提供します。 Link SDKを使用してデバイスを開発できます。 ただし、複雑な組み込み環境では、Link SDKがビジネス要件を満たしていない場合があります。 この場合、Alinkプロトコルを介してデバイスとIoT Platform間の接続を確立できます。
概要
Alinkプロトコルは、デバイスとIoT PlatformがJSON形式でデータを効率的に交換できるようにするIoT開発のデータ交換標準です。
IoT Platformは、デバイスの開発に使用できる言語固有のリンクSDKを提供します。 各リンクSDKの機能の詳細については、「リンクSDK」をご参照ください。
次の表に、Alinkプロトコルfor IoT Platformの機能を示します。
表 1 機能機能 | メッセージ形式 |
デバイス接続 | |
メッセージング | |
デバイス管理 | |
モニタリングとO&M | |
次のセクションでは、Alinkプロトコルを使用してデバイスをIoT Platformに接続し、データを転送する方法について説明します。
デバイスのIoTプラットフォームへの接続
IoT Platformに接続できるデバイスは、直接接続されたデバイスとサブデバイスに分類されます。 デバイスをIoT Platformに接続する場合は、次の手順を実行する必要があります。デバイスを認証し、デバイスをIoT Platformに接続してから、IoT Platformにデータを送信します。
直接接続されたデバイスは、次のいずれかの方法を使用してIoT Platformに接続できます。
unique-certificate-per-device 認証を使用する場合は、デバイスでデバイス証明書を書き込み、デバイスをIoT Platformに接続してから、IoT Platformにデータを送信します。 デバイス証明書には、ProductKey、DeviceName、およびDeviceSecretが含まれます。
unique-certificate-per-product 認証 (動的登録) を使用する場合は、デバイスでプロダクト証明書を書き込み、デバイスをIoT Platformに接続してから、IoT Platformにデータを送信します。 プロダクト証明書には、ProductKeyとProductSecretが含まれます。
サブデバイスは、次のいずれかの方法を使用して、ゲートウェイ経由でIoT Platformに接続する必要があります。
unique-certificate-per-device 認証を使用する場合は、サブデバイスでデバイス証明書を書き込みます。 サブデバイスは、証明書情報をゲートウェイに送信する。 ゲートウェイは、トポロジー関係を追加する。 その後、サブデバイスは、ゲートウェイの通信チャネルを使用してIoT Platformにデータを送信できます。
動的登録を使用する場合は、サブデバイスでProductKeyを作成します。 サブデバイスは ProductKey と DeviceName をゲートウェイに送信します。 IoT PlatformはDeviceNameを検証し、DeviceSecretをサブデバイスに送信します。 サブデバイスは取得した ProductKey、DeviceName、DeviceSecret をゲートウェイに送信します。 ゲートウェイは、トポロジー関係を追加する。 その後、サブデバイスは、ゲートウェイの通信チャネルを使用してIoT Platformにデータを送信できます。

デバイスのプロパティまたはイベントの送信
パススルーデータ

いいえ | 説明 |
1 | デバイスは、パススルーデータの送信に使用されるトピックを使用して、パススルーデータをIoT Platformに送信します。 トピックの詳細については、「デバイスのプロパティ、イベント、およびサービス」をご参照ください。 |
1.1 | IoT Platformは、データ解析スクリプトを使用して、デバイスから送信されたデータを解析します。 スクリプトのrawDataToProtocol 関数は、送信されたデータをAlink JSONデータに変換するために呼び出されます。 詳細については、「データ解析とは」をご参照ください。 |
1.2 | IoT PlatformはAlink JSONデータを処理します。 ルールエンジンが設定されている場合、IoT Platformは、指定された転送ルールに基づいて、トピックやクラウドサービスなどの宛先にデータを転送します。 重要 ルールエンジンによって転送されたデータは、データ解析スクリプトを使用して解析される。 データ転送ルールを設定する場合、データソースとしてのTSLデータレポートに次のトピックを指定する必要があります。/${productKey}/${deviceName}/thing/event/property/post および /${productKey}/${deviceName}/thing/event/${tsl.event識別子}/post 。 詳細については、「データ転送ルールの設定」または「データソースの作成」をご参照ください。
|
1.3 | IoT Platformは、データ解析スクリプトのprotocolToRawData 関数を呼び出して、結果データをデバイスが識別できる形式に変換します。 |
1.4 | IoT Platformは、解析されたデータをデバイスに送信します。 |
2 | QueryDevicePropertyData操作を呼び出して送信されたプロパティデータを照会し、QueryDeviceEventData操作を呼び出して送信された履歴イベントデータを照会できます。 |
Alink JSONデータ

いいえ | 説明 |
1 | デバイスは、パススルーデータの送信に使用されるトピックを使用して、Alink JSONデータをIoT Platformに送信します。 詳細については、「デバイスのプロパティ、イベント、およびサービス」をご参照ください。 |
1.1 | IoT Platformは、送信されたデータを処理します。 ルールエンジンが設定されている場合、IoT Platformは、指定された転送ルールに基づいて、トピックやクラウドサービスなどの宛先にデータを転送します。 重要 データ転送ルールを設定する場合、データソースとしてのTSLデータレポートに次のトピックを指定する必要があります。/${productKey}/${deviceName}/thing/event/property/post および /${productKey}/${deviceName}/thing/event/${tsl.event識別子}/post 。 詳細については、「データ転送ルールの設定」または「データソースの作成」をご参照ください。 |
1.2 | IoT Platformはデバイスに応答を返します。 |
2 | QueryDevicePropertyData操作を呼び出して送信されたプロパティデータを照会し、QueryDeviceEventData操作を呼び出して送信された履歴イベントデータを照会できます。 |
デバイスサービスの呼び出しまたはデバイスプロパティの設定
トポロジー関係の追加

いいえ | 説明 |
1 | サブデバイスをゲートウェイに接続します。 サードパーティがトポロジ関係を追加する必要がある場合は、次の手順を実行します。 |
1.1 | ゲートウェイは、/sys/${productKey}/${deviceName}/thing/list/found トピックを使用して、検出されたサブデバイスに関する情報をIoT Platformに送信できます。 ルールエンジンが設定されている場合、IoT Platformは送信されたデータをクラウドサービスなどの宛先に転送します。 |
1.2 | クラウドサービスからサブデバイスのデータを取得できます。 |
1.3 | サブデバイスとゲートウェイの間にトポロジ関係を追加できます。 トポロジ関係を追加する場合は、NotifyAddThingTopoを呼び出してゲートウェイに通知し、/sys/${productKey}/${deviceName}/thing/topo/add/notify トピックを使用してサブデバイスとのトポロジ関係を追加します。 |
2 | |
3 | サブデバイスとのトポロジ関係の削除をゲートウェイに要求できます。 ゲートウェイは、/sys/${productKey}/${deviceName}/thing/topo/delete トピックを使用して、サブデバイスとのトポロジ関係を削除します。 |
4 | GetThingTopo操作を呼び出して、/sys/${productKey}/${deviceName}/thing/topo/get トピックを照会し、ゲートウェイとサブデバイス間のトポロジ関係を取得できます。 |