天氣信息控制加濕器開(kāi)關(guān)
本示例的服務(wù)將根據(jù)天氣預(yù)報(bào)中的濕度信息,決定加濕器是否開(kāi)啟。如果濕度≤30%則開(kāi)啟,否則不開(kāi)啟。
前提條件
已在阿里云的云市場(chǎng)購(gòu)買(mǎi)天氣查詢(xún)API。
已完成創(chuàng)建項(xiàng)目。具體操作,請(qǐng)參見(jiàn)項(xiàng)目。
步驟一:創(chuàng)建產(chǎn)品與設(shè)備
登錄物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)控制臺(tái),在頁(yè)面左上角選擇對(duì)應(yīng)實(shí)例后,在左側(cè)導(dǎo)航欄單擊項(xiàng)目管理。
您也可登錄物聯(lián)網(wǎng)平臺(tái)控制臺(tái),在左側(cè)導(dǎo)航欄選擇增值服務(wù),單擊選購(gòu)增值服務(wù)中的前往查看服務(wù),在增值服務(wù)中心,單擊IoT Studio區(qū)域的立即試用,進(jìn)入IoT Studio控制臺(tái)。
說(shuō)明該服務(wù)公測(cè)版即將下線(xiàn),如需使用請(qǐng)購(gòu)買(mǎi)該產(chǎn)品。
單擊項(xiàng)目卡片,進(jìn)入項(xiàng)目詳情主頁(yè),單擊左側(cè)導(dǎo)航欄的產(chǎn)品。
在產(chǎn)品頁(yè)面,單擊產(chǎn)品列表左上方的創(chuàng)建產(chǎn)品。
在創(chuàng)建產(chǎn)品頁(yè)面,配置參數(shù),并單擊確認(rèn),如下圖所示。
說(shuō)明如果您已在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)創(chuàng)建了相關(guān)產(chǎn)品和設(shè)備,單擊關(guān)聯(lián)物聯(lián)網(wǎng)平臺(tái)產(chǎn)品,將產(chǎn)品與該項(xiàng)目關(guān)聯(lián)即可。
產(chǎn)品創(chuàng)建成功后,回到產(chǎn)品頁(yè)面,在產(chǎn)品列表中,單擊目標(biāo)產(chǎn)品對(duì)應(yīng)的查看。
在產(chǎn)品詳情頁(yè)面,單擊功能定義頁(yè)簽,再單擊編輯草稿,選擇添加自定義功能,自定義一個(gè)布爾值開(kāi)關(guān)屬性,單擊確認(rèn),如下圖所示。
物模型添加完成后,單擊頁(yè)面左下方的發(fā)布上線(xiàn)按鈕,彈出發(fā)布物模型上線(xiàn)對(duì)話(huà)框。
選中確認(rèn)已查看當(dāng)前版本與線(xiàn)上版本的比對(duì)結(jié)果復(fù)選框。
單擊確定,發(fā)布物模型。
在項(xiàng)目詳情頁(yè),單擊左側(cè)導(dǎo)航欄的設(shè)備。
單擊添加設(shè)備,添加智能加濕器設(shè)備,如圖所示。
步驟二:創(chuàng)建業(yè)務(wù)服務(wù)
在項(xiàng)目的主頁(yè)選擇業(yè)務(wù)邏輯頁(yè)簽,單擊新建并選擇新建,創(chuàng)建一個(gè)業(yè)務(wù)服務(wù)。
在業(yè)務(wù)邏輯開(kāi)發(fā)頁(yè),單擊左側(cè)的節(jié)點(diǎn)按鈕,拖拽一個(gè)HTTP請(qǐng)求節(jié)點(diǎn)到畫(huà)布上,為節(jié)點(diǎn)做如下配置。
參數(shù)
說(shuō)明
節(jié)點(diǎn)名稱(chēng)
輸入節(jié)點(diǎn)名稱(chēng)。
Action
調(diào)用API時(shí),參數(shù)Action的值。本示例中,設(shè)置為QueryWeather。
新增參數(shù)
設(shè)置調(diào)用API時(shí)的入?yún)ⅰ1臼纠校O(shè)置了一個(gè)必填入?yún)?span data-tag="parmname" id="parmname-vfy-5qt-c8i" class="parmname">cityId,類(lèi)型為String。
拖拽一個(gè)云市場(chǎng)API節(jié)點(diǎn)到畫(huà)布上,將HTTP請(qǐng)求節(jié)點(diǎn)與該節(jié)點(diǎn)相連,并配置該節(jié)點(diǎn)。
本示例中,在云市場(chǎng)購(gòu)買(mǎi)的天氣查詢(xún)API是免費(fèi)版氣象服務(wù)(cityId)-墨跡天氣。
參數(shù)
說(shuō)明
節(jié)點(diǎn)名稱(chēng)
輸入節(jié)點(diǎn)名稱(chēng)。
請(qǐng)求方式
在云市場(chǎng)該API購(gòu)買(mǎi)頁(yè),查看請(qǐng)求方式。本示例中,購(gòu)買(mǎi)的API的請(qǐng)求方式為POST。
調(diào)用地址
在云市場(chǎng)該API購(gòu)買(mǎi)頁(yè),查看該API的調(diào)用地址。
APPCODE
在云市場(chǎng)控制臺(tái),已購(gòu)買(mǎi)的服務(wù)頁(yè)列表中,查看已購(gòu)買(mǎi)API的AppCode。
編碼
選擇編碼方式。
設(shè)置請(qǐng)求頭
根據(jù)對(duì)應(yīng)接口的Header要求設(shè)置API的請(qǐng)求頭。
參數(shù)填寫(xiě)
根據(jù)云市場(chǎng)該API購(gòu)買(mǎi)頁(yè)的請(qǐng)求參數(shù)說(shuō)明,填入請(qǐng)求參數(shù)。本示例中,需填入兩個(gè)參數(shù):
cityId:城市ID,可填入:
靜態(tài)參數(shù),即填入一個(gè)固定值,如
"cityId":"20"
。參數(shù)取值,可參見(jiàn)墨跡天氣購(gòu)買(mǎi)頁(yè)提供的“cityid對(duì)照表”。動(dòng)態(tài)參數(shù),可填入
"cityId":"{{query.cityId}}"
,該結(jié)構(gòu)是把API的入?yún)⒆鳛樽訉?duì)象。
token:請(qǐng)?jiān)?a class="" target="_blank" >阿里云API網(wǎng)關(guān)控制臺(tái),選擇 ,選擇地域?yàn)槿A北2(北京),在購(gòu)買(mǎi)的API詳情中查看。具體的token查看步驟說(shuō)明,請(qǐng)參見(jiàn)墨跡天氣購(gòu)買(mǎi)頁(yè)提供的“token查詢(xún)方式”。
配置一個(gè)臨時(shí)HTTP返回節(jié)點(diǎn),用于調(diào)試、查看天氣API的返回?cái)?shù)據(jù)結(jié)構(gòu)。
因后續(xù)路徑節(jié)點(diǎn)配置中,需調(diào)用濕度值,但天氣API的返回?cái)?shù)據(jù)結(jié)構(gòu)未知,所以可以先配置一個(gè)HTTP返回節(jié)點(diǎn),并進(jìn)行部署、調(diào)試。在調(diào)試結(jié)果日志中,查看返回?cái)?shù)據(jù)結(jié)構(gòu)。
配置一個(gè)HTTP返回節(jié)點(diǎn),輸出選擇為上一節(jié)點(diǎn)(payload)。
單擊部署調(diào)試按鈕,部署服務(wù)。
部署成功后,再次單擊部署調(diào)試按鈕,輸入一個(gè)cityId值,如20,進(jìn)行調(diào)試。
可在API調(diào)用結(jié)果或HTTP返回節(jié)點(diǎn)的節(jié)點(diǎn)日志下,查看返回結(jié)果數(shù)據(jù)。
返回?cái)?shù)據(jù)結(jié)構(gòu)顯示,humidity在data下的condition下。因此,路徑配置中,需使用
data.condition.humidity
調(diào)用天氣API的返回結(jié)果中的濕度值。調(diào)試成功后,刪除該HTTP返回節(jié)點(diǎn)。
配置一個(gè)路徑選擇節(jié)點(diǎn),與云市場(chǎng)API節(jié)點(diǎn)相連。
參數(shù)
說(shuō)明
節(jié)點(diǎn)名稱(chēng)
輸入節(jié)點(diǎn)名稱(chēng)。
數(shù)據(jù)源
選擇數(shù)據(jù)源為云市場(chǎng)API節(jié)點(diǎn)。
輸入變量為:上一步調(diào)試后,查看到的濕度值所在位置data.condition.humidity。
新增路徑
本示例中,只需配置兩個(gè)路徑,因此需刪除第三條路徑。
路徑配置:
路徑1:≤30。
路徑2:>30。
從左側(cè)設(shè)備頁(yè)簽下,拖拽一個(gè)智能加濕器設(shè)備節(jié)點(diǎn)到畫(huà)布上,與路徑1相連。配置如下:
參數(shù)
說(shuō)明
節(jié)點(diǎn)名稱(chēng)
輸入節(jié)點(diǎn)名稱(chēng)。
選擇要控制的設(shè)備
選擇該產(chǎn)品下的一個(gè)設(shè)備。
選擇操作類(lèi)型
選擇為設(shè)備動(dòng)作執(zhí)行。
下發(fā)數(shù)據(jù)
勾選屬性,設(shè)置電源開(kāi)關(guān)值為true,即開(kāi)啟加濕器。
再配置一個(gè)智能加濕器,與路徑2相連。
該節(jié)點(diǎn)配置,設(shè)備與上一步選擇一致,需將電源開(kāi)關(guān)設(shè)置為false,即關(guān)閉加濕器。
分別為兩個(gè)設(shè)備節(jié)點(diǎn)配置HTTP返回節(jié)點(diǎn)。輸出均設(shè)置為上一節(jié)點(diǎn)(payload)。
單擊頁(yè)面右上角保存按鈕,保存設(shè)置。
步驟三:調(diào)試與發(fā)布
在業(yè)務(wù)服務(wù)編輯頁(yè)面,單擊右上方的部署調(diào)試按鈕,部署服務(wù)。
部署完成后,再次單擊部署調(diào)試按鈕,輸入一個(gè)cityId值,單擊開(kāi)始調(diào)試。
全局日志顯示當(dāng)前濕度為11,所以服務(wù)執(zhí)行了路徑1,開(kāi)啟加濕器。
單擊部署調(diào)試右側(cè)的發(fā)布按鈕,發(fā)布該服務(wù)。
業(yè)務(wù)需要發(fā)布到云端,才能被調(diào)用。
執(zhí)行結(jié)果
該服務(wù)創(chuàng)建的API,可以用于Web可視化開(kāi)發(fā)。
可右鍵單擊服務(wù)名稱(chēng),選擇服務(wù)調(diào)用幫助,查看服務(wù)調(diào)用詳情。