Link SDK は、IoT Platformが提供するデバイス側のソフトウェア開発キットです。 SDKは開発プロセスを簡素化し、デバイスがIoT Platformに接続できるようにします。 デバイスメーカーがSDKを取得した後、ビジネス要件に基づいてコードを移植できます。 これにより、デバイスメーカーはLink SDKをデバイスに統合し、デバイスをIoT Platformに接続できます。
前提条件
SDKを開発する前に、IoT Platformコンソールで必要な操作を実行して、デバイスとトピックに関する必要な情報を取得する必要があります。 詳細については、「デバイス接続の概要」をご参照ください。
背景情報
多数の異種デバイスがIoT Platformに接続できます。 IoT Platformは、デバイス側開発用のLink SDKと標準Alinkプロトコルを提供します。
Alinkプロトコルの使用方法の詳細については、「Alinkプロトコルに基づくデバイスの構成」をご参照ください。
デバイスを迅速に開発してIoT Platformに接続するには、Link SDKを使用することを推奨します。 次の図は、Link SDKを使用してデバイスを開発するプロセスを示しています。
関連用語の詳細については、「terms」をご参照ください。
リンクSDKの統合
Link SDKを統合する方法は、デバイスタイプによって異なります。
IPデバイス: Wi-Fiデバイスなど、TCP/IPプロトコルをサポートするデバイス。 このタイプのデバイスは、Link SDKと直接統合できます。
非IPデバイス: ZigBee、BT、KNX、ModBusデバイスなど、TCP/IPプロトコルをサポートしていないデバイスを示します。 このタイプのデバイスは、Link SDKと統合されたゲートウェイを使用してのみIoT Platformに接続できます。 ゲートウェイとそのサブデバイス間のカスタム通信方法を設定できます。 Link SDK For Cを設定してサブデバイスをIoT Platformに接続する方法の詳細については、「ゲートウェイとサブデバイスの概要」をご参照ください。

