999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MQTT協議的跨平臺工業級物聯網消息傳輸系統實現與設計

2020-10-09 11:01:23孫海濱張敬超
軟件 2020年8期
關鍵詞:跨平臺物聯網

孫海濱 張敬超

摘 ?要: 隨著物聯網技術的發展和移動終端的普及,人們更加希望能夠隨時隨地方便地獲取信息和服務,這時就涉及到物聯網硬件設備,windows客戶端,手機端,web網頁之間不同平臺,不同語言的信息交互。本文結合MQTT,windows服務,winform程序設計技術,windows消息隊列,串口通信,React Native等,提出了物聯網消息傳輸的一系列方法,實現了在云服務器資源較小的情況下,用戶可以方便快捷地多平臺訪問和控制物聯網硬件信息和設備,節約云服務器開支的同時,提高了數據訪問效率。

關鍵詞: MQTT;物聯網;跨平臺;Winform程序

中圖分類號: TP311.1 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.08.045

本文著錄格式:孫海濱, 張敬超. 基于MQTT協議的跨平臺工業級物聯網消息傳輸系統實現與設計[J]. 軟件,2020,41(08):168-171

【Abstract】: With the development of Internet of things technology and the popularization of mobile terminals, people are more willing to obtain information and services conveniently anytime and anywhere. At this time, information interaction between hardware devices of Internet of things, Windows client, mobile terminal and web page on different platforms and in different languages is designed. Based MQTT, Windows services, winform programming technology, Windows message queue, serial communication, the React Native and so on, puts forward the Internet message transmission of a series of methods, realized in the case of a small cloud server resources, the user can more convenient platform to Internet access and control hardware and equipment information, saving cloud server costs at the same time, improve the efficiency of data access.

【Key words】: MQTT; Internet of things; Cross-platform; Winform procedure

0 ?引言

隨著互聯網和移動手機技術的迅猛發展,物聯網平臺的概率廣泛被提及[1],物聯網平臺是提供應用支撐、數據存儲等能力的平臺[2],其物聯網技術已經應用到了各個場景,企業測量設備加入無線模塊后,即可遠程控制。但是在設備測量數據進行存儲時,若將大量數據存入云服務器,就會帶來一些問題。第一,當設備較多時,需要的云服務器的存儲空間比較大,需要前期的投入較大。第二,企業數據都將存入購買的運營商的服務器,數據在傳輸和保存時容易遭到泄露,這就降低了企業自己的測量數據的保密性。所以大多數企業要求將數據存入到自己的本地數據庫,同時要求可以手機,網站等不同方式來訪問數據和控制設備。

面對這些挑戰,我們設計出了一套跨平臺工業級物聯網消息傳輸系統[3],企業員工可以在公司計算機的客戶端上進行設備控制和數據查詢,又可以通過外網使用手機或者網頁訪問保存在企業本地的數據,并控制設備,在保證了數據的安全性的同時,數據在傳輸過程中更加及時、高效、省流量、省資源。

1 ?相關技術研究

1.1 ?MQTT介紹

MQTT是由IBM發布的一種輕量級跨平臺消息傳輸協議[4],MQTT 可以被解釋為一種低開銷,低帶寬占用的即時通訊協議,利用極少的代碼和帶寬的為連接遠程設備提供實時可靠的消息服務,它適用于硬件性能低下的遠程設備以及網絡狀況糟糕的環境下,因此 MQTT 協議在物聯網,小型設備應用,移動應用等方面有較廣泛的應用。

MQTT協議運行在TCP/IP或其他網絡協議,提供有序、無損、雙向連接[5]。其特點包括:

使用的發布/訂閱消息模式。提供了一對多消息分發機制,以實現與應用程序的解耦。對負載內容屏蔽的消息傳輸機制。

本文利用MQTT協議實現Web端與服務端進行交互,實現移動端和網頁端對物聯網設備的控制。

1.2 ?串口通信

串口通信是指以位(bit)為單位發送方和接收字節,且遵守時序的一種通信方式。可以將接收處理器發送的并行字符轉換為連續的串行數據流發送,反之也能將串行數據流發送給處理器。以傳輸方向進行區分通常分為三種模式:單工、半雙工和全工[6]。

本文利用無線模塊轉接串口,實現物聯網設備與服務端的收發消息。

1.3 ?Windows程序介紹

Winform是基于微軟公司開發的C#語言[7],利用.Net平臺開發應用程序,具有Windows窗口開發的特點[8]。

本文利用windows程序開發服務端與企業客戶端,服務端用于與物聯網設備收發消息,客戶端用于數據的解析以及數據庫操作,且面向客戶端用戶進行數據展示以及操作。

1.4 ?React Native介紹

