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

基于MQTT協議的在線離子色譜儀遠程監控系統設計

2017-05-10 07:03:14孫燕芹馬興錄郭孔躍
計算機測量與控制 2017年4期

孫燕芹,馬興錄,郭孔躍

(青島科技大學 信息科學技術學院,山東 青島 266061)

基于MQTT協議的在線離子色譜儀遠程監控系統設計

孫燕芹,馬興錄,郭孔躍

(青島科技大學 信息科學技術學院,山東 青島 266061)

在線離子色譜儀是可以對樣品進行連續自動分析,并以譜圖的形式顯示樣品中離子含量的化學分析儀器;為確保對樣品的連續檢測,儀器需要不間斷的運行;由于設備經常放在工作室或偏遠地區,需要對在線離子色譜儀的運行狀況進行遠程監控;針對此問題設計在線離子色譜儀的遠程監控系統;該系統使用輕量級MQTT協議作為通訊協議,通過在線離子色譜儀中集成MQTT客戶端,在云服務器中部署MQTT的消息中間件和短信網關,實現了用戶在手機應用客戶端查看在線離子色譜儀的運行參數、通過手機短信接收緊急報警信息等功能。

在線離子色譜儀;MQTT協議;遠程監控;短信報警

0 引言

在線離子色譜儀是全自動、全天候運行的離子色譜分析儀器,可連續在線分析陰陽離子、重金屬離子。它廣泛應用于水質、酸雨、大氣和處理后排放的工業廢水中的陰陽離子以及重金屬離子的連續自動檢測,在線離子色譜儀具有廣泛的工業應用前景[1]。

目前在線離子色譜儀設備可以在上位機查看在線離子色譜儀的各項參數,但用戶不能遠程查看設備的各項運行參數和遠程接收報警消息。目前實現監控有通過Http協議傳輸,使用瀏覽器查看監控參數[2],Http協議實時性差,需要用戶主動通過Web瀏覽器查看監控數據,無法提醒用戶查看各項運行參數。目前遠程報警功能大多通過集成GSM模塊發送短信報警[3],增大了硬件模塊投入,并且需要使用移動運營商提供的SIM卡,需要定期繳費,成本較高。

本文設計基于MQTT[4](Message Queuing Telemetry Transport,消息隊列遙測傳輸)協議的在線離子色譜儀遠程監控系統。

該系統可以主動推送監控消息至手機應用客戶端,短信報警模塊采用云短信平臺,按需收費,降低硬件維護成本。

1 在線離子色譜儀

在線離子色譜儀為液相色譜儀,可實現三通道檢測,可同時檢測陰離子、陽離子和重金屬。該設備最快可在30分鐘內完成一次檢測,每天最多可連續檢測48次,在線離子色譜儀實現了復雜的譜圖識別、數據處理和報表生成等功能。

該設備采用嵌入式系統設計,主要包括嵌入式主機系統和外部控制模塊,嵌入式主機控制外部模塊正常工作。嵌入式主機系統包括ARM處理器、處理器外圍接口硬件電路和嵌入式Linux系統。嵌入式主機系統之外的模塊為外部模塊,其中色譜柱、電導檢測器、伏安檢測器,完成離子檢測。自動進樣器完成進樣,泵控制模塊完成液體的流速,溫控模塊保證溫度恒定,保證檢測結果的正確性[1]。網絡模塊使用以太網或無線上網卡,實現互聯網網絡連接。其結構示意圖如圖1所示。

圖1 在線離子色譜儀結構示意圖

在線離子色譜儀為連續工作精密儀器,用戶需要不受地域時間限制監控在線離子色譜儀當前的運行狀態,確定設備是否按照設定進行工作。在線離子色譜儀自動運行過程中,系統會隨時檢查各種異常情況,一旦遇到異常情況會發出報警信息,如果報警信息不能及時處理將會引起設備自動停機,以保護設備。

在線離子色譜儀需要監控的內容主要包括:進樣時間、檢測器、檔位電壓、電流、泵流速、泵壓力、溫度等信息。

