一
物聯網項目在開發初期,需要云端和設備端兩個工種的工程師一起談談實現的技術細節。有一個叫作ALink協議的語言,成功解決了兩個物種之間交流困難的世紀難題!
ALink協議是針對物聯網開發領域設計的一種數據交換規范。設備端按照這個簡單的規范把數據組織一下發送給云端,云端工程師也懂這個簡單的規范,可以直接拿這個數據進行處理。同時還解決了調試困難的痛點:云端工程師使用一個叫做MQTT客戶端的電腦工具,就可以發送符合ALink協議的測試數據調試云端產品的代碼;設備端工程師就可以在給單片機寫代碼的時候直接組織一個符合ALink協議的測試數據,從而不用依賴云端下發。
二
物聯網將物理世界的萬物接入網絡并通過整合各類服務實現智能化。“物”(Things)作為整個網絡中的基礎節點和商業觸手,既是環境信息的采集者,也是智能服務的提供者和承載者。“物”就是設備端。
你首先需要對物聯網中的“物”能做什么,能提供什么樣的服務進行描述。這就需要從產品層面進行功能建模,定義物的“屬性”(Property)、“服務”(Service)和“事件”(Event)。最簡單的情況下你定義一個屬性就夠了,比如零妖的物聯網彈幕器項目,就僅有兩個屬性。
通過功能建模將各類設備統一抽象為云端的資源,并對外暴露相應的接口,以滿足不同場景下不同系統的調用和快速集成。
物模型是對設備是什么,能做什么的描述,包括設備身份標識、連接狀態、描述信息,以及設備的屬性(properties)、服務(services)、事件(events),后三者構成了設備的功能定義。Link Develop通過定義一種物的描述語言來描述物模型,稱之為 TSL(即 Thing Specification Language)。
三
有一種非常簡單的數據格式,叫作JSON字符串,有編程基礎的人兩分鐘就能研究清楚那是什么。ALink協議的數據格式就是JSON字符串的格式。零妖只是提一下而已,ALink協議想讀懂根本不用了解啥是JSON,我要開車了,兄弟們請坐好扶穩。
看到了吧,就是這么簡單。上面那個截圖就是設備上報自己屬性的字符串。設備端發送的數據其實就是那些內容,而且零妖也解釋很清楚了。總結一下,就是 <“屬性”:數值 >的做法,非常類似 <鍵:值> 的做法。反正對于單片機來說,想要上報哪個屬性,就發送哪個,修改一下后面的數值就行了。
同理,云端下發的數據也是符合ALink協議的。單片機想解析這些數據就更簡單了,簡直不要太爽。我們只管記住這些固定的格式就行了,其他的不用修改。上行數據和下行數據在格式上都一樣,但是有些固定的地方是不一樣的,可以去 https://linkdevelop.aliyun.com/developGuide#kgd6wp.html 查看單個設備的報文,復制你需要的報文,然后修改其中的屬性名稱和數值,就可以了。
對于云端開發的工程師來說,要做的工作就是調用阿里云提供的API,往里面扔數據就行了,自己更需要關注的是業務的實現邏輯而不是這些細節問題。云端開發代碼的流程零妖會在后面的文章里講一個小小的Demo,幫助你快速上手。
四
你一定正在好奇屬性的名稱是怎么得到的。零妖告訴你,屬性的名稱和取值范圍是在 LinkDevelop 平臺上,“設備開發”里面,定義產品的時候自己選擇的。零妖的下一篇文章將會講解“設備開發”的內容,這部分是在云端完成的工作,也是團隊開會時候需要確定的內容。
-
物聯網
+關注
關注
2904文章
44298瀏覽量
371413 -
阿里云
+關注
關注
3文章
942瀏覽量
42971 -
IOT
+關注
關注
186文章
4181瀏覽量
196265
發布評論請先 登錄
相關推薦
評論