Alibaba Cloud IoT Platformは、デバイスのプラットフォームへの接続を可能にするデバイスSDKを提供します。 このトピックでは、デバイス接続と無線 (OTA) 更新を設定する方法について説明します。 この例では、IoT Platformが提供するfota_posix_demo.c
サンプルプログラムを使用しています。
使用状況ノート
このトピックでは、共通ユーザーの権限を使用してすべての操作を実行します。 管理者権限を必要とする特定の操作を実行する場合は、sudo
コマンドを実行します。
前提条件
プロダクトとデバイスが作成され、デバイス証明書が取得されます。 デバイス証明書には、ProductKey、DeviceName、およびDeviceSecretが含まれます。 詳細については、「プロダクトの作成」および「デバイスの作成」をご参照ください。
この例では、SDevice1という名前のデバイスが作成されます。
開発環境の準備
このトピックでは、Link SDK for CをLinuxオペレーティングシステムで使用します。 SDKをコンパイルするには、64ビットUbuntu 16.04を使用することを推奨します。
SDKの開発とコンパイルには、次のソフトウェアが必要です。
make (バージョン4.1以降) およびgcc (バージョン5.4.0以降)
次のコマンドを実行して、ソフトウェアをインストールします。
sudo apt-get install -y build-essential make gcc
手順
C SDK 4.xリンクをクリックして、C用のlink SDKを取得します。
コンピューターでパッケージを解凍し、
/LinkSDK/demos/fota_posix_demo.c
のデバイス接続情報を変更します。この例では、SDevice1の情報が追加されています。
char * product_key = "g18 ***"; char * device_name = "SDevice1"; char * device_secret = "cefbebf00 ***"; ... ... char * url = "iot-*** .mqtt.iothub.aliyuncs.com";
パラメーター
例
説明
url
iot-*** .mqtt.iothub.aliyuncs.com
デバイスを接続するエンドポイント。
新しいバージョンのパブリックインスタンスのエンドポイント: [インスタンスの詳細] ページで、右上隅にある [開発設定の表示] をクリックします。 [開発設定] パネルで、エンドポイントを表示します。
旧バージョンのパブリックインスタンスのエンドポイント: エンドポイントの形式は
${YourProductKey}.iot-as-mqtt.${YourRegionI d}.aliyuncs.com
です。
インスタンスの詳細については、「インスタンスのエンドポイントの表示」をご参照ください。
product_key
g18 ***
検証に使用されるデバイス証明書。 詳細については、「デバイス検証情報の取得」をご参照ください。
この例では、デバイス固有証明書検証方法が使用されます。
device_name
SDevice1
device_secret
cefbebf00 ***
fota_posix_demo.c
では、OTA更新を実行するためのサンプルコードが提供されています。 OTA更新前のバージョン番号は1.0.0
です。 実際のビジネスシナリオでは、デバイス設定からバージョン番号を取得し、バージョン番号を送信するロジックを指定する必要があります。 詳細については、「サンプルコード」をご参照ください。cur_version = "1.0.0"; res = aiot_ota_report_version(ota_handle, cur_version); if (res < STATE_SUCCESS) { printf("aiot_ota_report_version failed: -0x % 04X\r\n" 、-res); }
Linux仮想マシンにログインし、次のコマンドを実行して必要なソフトウェアをインストールします。
sudo apt-get install -y build-essential make gcc
ステップ2で変更した
LinkSDK
ファイルを開発環境にアップロードします。SDKルートディレクトリ
/LinkSDK
に移動し、make
コマンドを実行してサンプルコードをコンパイルします。はきれいにする 作る
生成される
fota-posix-demo
ファイルはに保存されます。/出力
ディレクトリ。次のコマンドを実行してデモプログラムを開始します。
. /output/fota-posix-demo
デバイスのログとステータスを表示します。
デバイス接続情報と通知されたバージョン番号を次の図に示します。
IoT Platformコンソールで対応するインスタンスに移動し、左側のナビゲーションウィンドウで を選択し、リストでデバイスを見つけて、ステータスを表示します。 有効 /無効列にオンラインが表示されている場合、デバイスはIoT Platformに接続されています。
次のステップ
ファームウェアファイルをデバイスにプッシュ: IoT PlatformはOTA更新タスクをデバイスに送信します。 次いで、オンラインデバイスは、更新情報を取得し、OTA更新を実行する。