設備報警消息主要分為四類:泵壓不足、檔位電壓異常、上傳數據失敗和溫度異常。其中泵壓不足由3種情況造成,分別為淋洗液不足、管路有氣泡和管路泄露;檔位電壓異常由檢測淋洗液濃度異常造成;上傳數據失敗說明網絡連接有問題;溫度異常由設備工作環境異常造成。針對以上4種異常情況,需要發出報警信息至設備維護人員手機短信,并提示異常原因,便于設備維護人員恢復設備正常運行。

2 MQTT協議

MQTT是基于TCP/IP協議的輕量級、低帶寬和易于集成的雙向傳輸協議,客戶端與服務端通過訂閱和發布消息的模式傳輸消息。MQTT協議由IBM公司發明的即時通訊協議,支持全平臺,并且該協議占用資源較少,客戶端易于集成在嵌入式終端設備,并且能夠穩定實時傳輸數據,在機器到機器(M2M)和物聯網(IoT)等領域得到了廣泛應用[4]。

MQTT消息客戶端到客戶端的傳輸需要通過消息中間件來完成,在客戶端與消息中間件之間使用發布/訂閱的模式,通過消息中間件轉發消息[5]。如圖2所示,在MQTT的3個客戶端與消息中間件建立連接之后,根據自己業務需求按照消息主題訂閱和發布消息。圖2中MQTT客戶端1將消息發布到消息中間件,消息中間件根據訂閱主題需求將消息發布到訂閱該消息的客戶端2和客戶端3。同理客戶端2和客戶端3發布消息的模式與客戶端1發布消息的模式相同。

圖2 MQTT發布/訂閱模式

2.1 MQTT協議報文

MQTT協議通過交換報文進行通信,MQTT協議報文內容包括固定報頭、可變報頭和有效負載[5]。其中固定報頭包括MQTT協議的控制類型和保留位,如圖3所示;可變報頭包括協議名稱、協議級別和連接標志位以及心跳檢測時長;負載即為傳輸消息內容。

圖3 固定報頭格式

MQTT規范定義了十四種控制報文,主要包括連接相關報文、發布相關報文、訂閱相關報文和心跳檢測相關報文。

2.2 MQTT通信

MQTT消息使用主題名和負載內容的形式傳輸。主題為消息名,負載為實際傳輸消息的內容。客戶端首先與中間件建立連接,然后客戶端向消息中間件訂閱或發送主題消息。

MQTT根據主題區分消息,每條消息都有一個主題。消息中間件通過識別主題判斷該消息應該被發送到哪個訂閱客戶端。

為保證消息的傳輸,MQTT消息可以設置消息服務質量等級(QoS)。服務質量等級共有3種:當QoS=0時,無論消息接收方是否收到消息,最多發送一次消息;當QoS=1時,為確保消息到達,至少發送一次;當QoS=2時,消息僅發送一次,是最高等級的服務質量,不允許消息丟失和重復。

3 系統設計

系統由四部分組成,分別為:在線離子色譜儀、云服務器、云短信平臺和手機應用客戶端。如圖4所示。

圖4 在線離子色譜儀遠程監控系統的軟件架構

在線離子色譜儀連接到云服務器,并發送各項參數和報警信息。云服務器將監控參數發送至手機應用客戶端,將報警消息發送至云短信平臺,云短信平臺將報警消息以短信的形式發送至手機短信。

3.1 在線離子色譜儀數據發送

在線離子色譜儀發送數據至云服務器采用MQTT協議。MQTT協議是應用協議基于TCP/IP協議通信,在線離子色譜儀采用嵌入式Linux系統,MQTT協議調用Linux系統函數進行TCP/IP通信。MQTT客戶端函數調用Eclipse Paho的嵌入式C++語言函數包中的函數[6]。其程序流程如圖5所示。

圖5 在線離子色譜儀集成MQTT客戶端流程圖

在IPStack棧中封裝基于Socket套接字的通信函數,有connect、read和write3種函數。然后使用IPStack函數中的connect函數連接云服務器,connect函數基于Socket套接字的操作,通過IP協議地址和端口號連接云服務器。

