一
千千萬(wàn)萬(wàn)的物聯(lián)網(wǎng)設(shè)備通過(guò)ALink協(xié)議接入到了云端,它們不斷地按照ALink協(xié)議的規(guī)范向云端匯報(bào)數(shù)據(jù),同時(shí)也一直在等待服務(wù)器下發(fā)一些數(shù)據(jù)并處理這些數(shù)據(jù)。關(guān)于物聯(lián)網(wǎng)設(shè)備端如何搞定這些數(shù)據(jù),零妖老哥會(huì)在下一篇文章中以一個(gè)型號(hào)叫做STM32F103的單片機(jī)為例子進(jìn)行硬件電路和程序代碼的詳細(xì)講解,不要說(shuō)你沒(méi)有基礎(chǔ)什么都不懂,你要是沒(méi)有打開(kāi)電腦上網(wǎng)的基礎(chǔ)的話就關(guān)閉這篇文章吧(⊙o⊙ )。
今天這篇文章零妖將告訴你云端怎么調(diào)用設(shè)備的數(shù)據(jù)。調(diào)用設(shè)備數(shù)據(jù),給設(shè)備下發(fā)數(shù)據(jù),獲取設(shè)備當(dāng)前是否在線等等,都是通過(guò)調(diào)用阿里云提供的API(相當(dāng)于一個(gè)子函數(shù),運(yùn)行一下出一個(gè)結(jié)果那種)來(lái)實(shí)現(xiàn)的。我們就以一個(gè)API的使用方法為例子進(jìn)行示范,起一個(gè)拋磚引玉的作用。
二
零妖在上一章介紹了一種方法,在網(wǎng)頁(yè)上顯示了一個(gè)儀表盤(pán),今天就來(lái)嘗試一下將設(shè)備上報(bào)的溫度數(shù)據(jù)顯示到儀表盤(pán)上。
在LinkDevelop平臺(tái)中定義好一個(gè)產(chǎn)品后,你會(huì)得到一個(gè)產(chǎn)品的IoT-TSL(物的描述語(yǔ)言)。在云端看來(lái),設(shè)備無(wú)非就是一串串符合ALink協(xié)議規(guī)范的JSON字符串。零妖老哥當(dāng)初定義物聯(lián)網(wǎng)彈幕器這個(gè)設(shè)備有兩個(gè)屬性,一個(gè)是溫度,一個(gè)是彈幕。
好了,我們的目標(biāo)很明確了,我們要通過(guò)調(diào)用API的方式獲取設(shè)備的一個(gè)屬性,即獲取溫度這個(gè)屬性。請(qǐng)你打開(kāi)這個(gè)網(wǎng)址,找到 物的管理服務(wù) 里面的 獲取物的指定屬性快照數(shù)據(jù) 這個(gè)API的官方幫助文檔。
然后就你就可以看到關(guān)于這個(gè)API的使用方法示例了,其實(shí)很簡(jiǎn)單,只需要修改一下他們例程里面的參數(shù),然后通過(guò)例程上給的方法調(diào)用一下,就可以得到一個(gè)返回值,這個(gè)返回值里面會(huì)有一個(gè)參數(shù)就是我們想得到的溫度屬性的數(shù)值。
三
擼起袖子開(kāi)始抄!復(fù)制,粘貼!注意一下哈,這里面也import了一個(gè)東西,其實(shí)是導(dǎo)入了另外一個(gè)新的組件,名字叫做 @bone/linkdevelop-sdk ,你要自己安裝一下。方法在零妖的上一篇文章中已經(jīng)介紹了,不再說(shuō)了啊。然后我們要修改里面的內(nèi)容。你需要進(jìn)入你的 測(cè)試設(shè)備 這個(gè)頁(yè)面,讀取兩個(gè)參數(shù)如下圖。這里得到的參數(shù)是 ProductKey 和 ProductSecret 。
然后去 功能定義 里看一下溫度屬性的標(biāo)識(shí)符:
最后把上述得到的三個(gè)參數(shù)復(fù)制到代碼里,替換原來(lái)的數(shù)值。
四
上述代碼中有一個(gè)地方是零妖自己琢磨了一會(huì)后發(fā)現(xiàn)的,就是修改儀表盤(pán)顯示數(shù)值的那個(gè)變量。有個(gè)小技巧,先猜測(cè)某個(gè)變量最有可能是對(duì)應(yīng)儀表盤(pán)顯示的,然后修改這個(gè)變量,觀察結(jié)果。(高級(jí)的我真的不懂了,誰(shuí)讓我是半路出家的竟會(huì)些歪門(mén)邪道。)
告訴你一個(gè)很神奇的代碼,能夠提高調(diào)試代碼的效率: console.log(this.Temperature); ,作用是在控制臺(tái)輸出this.Temperature這個(gè)變量的內(nèi)容,你可以修改為任何你想查看的變量。
零妖并不是特別擅長(zhǎng)寫(xiě)“云上”這些代碼,我只是告訴你一種方法來(lái)調(diào)用物的屬性。其實(shí)如果你是專(zhuān)業(yè)的云端工程師,到這里就夠了,你可以去開(kāi)發(fā)你的代碼了,不管你是基于哪個(gè)框架的哪種編程語(yǔ)言的,只要會(huì)調(diào)用API不就行了嗎?
五
最后,打開(kāi)我們的MQTT客戶端,模擬設(shè)備端發(fā)送一個(gè)數(shù)據(jù)過(guò)來(lái)。儀表盤(pán)同步變化了!
階段小結(jié):如果你看到這里,其實(shí)就可以完成云端工程師的工作了。完全可以用MQTT客戶端來(lái)模擬設(shè)備發(fā)送數(shù)據(jù)和接收數(shù)據(jù),你就能調(diào)試云端和應(yīng)用端的代碼了。關(guān)于設(shè)備端的研發(fā)套路,零妖從下一篇文章開(kāi)始介紹,主角是STM32F103C8T6這顆單片機(jī)!
-
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44579瀏覽量
636421 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44743瀏覽量
374538 -
阿里云
+關(guān)注
關(guān)注
3文章
966瀏覽量
43117 -
IOT
+關(guān)注
關(guān)注
187文章
4215瀏覽量
197050
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論