React Native(簡稱RN)是Facebook在2015年4月發布的一款移動應用開發框架,與FaceBook早先發布的UI框架React一樣具有開源的特性。RN既能擁有原生native的交互體驗,又能夠保持web的高效與靈活,且能支持IOS和Android兩大移動端平臺等特點[9]。

RN的優勢在于具有較強擴展性,且可以適用Native的原生動畫,避免了WebView的交互和性能問題。

本文利用RN構建web客戶端,為用戶移動端和瀏覽器訪問設備及其數據提供服務。

2 ?系統架構

整個跨平臺工業級物聯網消息傳輸系統提供給用戶對物聯網設備信息的查詢和設置,幫助用戶在企業局域網和外網上遠程控制設備,用戶通過手機客戶端,電腦客戶端和網址查詢儲存在企業本地服務器的測量設備,整個系統架構如圖1所示。

系統分為四部分,第一部分,物聯網硬件設備,主要負責對企業需要數據統計,對要測量的物體進行測量和分析,將數據通過無線通信模塊進行傳輸;第二部分,企業服務器終端,其中包括windows服務程序、Microsoft Message Queue服務器和監控物聯網設備的客戶端。windows服務程序其功能是接受第一部分物聯網硬件設備發來的數據信息,并解析,將數據保存的企業服務器的數據庫中[7]。Microsoft Message Queue服務器用于將服務信息和監控物聯網設備的客戶端的信息進行通信。第三部分,消息代理服務器(Message Broker)/Web Server,消息代理服務器主要負責實現MQTT協議的各項功能,提供發布/訂閱管理功能、連接管理功能等,為客戶端提供發布/取消發布、訂閱/取消訂閱等服務。通過消息代理各模塊協調工作,形成了完整的發布/訂閱消息推送系統。Web Server主要負責手機客戶端的用戶驗證登錄以及Web網頁對信息管理的實現。第四部分移動終端和web網頁層。主要提供給用戶展示設備狀態和信息的平臺。

MQTT消息處理架構,如圖2所示。

用戶Tom(移動端/Web網頁端)訪問企業服務器,必須通過App的API服務器的登錄驗證,然后會獲取到企業服務器訂閱的factory topic信息。企業的服務器啟動時會自動訂閱factory topic。Tom只需通過MQTT代理服務器將控制信息publish到factory topic上,企業服務器就會接到Tom的控制信息。在Tom的控制信息里包含著Tom所訂閱的Tom topic信息,企業服務器會將此信息保存并將查詢結果publish到Tom的 topic,Tom的移動終端就會獲得信息,以此完成移動端的遠程通信[10]。

這里用戶和企業服務器是多對多的關系,即一個用戶可以向多個企業服務器查詢數據,企業服務器也可以同時服務多個用戶,向用戶返回數據。且在這樣的情況下,對于云服務器(MQTT代理服務器)的負載十分?。ㄒ驗橹皇寝D發數據,并沒有將數據進行處理),所需要的數據存儲空間小,大部分的計算負載和所有的測量數據存儲都分載在不同企業的服務器上,提高了通信效率,保證了數據的安全性,降低了對于云服務器的硬件成本。

3 ?系統流程

3.1 ?企業服務器終端實現

企業服務器終端主要用于接收、發送、解析和計算物聯網設備的控制、數據指令,以此來監控物聯網設備和儲存設備測量的信息[11]。主要分為四個模塊,模塊一,其功能利用設備無線模塊和計算機的串口接收和發送設備指令;模塊二,連接MQTT,訂閱企業的topic,對移動終端設備的遠程控制和查詢提供接口;模塊三,利用消息隊列(MSMQ)實現服務和windows客戶端程序進程之間的通信,通信內容是從物聯網設備接收到的指令代碼;模塊四,客戶端對從服務器中接收到的物聯網設備的指令代碼進行解析顯示,并進行控制和歷史信息的查詢工作。

主要流程分為三部分:

(1)當服務器啟動時,Windows服務程序將自動啟動,檢查設備串口設備、Internet網絡連接情況和數據庫連接情況。并開啟消息隊列服務,等待企業電腦端的客戶端指令。當檢查網絡連接正常的時候,服務程序會自動連接MQTT代理服務器,并訂閱以自己編號為id的話題(topic)。

(2)用戶打開企業電腦端的客戶端對設備進行操作時,服務程序會通過MSMQ消息隊列接受客戶端的指令[12],解析組裝成物聯網設備能夠識別的十六進制指令后,通過串口發送給設備。設備接收指令后進行測量或者其他設置參數的操作,將返回的信息傳回服務,服務通過串口接收十六進制指令根據通信協議進行解析,將數據保存到數據庫中用于客戶端和手機APP的查詢或者將指令直接通過MSMQ轉發給企業電腦端,用于實時顯示設備情況[8]。