MQTT客戶端連接云服務器首先使用IPStack棧進行網絡初始化,然后調用MQTT客戶端connect函數向云服務器中的MQTT消息中間件發送連接報文,連接報文內容包括連接服務器中MQTT消息中間件用戶名和密碼。云服務器端返回連接確認報文,根據返回連接報文確認是否連接成功。MQTT客戶端成功連接之后,調用MQTT客戶端中的publish函數發布需要發送的消息主題和內容。其部分實現代碼如下:

IPStackipstack = IPStack();

MQTT::Client client=MQTT::Client

(ipstack);

intOnlineClient =ipstack.connect(hostname, port);

OnlineClient = client.connect(data);

OnlineClient = client.publish(topic, message);

如果在線離子色譜儀中發生異常,異常消息通過集成的MQTT客戶端發送到云服務器,云服務器會根據消息的主題對消息做相應的處理。云服務器會發送心跳包檢測設備端是否在線,這樣可以保持設備的長連接。如果設備網絡發生中斷,服務端無法檢測不到設備端,會將設備端的遺囑消息發出,通知設備維護人員設備發送網絡中斷已經掉線。

3.2 云服務器設計

云服務器由兩部分構成,分別為MQTT的消息中間件和短信網關。

3.2.1 MQTT消息中間件

本系統采用開源的Mosquitto[7]作為消息中間件,支持MQTT協議,提供輕量級的訂閱/發布模型。在Mosquitto中配置用戶登錄模塊和訪問控制列表(ACL)模塊。MQTT客戶端連接Mosquitto需要發送用戶名和密碼進行驗證,只有驗證通過才能成功連接消息中間件,否則Mosquitto會拒絕連接。

配置用戶名和密碼前需要新建一個存放用戶名和密碼的文件,在此文件中,用戶名是明文顯示,密碼顯示是經過加密的。然后將此文件的路徑加載到配置文件中并在配置文件下將任意連接設置為否。產生用戶名密碼的命令為:

mosquitto_passwd /etc/mosquitto/passwd admin

Password: ******

Reenter password:******

其中passwd為存放密碼文件,admin為用戶名,根據提示輸入密碼。在文件中用戶名為明文,密碼是經過加密處理的密文文件。

MQTT客戶端與服務器建立連接之后,訂閱的主題受訪問控制列表文件的限制[8],只有訂閱訪問列表文件中的相應用戶下的主題,MQTT客戶端才能收到正確的訂閱消息。ACL表格式為:

user admin

[read/write]

這種格式只是影響username的客戶端訂閱相關話題。將ACL相關文件的路徑寫到配置文件中完成配置。

3.2.1 短信網關

在線離子色譜儀監控系統具有報警功能。在云服務器上部署短信網關,通過短信網關發送需要發送的消息內容到第三方云短信平臺發送短信至用戶手機。短信網關集成MQTT客戶端并調用阿里大于[9]短信接口發送短信,其程序設計流程如圖6所示。

圖6 短信網關程序設計流程圖

集成在短信網關中的MQTT客戶端首先訂閱報警消息主題,然后使用MQTT的回調函數等待訂閱消息。當訂閱消息到達時,在MQTT的回調函數中調用發送短信模塊,發送短信模塊內有預定的手機號碼和具體短信內容,發送短信模塊會將消息發送至阿里大于云短信平臺,云短信平臺將消息以短信的形式轉發至指定號碼的手機中。

該短信模塊設計方案避免每個離子色譜儀都集成硬件短信發送模塊,多臺機器使用第三方短信平臺,不需要維護發送短信設備。這種方式既能保持短信發送的實時性,又節省經濟成本。

3.3 Android客戶端監控數據

用戶可以通過手機應用客戶端隨時隨地查看在線離子色譜儀的運行參數。本系統設計監控在線離子色譜儀的Android客戶端,客戶端連接網絡遠程查看在線離子色譜儀的運行情況。

手機應用客戶端接收消息目前有拉和推兩種方式實現,拉是手機應用客戶端定期循環向服務器端詢問是否有消息發送。推是一旦有消息到達服務器端主動向手機應用客戶端發送消息。本設計的監控參數采用推的方式發送消息至Android手機客戶端。