リンクSDKのタイプの選択
リンクSDKは、C、Java、Python、Node.js、Android、iOSなどの複数のプログラミング言語をサポートしています。 製品に基づいて適切な言語のSDKを選択できます。
SDK | シナリオ | 構成参照 | 例 |
リンクSDK for C | Cでプログラムされたリソース制約のある組み込みデバイス | ||
Android用リンクSDK | Androidデバイス | デバイスの確認と接続 | |
Python用リンクSDK | SDKはPythonでプログラムされたデバイスに適していますが、Pythonでの軽いアプリケーション開発には適用できません。 | デバイスの確認と接続 | |
Java用リンクSDK | Javaでプログラムされたデバイス | デバイスの確認と接続 | |
iOS用リンクSDK | iOSデバイス | デバイスの確認と接続 |
他のプログラミング言語にLink SDKを使用する場合は、 チケットを起票してください。
一般的なオープンソースMQTTライブラリには、paho.mqtt.c、paho.mqtt.embedded-c、paho.mqtt.android、paho.mqtt.pythonがあります。
ポートリンクSDK
Link SDK for Cを組み込みデバイスに移植する必要があります。 他のタイプのリンクSDKは、デバイスに直接統合することができる。
IoT Platformに接続するデバイスの要件に基づいて、カスタムLink SDK for Cを設定できます。 IoT PlatformコンソールでLink SDK For Cを設定する方法の詳細については、「SDKの取得」をご参照ください。
Link SDK for CはC99でコンパイルされます。 SDKのシステムインターフェイスの実装は、ハードウェア環境によって異なります。 SDKを環境に移植する必要がある場合があります。 SDKを移植する方法の詳細については、「Link SDK For Cを移植する方法の例」をご参照ください。
デフォルトでは、Link SDK for CはLinuxベースのPortable Operating System Interface (POSIX) を使用します。 SDKを移植する必要なしに、SDKをLinuxデバイスに直接統合できます。
ハードウェア環境 | オペレーティングシステム | 説明 | 参考情報 |
PCまたはシステムオンチップ (SoC) | Linux | 組み込みデバイスにはクロスコンパイルが必要です。 | |
Windows | サンプル実装はありません。 SDKを移植する必要があります。 | ||
OpenCPUモジュール | リアルタイムオペレーティングシステム (RTOS) | Espressif IoT Development Framework (ESP-IDF) に基づいてLink SDKを統合できます。 |
デバイス開発における接続とメッセージング機能の構成
IoT Platformは、さまざまなデバイスが接続に使用できる複数のプロトコルとデバイス検証方法をサポートしています。 次の表に、デバイス接続ソリューションを示します。
機能 | 説明 | 参考情報 |
マルチプロトコル接続 | IoT Platformは、MQTT (Message Queuing Telemetry Transport) 、CoAP (Constrained Application Protocol) 、HTTPなどのプロトコルを介したデバイス接続をサポートしています。 ほとんどのデバイスはMQTTプロトコルを使用します。 | |
デバイスごとの一意の証明書検証 | 各デバイスは、個別の資格情報を使用して検証されます。 | |
製品ごとの一意の証明書検証 | 同じ製品に属するデバイスを検証するために、同じ資格情報が使用されます。 これにより、デバイスに資格情報を書き込む操作が簡単になります。 説明 デバイスごとに固有の証明書検証と製品ごとに固有の証明書検証を併用できます。 デバイスがIoT Platformに初めて接続したときにデバイス固有の資格情報を取得するために、製品ごとに固有の証明書検証を使用できます。 | |
X.509証明書ベースの検証 | 各デバイスには個別の証明書があり、Transport Layer Security (TLS) プロトコルを使用するとデバイスを検証できます。 これにより、セキュリティが向上する。 | |
ゲートウェイとサブデバイス | ゲートウェイは、サブデバイスがIoT Platformに接続するためのプロキシとして機能します。 サブデバイスがIoT Platformに接続した後、サブデバイスは独自のトピックを使用してIoT Platformと通信できます。 |
デバイス開発におけるビジネス機能の構成
デバイスがIoT Platformに接続した後、デバイスはIoT Platformを使用してメッセージを送受信できます。 デバイスは、次のいずれかの方法を使用して、ビジネスデータをIoT Platformに送信できます。
カスタムトピック: カスタムトピックとメッセージペイロードを定義できます。 詳細については、「通信にカスタムトピックを使用する」をご参照ください。
Thing Specification Language (TSL) モデル: TSLモデルに基づいて、デバイスのプロパティ、イベント、およびサービスを定義、送信、および配信できます。 詳細については、「TSLモデルとは」をご参照ください。 TSLモデルを通信に使用します。 TSLモデルはIoT Platformの主要な機能であり、次の利点があります。
構造化データストレージ: その後のデータ開発プロセスを簡素化します。
キャッシュされたデバイスのステータスとデータ (デバイスシャドウ): デバイスまたはサーバーは、いつでもデバイスのステータスとデータを照会できます。
データの視覚化: IoT Platformコンソールでデバイスデータを表示できます。
オンラインデバッグ: デバイスをオンラインでデバッグできます。
デバイス開発におけるO&M機能の設定
デバイスのビジネス機能を構成した後にデバイスを大量生産する予定の場合は、その後のデバイスのイテレーション、構成、およびトラブルシューティングのために運用および保守 (O&M) 機能を構成することを推奨します。 次の表に、IoT Platformによって提供されるO&M機能を示します。
機能 | 説明 | 参考情報 |
無線 (OTA) アップデート | デバイスファームウェアのリモートアップグレードをサポートします。 | |
ログの例外報告: | デバイスがIoT Platformにログを送信できるようにします。 ログに基づいてデバイスをトラブルシューティングできます。 | |
リモート設定 | リモートデバイス設定をサポートします。 | |
ネットワークタイムプロトコル (NTP) サービス | サーバー時刻をデバイスに同期します。 |