阿里云物聯網平臺提供設備端SDK,設備使用SDK與平臺建立通信。本文使用平臺提供的樣例程序data_model_basic_demo
,模擬路燈設備進行開發,實現設備與物聯網平臺的通信。
使用前必讀
本文操作步驟以普通用戶權限為例。如果您在操作過程中涉及到管理員權限才能執行的操作,可嘗試使用sudo
命令執行。
準備開發環境
本文使用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。
登錄物聯網平臺控制臺。
在控制臺左上方,選擇物聯網平臺所在地域,然后在實例概覽頁簽,單擊公共實例。
在左側導航欄單擊文檔與工具,然后在設備接入SDK區域的Link SDK下,單擊SDK定制。
按照如下圖所示,定制SDK并下載。
在高級能力下,單擊物模型,其他參數使用默認配置,然后單擊開始生成后,會在本地下載C語言SDK的ZIP文件。
解壓本地的C語言SDK文件,修改SDK中的設備證書信息。
請單擊data_model_basic_demo.c下載
data_model_basic_demo.c
文件,替換掉\LinkSDK\demos
路徑下的data_model_basic_demo.c
文件,然后修改以下參數。char *product_key = "a2***"; char *device_name = "device1"; char *device_secret = "8c684ef***"; ... ... char *mqtt_host = "a2***.iot-as-mqtt.cn-shanghai.aliyuncs.com";
參數
示例
說明
mqtt_host
新版公共實例的示例:
iot-cn-***.mqtt.iothub.aliyuncs.com
舊版公共實例的示例:
a2***.iot-as-mqtt.cn-shanghai.aliyuncs.com
設備的MQTT接入域名。
新版公共實例:在實例詳情頁面單擊右上方的查看開發配置,在開發配置面板查看接入域名。
舊版公共實例:接入域名格式為
${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com
。
實例的更多詳細說明,請參見查看實例終端節點。
product_key
a2***
設備認證信息。即完成添加設備后,您保存至本地的設備證書。
您也可以在物聯網平臺的設備詳情頁查看設備的認證信息。更多信息,請參見獲取設備認證信息。
device_name
device1
device_secret
8c684ef***
登錄Linux虛擬機,執行以下命令,安裝所需軟件。
sudo apt-get install -y build-essential make gcc
將步驟2中已修改完成的
LinkSDK
文件,上傳至Linux虛擬機的開發環境。在SDK根目錄
/LinkSDK
下,執行make
命令,完成樣例程序的編譯。make clean make
生成的樣例程序
data-model-basic-demo
存放在./output
目錄下。運行樣例程序。
./output/data-model-basic-demo
運行成功后,如下圖所示:
登錄物聯網平臺控制臺,進入公共實例頁面,查看設備狀態和運行狀態。
左側導航欄選擇
,找到目標設備,查看設備狀態。設備狀態顯示為在線,則表示設備與物聯網平臺成功連接。單擊設備對應操作欄的查看,進入設備詳情頁面,單擊物模型數據頁簽,然后單擊運行狀態,查看設備的運行狀態。
data_model_basic_demo.c文件中代碼示例,上報了工作電流的值,如下圖所示。