云服務器發送消息Android手機客戶端采用MQTT協議實現消息推送[10]。在Android客戶端添加參數顯示界面和消息通知欄。參數顯示界面可以顯示訂閱的各項參數,在通知欄中顯示異常參數通知。

在Android客戶端程序設計,使用ServicePush模塊集成MQTT客戶端,連接云服務器成功之后,訂閱相關主題。當云服務器中Mosquitto有客戶端訂閱消息到達時,Android客戶端可以查看在線離子色譜儀發出的相關參數。其程序設計流程圖如7所示。采用MQTT協議的推送方式既實現消息的實時推送,又節省手機客戶端的電量和流量。

圖7 Android手機客戶端程序設計流程圖

4 測試與分析

使用當下的云計算技術,將服務器端部署在阿里云服務器中,使服務器端不受硬件環境的限制,提高服務器的穩定性和可擴展性。機器配置為Cpu為1核,內存為2 G,帶寬為1 M。

在云服務器中安裝Mosquitto-1.4.8。在Mosquitto的配置文件中,配置用戶登錄和訪問控制。并將短信網關應用程序部署在云服務器中。

將MQTT嵌入式客戶端的C++程序集成到在線離子色譜儀的工作站程序中,在Andriod客戶端程序中集成MQTT客戶端程序。在線離子色譜儀參數異常觸發報警,發送短信至手機,在Android客戶端查看在線離子色譜儀各項參數,如圖7所示。

圖7 手機短信報警和監測數據顯示

經測試,系統能夠滿足遠程監控要求,并且對在線離子色譜儀色譜運行參數異常發送報警信息到指定號碼手機短信中。參數監控可以滿足實時要求,報警短信能及時到達用戶手機。

5 總結與展望

本文論述了基于MQTT協議的在線離子色譜儀監控系統的實現。將MQTT的客戶端集成到設備目前運行的系統中非常方便。MQTT協議是輕量級協議,占用系統資源較少,不影響設備的正常運行和其他功能的使用。設備端采用C++語言實現,其中短信網關和手機應用客戶端采用Java語言實現,實現了跨語言平臺的通信,完成推送在線離子色譜儀各項參數到手機應用客戶端和短信報警功能。經過實際使用測試,目前監控系統檢測各項參數準確,短信報警實時,能夠滿足監控設備的需要。該系統實現了嵌入式系統的實時通信,使用軟件技術減少設備端硬件的重復部署,提高系統的通信穩定性,降低系統耦合的經濟成本。

下一步工作是將在線離子色譜儀的采集的原始數據信息通過MQTT協議加密傳輸,并可以通過WEB和手機應用對在線離子色譜儀發送控制命令,實現對離子色譜儀的遠程控制。

[1] 馬興錄, 陳 為. 離子色譜分析儀的嵌入式系統設計[J]. 計算機測量與控制, 2006, 14(10):1426-1427,1430.

[2] 高 嵩.基于HTTP協議的嵌入式遠程監控系統的研究[D]. 北京:北京工業大學 2009,3.

[3] 翟 順,王衛紅,張 衎,等.基于SIM900A的物聯網短信報警系統[J].現代電子技術,2012,35(5):86-89.

[4] MQ Telemetry Transport.[EB/OL]. http://mqtt.org.2016-09-10.

[5] MQTT Version 3.1.1[EB/OL]. http://mqtt.org/documentation.2014.

[6] Paho MQTT Client.[EB/OL]. https://eclipse.org/paho.

[7] Mosquitto[EB/OL]. https://mosquitto.org.2016-08-25.

[8] 任 亨, 馬 躍, 楊海波,等. 基于MQTT協議的消息推送服務器[J]. 計算機系統應用, 2014, 23(3):77-82.

[9] 阿里大于[EB/OL]. http://www.alidayu.com.2016-07-10.

[10] Tang K, Wang Y, Liu H, et al. Design and implementation of push notification system based on the MQTT protocol[A].International Conference on Information Science and Computer Applications (ISCA 2013)[C]. 2013: 116-119.

