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