?

基于阿里云物聯網平臺的數據可視化

2020-10-09 10:24程德昊何元清蔡春昊
電腦知識與技術 2020年22期
關鍵詞:數據可視化物聯網

程德昊 何元清 蔡春昊

摘要:2019年可以說是當之無愧的5G元年,隨著5G的初露崢嶸,物聯網和云計算正走進我們生活中的各個領域,影響著我們工作的各個方面。物聯網的興起,離不開云計算的發展。通常搭建一個云平臺需要具備一定的財力物力,但是借著這個“萬物互聯”時代的東風,可以使用阿里云平臺來進行各種各樣的開發。本文通過使用阿里云物聯網平臺和傳感器組成物聯網,記錄該傳感器的各項參數,并在該平臺實現了數據可視化。

關鍵詞:阿里云;物聯網;數據可視化;MQTT協議

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2020)22-0050-02

開放科學(資源服務)標識碼(OSID):

隨著5G的快速發展,物聯網與云計算也在慢慢影響著我們的生活,互聯網通過信息改變了我們的生活,人和消息進行實時的碰撞。而物聯網將會真正將網絡連接到現實。物聯網,實現了把物用網連接了起來,硬件設備收集數據進而在網絡上流轉處理,最終顯示在我們面前。本文通過使用阿里云物聯網平臺,將XDK上收集的數據進行處理并使其可視化,并在其平臺上進行顯示。

1 物聯網

1.1阿里云物聯網平臺

在物聯網架構中,物聯網平臺屬于中間部分,起著承上啟下的作用。硬件傳感器感知數據并將其傳送數據到物聯網平臺上,同時可以在平臺上進行編程開發,調用相應的API進行編程。所以說物聯網平臺在物聯網體系中屬于類似戰略要塞的作用。本文選擇國內常用的阿里云物聯網平臺進行開發編程。

阿里云物聯網平臺有三點主要功能,分別是:硬件設備接人以及管理和維護;具備不同網絡如2/3/4G的接人;具有多種不同協議的設備端SDK,如MQTT、CoAP、HTTP/S。在本次開發中,本文使用MQTT協議進行安全與權限管理和設備數據計算與存儲。

阿里云物聯網平臺提供的能力可以分為兩大部分,即邊緣端和云端。此外,使用阿里云物聯網平臺有以下幾個優勢:

1)在其設備接入方面上,可接受多種設備連接,所以范圍廣,可以支持全球設備、異構網絡設備和多協議設備的接人;

2)阿里云物聯網平臺具有性能強的特點,可以保持億級設備的長連接,并發量可以達到百萬級;

3)該平臺安全性高,可提供多重防防護;

4)平臺具有極高的穩定性,其服務可用性99.9%,具有單點故障,自動遷移的特點;

5)平臺使用方便,具備人性化界面,一站式服務。L2 MQTT協議

MQTT(Message Queuing Telemetry Transport.消息隊列遙測傳輸協議)是一種基于發布/訂閱的模式的“輕量級”的、構建在TCP/IP協議上的通訊協議。MQTT應用廣泛,它有著許多優點,其中最大的一個優點就是可以在有限的帶寬下通過少量甚至極少的代碼連接遠程設備,并且最為重要的是其消息服務不僅是穩定可靠而且是即時的。也正是因為其開銷低,相對不高的帶寬占用以及及時的通訊協議,使其在物聯網、移動應用和小型設備等很多領域都有廣泛的應用。在我國工業級物聯網中,MQTT已經成為首選的云通信協議。值得一提的是,MQTT是運行在TCPfIP協議上的,并且它提供的是無損和有序的雙向連接。

MQTT具有以下特點:

1)它使用的是一種發布和訂閱消息的模式,它的消息分發方式是一個對多個的形式,這樣使得與程序的關聯性降低,達到解耦的目的。

2)對負載內容屏蔽的消息傳輸機制。

3)關于發布消息方面,該協議有三種消息發布服務質量。

(1)至少一次,即發消息次數>=1,在這一級別中,消息會被確保達到,但是在這過程中消息可能會重復發送。

