デバイス側の開発のために、Link SDK for C を入手して使用します。
SDK の入手
ダウンロードリンク: C SDK 4.x
SDK v4.x の API は、v3.x および v2.x ブランチの API と互換性がありません。v3.x または v2.x ブランチを使用して製品を開発している場合は、引き続きそれらのブランチを使用してください。
機能
SDK v4.x は次の機能をサポートします。
|
機能モジュール |
説明 |
|
MQTT 接続 |
MQTT 経由でデバイスを IoT Platform に接続し、トピックベースのデータ交換を行います。 |
|
HTTP 接続 |
HTTP 経由でデバイスを IoT Platform に接続し、データをアップロードします。 |
|
デバイス認証 |
|
|
OS 適応 |
次の適応レイヤーを提供します:
その他のオペレーティングシステムの場合は、カスタム適応レイヤーを作成してください。 |
|
モノモデル |
クラウドアプリケーションが、デバイスとプラットフォーム間のデータ形式を知らなくても、モノモデルを通じてデバイスを管理できるようにします。 |
|
OTA |
Over-the-Air (OTA) ファームウェア更新を実行します。SDK はファームウェアの取得のみを行います。フラッシュまたは ROM への書き込みロジックはお客様が実装する必要があります。 |
|
時刻同期 |
IoT Platform から現在時刻を取得します。 |
|
RRPC |
同期リモートプロシージャコール。 |
|
デバイス接続アラート |
接続レイテンシやパケット損失が高い場合にアラートを発します。 |
|
ログレポート |
リアルタイムログのアップロード。 |
|
ブートストラップサービス |
全世界展開のために、起動時にサービスエンドポイントを動的に解決します。 |
|
サブデバイス管理 |
ゲートウェイを介して非 IP デバイスを IoT Platform に接続します。 |
|
デバイス診断 |
異常なデバイス接続と通信レイテンシを検出します。 |
|
デバイスフォレンジック |
デバイスのなりすましを監視します。ホワイトリストなしの動的登録には必須です。 |
HTTP 接続では、IoT Platform からデバイスにデータをプッシュすることはできません。
SDK のビルド
SDK はソースファイルとして提供されます。次のいずれかの方法でコンパイルします:
-
GNU Make でコンパイルします。
-
CMake でコンパイルします。
-
SDK ソースファイルを IDE プロジェクト (Eclipse など) に追加します。
ダウンロードした SDK のディレクトリ構造は次のとおりです:
$ ls -l
total 20
-rwxrwxrwx 1 root root 1067 Apr 26 14:14 ChangeLog.md
drwxrwxrwx 1 root root 4096 Apr 26 14:14 components
drwxrwxrwx 1 root root 4096 Apr 26 14:14 core
drwxrwxrwx 1 root root 4096 Apr 26 14:14 demos
drwxrwxrwx 1 root root 0 Apr 26 14:38 external
-rwxrwxrwx 1 root root 1026 Apr 26 14:14 Makefile
drwxrwxrwx 1 root root 0 Apr 26 14:14 portfiles
[ディレクトリの説明]:
-
ChangeLog.md:各機能モジュールの更新履歴。
-
components:選択した機能モジュールのサブフォルダ。
-
core:SDK のコアコードファイル。
-
demos:さまざまな機能のサンプルコードが含まれています。
-
external:TLS 用のサードパーティ mbedtls ライブラリ。別の TLS ライブラリに置き換えることができます。
-
portfiles:TCP/IP スタックと TLS ライブラリの統合レイヤー。
-
移植時には、demos ディレクトリをビルドシステムから除外してください。他のすべてのディレクトリからソースファイルを追加します。
-
お使いの OS の TCP/IP スタックまたは TLS ライブラリ用のポートが存在しない場合は、portfiles ディレクトリに移植機能を実装してください。
SDK ヘッダーファイル
SDK を初期化するには、LinkSDK/demos ディレクトリのサンプルファイルを使用してください。
次のヘッダーファイルをインクルードします:
#include "aiot_state_api.h"
#include "aiot_sysdep_api.h"
追加で必要なヘッダーファイルについては、各モジュールのプログラミングガイドを参照してください。たとえば、MQTT 通信には、「MQTT アクセスとデータ通信」で指定されているように、aiot_mqtt_api.h ヘッダーファイルが必要です。
次のステップ
SDK の機能を設定し、デバイス側の開発を開始してください。詳細については、「機能」をご参照ください。