一
物聯網項目在開發初期,需要云端和設備端兩個工種的工程師一起談談實現的技術細節。有一個叫作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 平臺上,“設備開發”里面,定義產品的時候自己選擇的。零妖的下一篇文章將會講解“設備開發”的內容,這部分是在云端完成的工作,也是團隊開會時候需要確定的內容。
-
物聯網
+關注
關注
2930文章
46183瀏覽量
391535 -
阿里云
+關注
關注
3文章
1009瀏覽量
44093 -
IOT
+關注
關注
187文章
4300瀏覽量
201590
發布評論請先 登錄
物聯網的應用范圍有哪些?
艾默生 SolaHD 通過 \"從地板到云端?\"解決方案和在線產品配置器推進電能質量管理
物聯網工程師為什么要學Linux?
全棧開發進階指南:LuatOS-log庫從入門到實戰!

從云端到終端:RAKsmart服務器構筑AI云平臺智慧城市全棧解決方案
大象機器人攜手進迭時空推出 RISC-V 全棧開源六軸機械臂產品
從邊緣計算 到云端計算

工業物聯網平臺全解析:從數據采集到設備維護
蜂窩物聯網怎么選
宇樹科技在物聯網方面
特斯拉FSD,從全棧自研到智能駕駛的未來

從邊緣設備到云端平臺,合宙DTU&RTU打造無縫物聯網解決方案

評論