(2)最多一次,即其發送消息的次數<=1,這種級別的消息發布完全依賴了底層的TCP/IP網絡,在這一級別下,發送的消息可能發生丟失,也有可能發生重復。這種級別適用于在對數據的丟失不致命的情況。比如使用傳感器測試環境時丟失一份數據影響并不大,因為馬上就會有下一份數據過來。當有時我們主要著眼點在整體時,單個數據影響不大時我們可以使用這種級別。

(3)只有一次,即發送次數=1,該級別要確保發送的消息到達一次,不能有丟失。這種級別比較嚴格,常常在計費系統中使用,如果消息重復或者丟失,會造成嚴重的后果。

4)MQTT協議是小型傳輸的。它的消息體由固定報頭,可變報頭和有效載荷三部分組成。其中它的頭部是固定的,甚至僅有兩字節,這樣使得它的花銷很小。正是因為這些方法,協議交換達到了最小化,最終達成降低網絡流量這個目的。也是這些特性使得它能在物聯網信息的傳輸中有一席之地。這其中很大的原因是因為嵌入式設備因為其自身原因導致運算能力和帶寬相對來說不是很好,所以使用MQTT來傳輸信息可以說是最好不過的了。

5)MQTT協議有特殊的機制,當遇到有異常導致中斷時會通知雙方。這種特殊機制即為Last Will和Testament。 Last Will:也被稱為遺言機制,這種情況用于在同一主題下的其他設備發送遺言的設備已經斷開了連接的場景。

Testament:遺囑機制,功能類似于Last Will。

那么MQTT協議實現方式如圖1所示。

MQTT協議中有三種身份,分別為發布者,代理(服務器)和訂閱者??蛻舳擞捎诎l送和接收消息,同時扮演著消息的發布者和訂閱者的角色,在圖1中的消息代理的角色是由服務器扮演。

1.3 IoT studio

本次開發中,本文使用IoT studio。IoT studio原來稱為Link Develop,它是阿里云針對物聯網場景提供的生產力工具,所以它也算作是阿里云物聯網平臺的一部分。它可以運用在物聯網的核心場景,加速物聯網SaaS構建。

IoT studio主要有以下幾個特點:1)簡單,可以完成可視化搭建,可以在操作頁面上拖拽和配置操作,相當快速的完成設備數據監控相關的Web頁面,移動應用和API服務的開發;2)IoT studio與阿里云物聯網平臺無縫打通,設備相關的各種參數,比如屬性,服務和事件之類的數據可以直接從物聯網平臺設備接入和管理模塊中直接獲取;3)開發平臺上資源豐富,擁有多種組件和API,很多功能用戶不需自己編寫,只用調用接口,非常的方便,提高了效率。4)使用IoT studio開發完成后,可以直接托管在云端,支持直接預覽使用,無須部署即可交付使用。

2 連接阿里云物聯網平臺進行開發

在了解阿里云物聯網平臺,MQTT協議以及IoT studio之后,就可以使用以上三個技術來進行實際操作。本次我們選擇了BOSCH XDK110作為硬件設備來進行實驗。連接的框圖2如下所示。

