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