(3)服務器訂閱自己的MQTT topic話題,向Internet開放控制和查詢設備的接口,用于解析手機和Web網頁發來的用戶控制指令。當服務接到移動終端用戶通過MQTT發送給自己的指令時,服務將自動開啟線程,對指令進行解析。分析出移動端的用戶topic和指令類型,按照指令的類型進行操作,并將返回結果組裝成JSON字符串,通過MQTT發布(publish)到移動終端用戶的topic中。

在通訊過程中,需要三種通訊協議。

協議一:設備和服務之間的通訊協議。

協議二:服務和windows客戶端之間利用消息隊列傳輸的通訊協議。

協議三:服務和移動終端之間利用MQTT傳輸的通訊協議。

3.2 ?消息代理服務器的實現

實現MQTT的代理服務器的工作,管理訂閱賬號,消息轉發等。同時提供手機和網站查詢和儲存用戶,企業的信息。通過網站來設置用戶的管理權限,實現一個用戶對應管理多個企業服務的關系。在手機端,用戶可以根據自己的id查詢到企業的服務訂閱的MQTT topic,以此來通過手機進行對企業設備的遠程控制。

3.3 ?手機端實現

手機客戶端主要提供給用戶登錄的驗證及自動登錄的實現,對物聯網設備的遠程監控和歷史數據的查詢。

主要分為三個模塊:

(1)登錄模塊,用戶登錄時輸入正確的用戶名和密碼,當服務器驗證通過后,會將該用戶的token發送給手機客戶端??蛻舳送ㄟ^React Native的AsyncStorage將token保存在手機中。當用戶下次開啟軟件時,將直接用token驗證用戶信息,不需要用戶重新輸入用戶名和密碼。

(2)MQTT通信和指令解析,登錄成功后,手機連接MQTT代理服務器,并訂閱以用戶id為topic的話題。同時獲取服務器保存的該用戶所管理的設備信息。當MQTT接收到發往這個topic的信息的時候,進行解析,得出數據信息在手機端進行展示。同時用戶發送控制設備信息時,將用戶、控制、設備、企業服務的話題(topic)信息和發送的數據信息組裝成JSON,publish給企業windows服務器訂閱的話題(topic),并設置callback函數,等企業服務器的待響應,響應成功后會將數據信息呈現到客戶端中。

(3)遠程控制和歷史查詢模塊,用戶選擇設備發送控制指令,手機App將用戶信息和指令信息封裝成JSON,通過MQTT發布到企業服務訂閱的topic。企業服務獲取指令解析出用戶信息,用戶信息中包含著手機訂閱的topic。服務執行完對設備的操作后將結果發布到手機訂閱的topic。

4 ?系統測試

本研究應用某物聯網系統取得良好成果,其測試物聯網設備為激光傳感器、步進電機等組成的測量設備,主要應用于立筒倉內部物料體積和重量測量[13],以及倉內溫濕度監控。通過本系統客戶端和手機端進行控制物聯網設備工作,收發設備的工作狀態,接收到設備采集的數據。測試結果為該系統傳輸效果可靠穩定,能適應復雜的傳輸情況,無數據丟失的現象。

5 ?結論

本文以MQTT協議為基礎,Windows程序開發為核心,遵照消息傳遞的過程,開發了一套物聯網消息傳輸系統,適用復雜條件下消息的收發,解決不同平臺之間消息協議的解析,利用多個協議之間的通信,實現了不同平臺間對設備的控制以及數據的接收,可利用在多種物聯網系統中,降低了數據丟失的概率,極大的提高了消息傳遞的穩定性。

參考文獻

[1] 李燕. 計算機監控系統中物聯網技術應用探究[J]. 軟件, 2018, 39(10): 220-223.

[2] 嚴新巧. 基于移動開發現狀探討React Native[J]. 電腦知識與技術, 2016, 12(32): 76-77+82.

[3] 王歡. 分布式移動性管理協議研究[J]. 軟件, 2015, 36(2): 80-85.

[4] Haripriya A. P.,Kulothungan K.. Secure-MQTT: an efficient fuzzy logic-based approach to detect DoS attack in MQTT protocol for internet of things[J]. EURASIP Journal on Wireless Communications and Networking, 2019, 2019(1).

[5] 耿云飛. 融合通信消息引擎的設計與實現[D]. 中國科學院研究生院(沈陽計算技術研究所), 2016.

[6] 張幼麟. 51單片機串口應用[J]. 內江科技, 2019, 40(10): 32+12.

