阿里雲物聯網平台提供裝置端SDK,裝置使用SDK與平台建立通訊。本文介紹使用平台提供的範例程式fota_posix_demo.c,類比裝置接入和OTA升級。
使用前必讀
本文操作步驟以普通使用者權限為例。如果您在操作過程中涉及到管理員權限才能執行的操作,可嘗試使用sudo命令執行。
前提條件
已建立產品和裝置,並擷取裝置認證(ProductKey、DeviceName和DeviceSecret)。具體操作,請參見建立產品和建立裝置。
本樣本需要建立一個裝置SDevice1。
準備開發環境
本文使用Linux下的裝置端C語言SDK。該SDK的編譯環境推薦使用64位的Ubuntu16.04。
SDK的開發編譯環境會用到以下軟體:
make(4.1及以上版本)、gcc(5.4.0及以上版本)。
可以使用如下命令列安裝:
sudo apt-get install -y build-essential make gcc
操作步驟
擷取裝置端C語言SDK:C SDK 4.x。
解壓本地的C語言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.${YourRegionId}.aliyuncs.com。
執行個體的更多詳細說明,請參見查看執行個體終端節點。
product_key
g18***裝置認證資訊。更多資訊,請參見擷取裝置認證資訊。
本常式的身份認證方式為一機一密。
device_name
SDevice1device_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檔案,上傳至Linux虛擬機器的開發環境。在SDK根目錄
/LinkSDK下,執行make命令,完成範例程式的編譯。make clean make產生的範例程式
fota-posix-demo存放在./output目錄下。執行以下命令,運行範例程式。
./output/fota-posix-demo查看裝置作業記錄和狀態。
裝置串連資訊和上報版本號碼日誌如下。

返回物聯網平台控制台對應執行個體下,在左側導覽列選擇,找到目標裝置,查看裝置狀態。裝置狀態顯示為線上,則表示裝置與物聯網平台成功串連。

後續步驟
推送OTA升級包到裝置端:物聯網平台下發OTA升級任務到裝置,線上裝置擷取升級資訊,進行OTA升級。