在阿里云平臺側進行開發,需要注冊阿里云賬號,接著進入阿里云官方物聯網平臺( https://iot.console.aliyun.com/),創建用戶所使用的設備類型的產品,并添加設備,添加所需要的物模型,比如:加速度計,陀螺儀溫度、濕度等信息,并使這些信息可視化的顯示在web頁面。

物模型是指設備在云端的相關的功能的描述,它包含了設備的事件,屬性和服務。在物聯網平臺中,通過定義一種物的描述語言來描述模型,我們把其稱為TSL。用戶可以將其理解為一種數據包格式的約定,因為其數據的上傳按照物模型進行構造,平臺接收的數據也會按照物模型進行相應的解析。構造的數據包要符合常用的JSON格式,其中包含有四個部分,分別是:消息ID,物模型版本(1.0),上報方式,和參數。

接下來需要在設備端進行開發,連接到阿里云物聯網平臺上。打開開發工具XDK Workbench進行代碼編寫。并在此中設置相應的參數。主要設置程序中的連接WiFi的SSID和密碼以及連接服務器的鏈接地址、端口、配置信息,即可使用MQTT連接。值得注意的一點是,在連接阿里云物聯網平臺的過程中,存在一個鑒權的過程,其中username和password需要使用規定的鑒權方式才能通過MQTT連接阿里云物聯網平臺,pass-word是通過加密算法hmac-shal得到的一個哈希值。

此次代碼的總體流程可以總結為:1)配置參數設置;2)使能WiFi,MQTT,傳感器等;3)連接MQTT服務器;4)訂閱Topic;5)檢測連接,斷線重連;6)獲取傳感器等數據;7)推送數據;8)判斷平臺下發的閾值信息,如果有進行第9步,無則進行第五步;9)處理數據,如果大于閾值,發送報警;小于閾值,消除報警。

代碼編寫完成后,點擊build進行編譯。然后將XDK連接電腦,開啟XDK的開關,下載程序燒寫到XDK中,就可以看到平臺端顯示各傳感器數據,如圖3所示。

3 物聯網數據可視化

經過以上的操作,相關的硬件設備已經可以通過WiFi傳輸數據并顯示在網頁端了,但是并不直觀,對于相關人員分析數據并不方便。因此需要一個可視化的頁面來展示接收到的數據,能夠直觀地顯示數據并幫助相關人員進行分析。需要注意的一點是,在IoT studio開發之前用戶應該確保平臺已經接收到數據并解析到物模型,這樣來確保數據不會丟失。

在阿里云物聯網平臺中,其平臺本身提供了許多相關可視化的組件,比如儀表盤,滑條,曲線圖等常用組件。用戶可以非常方便地使用相應的組件來調整組件的各個位置。自此可視化的Web界面開發完畢,保存并發布即可,發布展示如圖4所示。

4 結語

在此次開發中,首先在電腦上編寫程序并將其燒錄至XDK設備中,然后通過MQTT協議將設備所收集的信息傳給阿里云物聯網平臺,在阿里云物聯網平臺中添加所需要的物模型,然后進行IoT studio開發,使相關數據可視化地展現出來。利于相關人員分析和處理數據。隨著5G的快速發展,物聯網一定也會借此“東風”快速的發展,而“萬物互聯”也會在中國生根發芽,相信在不久的將來,中國也會由“世界工廠”轉變為工業互聯網強國。

參考文獻:

[1]高柏,朱蘭.從“世界工廠”到工業互聯網強國:打造智能制造時代的競爭優勢[J/OL].改革:1-14[2020-05-14].http://kns.cnki.net/kcms/detail/50. 1012.F.202005 13.085 2.002.html.

[2]陸國君,金勤芳,張慧麗,基于MQTT網關連接PLC與阿里云物聯網平臺的工業物聯網系統[J].物聯網技術,2019,9(12):58-60,63.

[3]吳俊輝,吳桂初,陳沖,葛世偉,許小鋒.基于MQTT協議的物聯網網關設計[J].溫州大學學報(自然科學版),2019,40(4):54-61.

[4]姚丹,謝雪松,楊建軍,等.基于MQTT協議的物聯網通信系統的研究與實現[J].信息通信,2016(3):33-35.

[5]鄭峰.基于MQTT的云推送平臺的研究及應用[D].杭州:杭州電子科技大學,2016.

【通聯編輯:梁書】

作者簡介:程德昊(1995-),男,四川成都人,中國民航飛行學院計算機學院在讀碩士,研究方向為民航系統建模與仿真;何元清(1967-),男,湖南常德人,中國民用航空飛行學院計算機學院教授,研究方向為民航信息仿真、算法分析與設計等。

猜你喜歡
數據可視化物聯網
可視化:新媒體語境下的數據、敘事與設計研究
我國數據新聞的發展困境與策略研究
基于LABVIEW的溫室管理系統的研究與設計
論智能油田的發展趨勢及必要性
中國或成“物聯網”領軍者
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合