DesignofaRemoteMonitoringSystemBasedonMQTTProtocolforOn-lineIonChromatographyInstrument

SunYanqin,MaXinglu,GuoKongyue

(CollegeofInformationScienceandTechnology,QingdaoUniversityofScienceandTechnology,Qingdao266061,China)

On-line ion chromatograph Instrument is a chemical analysis instrument,which can make continuous automatic analysis of the sample and display the ion content of the sample in the form of a spectrogram.In order to ensure continuous detection of the sample, the instrument requires non-stop running.As the equipment is often placed in the studio or remote areas, we need to monitor the on-line ion chromatograph instrument at remote.For this problem we design the remote monitoring system for on-line ion chromatograph instrument. The system realizes functions such as viewing running parameters of on-line ion chromatograph instrument on mobile and receiving alarm SMS messages on mobile by integrating the MQTT client in on-line ion chromatograph instrument and deploying broker of MQTT and gateway for SMS.

on-line ion chromatograph instrument; MQTT protocol; remote monitor; SMS alarming

2016-11-11;

2016-11-28。

山東省自然科學基金(ZR2013FL013)。

孫燕芹(1989-),女,山東濟寧人,碩士研究生,主要從事嵌入式系統方向的研究。

1671-4598(2017)04-0251-03DOI:10.16526/j.cnki.11-4762/tp

TP

A

主站蜘蛛池模板: 色噜噜在线观看| 四虎影视库国产精品一区| 韩日无码在线不卡| 亚洲无码精品在线播放| 国产精品福利一区二区久久| 日韩无码黄色网站| 美女黄网十八禁免费看| 香蕉视频在线精品| 国产手机在线小视频免费观看| 看你懂的巨臀中文字幕一区二区| 免费AV在线播放观看18禁强制| 在线观看视频99| 国产在线一区二区视频| 国产一级毛片网站| 欧美精品v欧洲精品| 日韩人妻无码制服丝袜视频| 免费A级毛片无码免费视频| 亚洲无限乱码一二三四区| 欧美中文字幕无线码视频| 黄色网站不卡无码| 中文无码精品A∨在线观看不卡| 欧美一级高清片欧美国产欧美| 波多野结衣无码AV在线| 91精品人妻互换| 成人无码一区二区三区视频在线观看 | yjizz视频最新网站在线| 亚洲一区二区三区麻豆| 精品综合久久久久久97超人该| 呦女精品网站| 国产自在线播放| 欧美日韩亚洲国产| 欧美在线综合视频| 狼友av永久网站免费观看| 欧美a在线看| 中文字幕人妻av一区二区| 九九九精品成人免费视频7| 国产迷奸在线看| 91精品专区国产盗摄| a毛片在线免费观看| 色天天综合| 成人午夜久久| 免费A∨中文乱码专区| 欧美一道本| 国外欧美一区另类中文字幕| 亚洲a级毛片| 老色鬼欧美精品| 免费xxxxx在线观看网站| 久久这里只有精品国产99| 永久天堂网Av| 成人在线观看不卡| 亚洲国产日韩欧美在线| 亚洲福利一区二区三区| 国产欧美视频综合二区| 欧美全免费aaaaaa特黄在线| 全部无卡免费的毛片在线看| 国产精品久久国产精麻豆99网站| 91在线免费公开视频| 国精品91人妻无码一区二区三区| 伊人激情综合| 亚洲第一视频网| 婷婷六月激情综合一区| 欧美精品v| 精品久久777| 亚洲,国产,日韩,综合一区| 日韩a级毛片| 亚洲自偷自拍另类小说| 日本午夜网站| 秋霞国产在线| 麻豆国产精品| 成人综合在线观看| 乱人伦视频中文字幕在线| 国产精品福利社| 欧美日韩91| 久久婷婷五月综合色一区二区| 国产三区二区| 亚洲黄色视频在线观看一区| 一边摸一边做爽的视频17国产| 99r在线精品视频在线播放| 国产门事件在线| 日本成人不卡视频| 国产91丝袜| 国产欧美日韩91|