[7] 孫毓蔓, 左小清, 蘇文豪. 基于ArcGIS Engine與C#.net的地塊合并功能的實現[J]. 軟件, 2018, 39(10): 150-155.

[8] 代鴻元. 基于WinForm的脈沖安防報警系統設計與實現[D]. 天津大學, 2017.

[9] 金昱東. 一種基于ReactNative的代碼壓縮與動態加載的實現方法[J]. 軟件, 2016, 37(02): 81-84.

[10] 明鳴. 以Windows服務為基礎的網口與串口通信設計淺析[J]. 中國新通信, 2018, 20(03):66.

[11] 陳星, 霍珊珊, 劉健. 物聯網信息系統安全測評服務模式的研究[J]. 軟件, 2016, 37(3): 09-15.

[12] 莫洪艷. 在.NET平臺利用MSMQ實現不同應用間的異步通訊[J]. 天津冶金, 2017(06): 46-48.

[13] 楊棟, 劉錚. 淺談激光測距技術對料堆盤庫的應用[J]. 衡器, 2016, 45(12): 15-18.

猜你喜歡
跨平臺物聯網
跨層級網絡、跨架構、跨平臺的數據共享交換關鍵技術研究與系統建設
一款游戲怎么掙到全平臺的錢?
電腦報(2021年11期)2021-07-01 08:10:05
跨平臺APEX接口組件的設計與實現
測控技術(2018年9期)2018-11-25 07:44:58
基于物聯網的煤礦智能倉儲與物流運輸管理系統設計與應用
基于高職院校物聯網技術應用人才培養的思考分析
基于LABVIEW的溫室管理系統的研究與設計
論智能油田的發展趨勢及必要性
中國或成“物聯網”領軍者
環球時報(2016-08-01)2016-08-01 07:04:45
基于QT的跨平臺輸電鐵塔監控終端軟件設計與實現
基于OPC跨平臺通信的電機監測與診斷系統
主站蜘蛛池模板: 国产欧美日韩18| 中日无码在线观看| 奇米影视狠狠精品7777| 二级毛片免费观看全程| 婷婷午夜天| 最近最新中文字幕在线第一页| 手机成人午夜在线视频| 在线视频一区二区三区不卡| 亚洲一区二区三区中文字幕5566| 亚洲欧美自拍视频| 日韩精品亚洲一区中文字幕| 欧美日韩精品一区二区视频| 在线亚洲精品自拍| 狠狠色丁香婷婷| 日韩免费中文字幕| 香蕉久久国产超碰青草| 日韩精品久久久久久久电影蜜臀| 亚洲欧洲自拍拍偷午夜色| 97久久人人超碰国产精品| 亚洲欧美国产五月天综合| 国产va免费精品| 亚洲精品日产AⅤ| 国产欧美日韩视频一区二区三区| 99re视频在线| 天堂亚洲网| 亚洲天天更新| 久久无码高潮喷水| 美女无遮挡被啪啪到高潮免费| 亚洲一区网站| 日韩一区二区三免费高清| 女人av社区男人的天堂| 色视频国产| 日本高清成本人视频一区| 亚洲综合中文字幕国产精品欧美| 91在线无码精品秘九色APP| 99热这里只有精品在线观看| 天天综合亚洲| 一级在线毛片| 欧美日韩中文国产va另类| 国产毛片高清一级国语| 国产h视频在线观看视频| 亚洲成a人片| 国产99免费视频| 欧美在线导航| 在线中文字幕网| 中文字幕丝袜一区二区| 亚洲中文久久精品无玛| 国产午夜精品鲁丝片| 狠狠做深爱婷婷久久一区| 国产69精品久久久久孕妇大杂乱 | 看av免费毛片手机播放| 91黄色在线观看| a在线亚洲男人的天堂试看| 久久精品视频一| 国产成人精品三级| 波多野结衣中文字幕久久| 中文字幕 91| 久久国产香蕉| 2020久久国产综合精品swag| 国产亚洲欧美日本一二三本道| 国产精品嫩草影院av| 国产Av无码精品色午夜| a级毛片在线免费| 欧美亚洲国产一区| 精品五夜婷香蕉国产线看观看| 日本a级免费| 久久久久久高潮白浆| 五月婷婷亚洲综合| 精品一区二区久久久久网站| 久久婷婷人人澡人人爱91| 久久久久久午夜精品| 国产成人1024精品| 欧洲亚洲欧美国产日本高清| vvvv98国产成人综合青青| 亚洲一道AV无码午夜福利| 18禁色诱爆乳网站| 亚洲欧美不卡视频| 国产精品99r8在线观看| av大片在线无码免费| 国内精品免费| 原味小视频在线www国产| 蜜桃视频一区二区|