一
物聯(lián)網(wǎng)項(xiàng)目在開(kāi)發(fā)初期,需要云端和設(shè)備端兩個(gè)工種的工程師一起談?wù)剬?shí)現(xiàn)的技術(shù)細(xì)節(jié)。有一個(gè)叫作ALink協(xié)議的語(yǔ)言,成功解決了兩個(gè)物種之間交流困難的世紀(jì)難題!
ALink協(xié)議是針對(duì)物聯(lián)網(wǎng)開(kāi)發(fā)領(lǐng)域設(shè)計(jì)的一種數(shù)據(jù)交換規(guī)范。設(shè)備端按照這個(gè)簡(jiǎn)單的規(guī)范把數(shù)據(jù)組織一下發(fā)送給云端,云端工程師也懂這個(gè)簡(jiǎn)單的規(guī)范,可以直接拿這個(gè)數(shù)據(jù)進(jìn)行處理。同時(shí)還解決了調(diào)試?yán)щy的痛點(diǎn):云端工程師使用一個(gè)叫做MQTT客戶端的電腦工具,就可以發(fā)送符合ALink協(xié)議的測(cè)試數(shù)據(jù)調(diào)試云端產(chǎn)品的代碼;設(shè)備端工程師就可以在給單片機(jī)寫(xiě)代碼的時(shí)候直接組織一個(gè)符合ALink協(xié)議的測(cè)試數(shù)據(jù),從而不用依賴(lài)云端下發(fā)。
二
物聯(lián)網(wǎng)將物理世界的萬(wàn)物接入網(wǎng)絡(luò)并通過(guò)整合各類(lèi)服務(wù)實(shí)現(xiàn)智能化。“物”(Things)作為整個(gè)網(wǎng)絡(luò)中的基礎(chǔ)節(jié)點(diǎn)和商業(yè)觸手,既是環(huán)境信息的采集者,也是智能服務(wù)的提供者和承載者。“物”就是設(shè)備端。
你首先需要對(duì)物聯(lián)網(wǎng)中的“物”能做什么,能提供什么樣的服務(wù)進(jìn)行描述。這就需要從產(chǎn)品層面進(jìn)行功能建模,定義物的“屬性”(Property)、“服務(wù)”(Service)和“事件”(Event)。最簡(jiǎn)單的情況下你定義一個(gè)屬性就夠了,比如零妖的物聯(lián)網(wǎng)彈幕器項(xiàng)目,就僅有兩個(gè)屬性。
通過(guò)功能建模將各類(lèi)設(shè)備統(tǒng)一抽象為云端的資源,并對(duì)外暴露相應(yīng)的接口,以滿足不同場(chǎng)景下不同系統(tǒng)的調(diào)用和快速集成。
物模型是對(duì)設(shè)備是什么,能做什么的描述,包括設(shè)備身份標(biāo)識(shí)、連接狀態(tài)、描述信息,以及設(shè)備的屬性(properties)、服務(wù)(services)、事件(events),后三者構(gòu)成了設(shè)備的功能定義。Link Develop通過(guò)定義一種物的描述語(yǔ)言來(lái)描述物模型,稱(chēng)之為 TSL(即 Thing Specification Language)。
三
有一種非常簡(jiǎn)單的數(shù)據(jù)格式,叫作JSON字符串,有編程基礎(chǔ)的人兩分鐘就能研究清楚那是什么。ALink協(xié)議的數(shù)據(jù)格式就是JSON字符串的格式。零妖只是提一下而已,ALink協(xié)議想讀懂根本不用了解啥是JSON,我要開(kāi)車(chē)了,兄弟們請(qǐng)坐好扶穩(wěn)。

看到了吧,就是這么簡(jiǎn)單。上面那個(gè)截圖就是設(shè)備上報(bào)自己屬性的字符串。設(shè)備端發(fā)送的數(shù)據(jù)其實(shí)就是那些內(nèi)容,而且零妖也解釋很清楚了。總結(jié)一下,就是 <“屬性”:數(shù)值 >的做法,非常類(lèi)似 <鍵:值> 的做法。反正對(duì)于單片機(jī)來(lái)說(shuō),想要上報(bào)哪個(gè)屬性,就發(fā)送哪個(gè),修改一下后面的數(shù)值就行了。
同理,云端下發(fā)的數(shù)據(jù)也是符合ALink協(xié)議的。單片機(jī)想解析這些數(shù)據(jù)就更簡(jiǎn)單了,簡(jiǎn)直不要太爽。我們只管記住這些固定的格式就行了,其他的不用修改。上行數(shù)據(jù)和下行數(shù)據(jù)在格式上都一樣,但是有些固定的地方是不一樣的,可以去 https://linkdevelop.aliyun.com/developGuide#kgd6wp.html 查看單個(gè)設(shè)備的報(bào)文,復(fù)制你需要的報(bào)文,然后修改其中的屬性名稱(chēng)和數(shù)值,就可以了。
對(duì)于云端開(kāi)發(fā)的工程師來(lái)說(shuō),要做的工作就是調(diào)用阿里云提供的API,往里面扔數(shù)據(jù)就行了,自己更需要關(guān)注的是業(yè)務(wù)的實(shí)現(xiàn)邏輯而不是這些細(xì)節(jié)問(wèn)題。云端開(kāi)發(fā)代碼的流程零妖會(huì)在后面的文章里講一個(gè)小小的Demo,幫助你快速上手。
四
你一定正在好奇屬性的名稱(chēng)是怎么得到的。零妖告訴你,屬性的名稱(chēng)和取值范圍是在 LinkDevelop 平臺(tái)上,“設(shè)備開(kāi)發(fā)”里面,定義產(chǎn)品的時(shí)候自己選擇的。零妖的下一篇文章將會(huì)講解“設(shè)備開(kāi)發(fā)”的內(nèi)容,這部分是在云端完成的工作,也是團(tuán)隊(duì)開(kāi)會(huì)時(shí)候需要確定的內(nèi)容。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2945文章
47819瀏覽量
414861 -
阿里云
+關(guān)注
關(guān)注
3文章
1038瀏覽量
45689 -
IOT
+關(guān)注
關(guān)注
190文章
4395瀏覽量
208528
發(fā)布評(píng)論請(qǐng)先 登錄
明晚:睿擎物聯(lián)網(wǎng)實(shí)戰(zhàn):從傳感器采集到MQTT上云全流程解析|問(wèn)學(xué)直播
【直播預(yù)告】下周三晚8點(diǎn)|睿擎物聯(lián)網(wǎng)實(shí)戰(zhàn):從傳感器采集到MQTT上云全流程解析
芯源半導(dǎo)體在物聯(lián)網(wǎng)設(shè)備中具體防護(hù)方案
學(xué)習(xí)物聯(lián)網(wǎng)可以做什么工作?
如何從 MCU/MPU 角度保護(hù)物聯(lián)網(wǎng)應(yīng)用?
物聯(lián)網(wǎng)遠(yuǎn)程控制系統(tǒng):從硬件接入到業(yè)務(wù)賦能
自動(dòng)駕駛中常提的“全棧”是個(gè)啥?有必要“全棧”嗎?
物聯(lián)網(wǎng)全棧教程-從云端到設(shè)備(六)
評(píng)論