陳彥彬+李鎮(zhèn)偉+駱文彬+許柏勝+高文娜+周榮坤



摘要:基于工業(yè)現(xiàn)場總線ModBus協(xié)議設(shè)計集Zigbee、WIFI、433 MHz物理層通信方式的物聯(lián)網(wǎng)環(huán)境監(jiān)測系統(tǒng),網(wǎng)關(guān)硬件平臺選用基于CortexTM-A8架構(gòu)的Samsung S5PV210處理器,采集終端選用STC12C5A16S2、CC2530單片機;系統(tǒng)網(wǎng)關(guān)軟件平臺選用Linux內(nèi)核,采用Qt/Embedded構(gòu)建平臺的嵌入式GUI系統(tǒng),同時集成USB攝像頭、RFID刷卡器等功能;遠程云服務器平臺采用第三方物聯(lián)網(wǎng)平臺,在網(wǎng)關(guān)部署shell腳本,運行調(diào)用CURL工具,實現(xiàn)與云端服務器的數(shù)據(jù)傳輸。系統(tǒng)設(shè)計具有實時性、實用性和可擴展性等優(yōu)點。
關(guān)鍵詞: ModBus協(xié)議; 物聯(lián)網(wǎng); 網(wǎng)關(guān); 監(jiān)測系統(tǒng)
中圖分類號: S126, TP393
文獻標志碼:A
文章編號:2095-2163(2017)05-0026-05
Abstract:Based on the industrial field bus ModBus protocol, the Internet of things environment monitoring system is designed that integrates 433 MHz physical layer communication mode、 WIFI and Zigbee.The gateway hardware platform selects S5PV210 Samsung processor based on CortexTM-A8 architecture.Acquisition terminal uses CC2530, STC12C5A16S2 microcontroller. System gateway software platform uses Linux kernel. After that, Qt/Embedded is selected to build embedded GUI system of the platform. At the same time, USB camera, RFID card reader, etc are also integrated. Moreover, third party Internet of things platform is adopted in the remote cloud server platform, and shell script is deployed that runs and calls CURL tool in the gateway to implement data transmission from the cloud server. The system design has the advantages of real time, practicability and expansibility.
Keywords: ModBus protocol; Internet of things; gateway; monitoring system
基金項目: [廣東省2016年度大學生科技創(chuàng)新培育專項資金立項項目(pdjh2016a0780);揭陽職業(yè)技術(shù)學院2014年科學研究項目(2014JYCKY10)。
0引言
隨著嵌入式技術(shù)、傳感器技術(shù)、通信技術(shù)、視頻識別技術(shù)以及計算機技術(shù)等多種技術(shù)和學科的發(fā)展,網(wǎng)絡通信各種協(xié)議不斷應用到各行各業(yè),如Zigbee、藍牙、WIFI、6LoWPAN、GPRS、433 MHz射頻等等[1-4],這些應用從一定程度上提高了各行各業(yè)的生產(chǎn)效率、效益和智能化水平[5-7]。但是仍然存在某些問題,例如:由于通信協(xié)議眾多、不同協(xié)議之間的設(shè)備無法直接通信;各個網(wǎng)絡均為局域網(wǎng)絡、覆蓋能力差、無法實現(xiàn)互通互聯(lián);個別網(wǎng)絡通信現(xiàn)有帶寬較小,僅限于傳輸控制指令和數(shù)據(jù),無法傳輸圖片;自建遠程云服務器,投入成本高、開發(fā)效率低下等。
為解決現(xiàn)代農(nóng)業(yè)、工業(yè)在環(huán)境參數(shù)監(jiān)測與控制等存在的問題,根據(jù)實際農(nóng)業(yè)、工業(yè)的生產(chǎn)環(huán)境,現(xiàn)場采用強抗干擾性的特點,應用ModBus工業(yè)現(xiàn)場總線協(xié)議開發(fā)集溫濕度、光照、煙霧、酒精等常見環(huán)境指標為一體的數(shù)據(jù)采集監(jiān)測與處理一體化系統(tǒng)具有重要現(xiàn)實意義[8-9]。該系統(tǒng)使用戶能夠?qū)崟r監(jiān)測傳感器采集數(shù)據(jù);同時將采集到的數(shù)據(jù)實時地在本地監(jiān)測屏幕上以數(shù)字和曲線圖顯示出來,并與第三方物聯(lián)網(wǎng)平臺有效對接,可以實現(xiàn)遠端用戶對監(jiān)測數(shù)據(jù)查詢、存儲、統(tǒng)計等功能,以及對對象進行控制,極大地滿足了現(xiàn)代農(nóng)業(yè)、工業(yè)現(xiàn)場以及智能決策的需求。
1系統(tǒng)總體設(shè)計
基于ModBus協(xié)議的物聯(lián)網(wǎng)環(huán)境監(jiān)測系統(tǒng)的組成包括:環(huán)境數(shù)據(jù)采集終端、網(wǎng)絡層、網(wǎng)關(guān)、遠程云服務器以及用戶終端等部分,主要實現(xiàn)對底層Zigbee網(wǎng)絡、433 MHz通信網(wǎng)絡以及以太網(wǎng)等多種常見物聯(lián)網(wǎng)通信方式采集到的環(huán)境數(shù)據(jù)進行解釋和轉(zhuǎn)換,封裝為TCP/IP協(xié)議數(shù)據(jù)包并提交至遠程云服務器,使用戶實現(xiàn)遠程監(jiān)測。其系統(tǒng)整體架構(gòu)如圖1所示。
環(huán)境數(shù)據(jù)采集層主要是各個環(huán)境數(shù)據(jù)的采集終端,包括以太網(wǎng)、Zigbee以及433 MHz三種通信方式的數(shù)據(jù)采集終端,采集數(shù)據(jù)的格式全部按照ModBus協(xié)議封裝,同時在主機請求控制下實時將數(shù)據(jù)進行傳送,并執(zhí)行用戶終端控制指令。
網(wǎng)絡層主要是各個通信方式之間進行數(shù)據(jù)傳輸。Zigbee通信子網(wǎng)絡將其網(wǎng)絡中的采集終端數(shù)據(jù)傳送至Zigbee的協(xié)調(diào)器,該協(xié)調(diào)器通過RS232串行接口傳輸至系統(tǒng)網(wǎng)關(guān),由網(wǎng)關(guān)對Zigbee網(wǎng)絡的ModBus協(xié)議應用數(shù)據(jù)單元ADU進行解析,并作相應處理。433 MHz應用子網(wǎng)絡中,ModBus主機通過串行接口RS232與串口WIFI服務器相連接,主要負責將子網(wǎng)絡中的采集終端數(shù)據(jù)中轉(zhuǎn)到串口WIFI服務器從而傳送至系統(tǒng)網(wǎng)關(guān)。以太網(wǎng)數(shù)據(jù)采集終端利用ModBus TCP/IP協(xié)議對采集數(shù)據(jù)進行封裝,并通過串口WIFI服務器將數(shù)據(jù)傳送至系統(tǒng)網(wǎng)關(guān)。endprint
網(wǎng)關(guān)是整個系統(tǒng)的核心,主要負責對ModBus協(xié)議格式的數(shù)據(jù)進行解析、分析和顯示于監(jiān)測屏幕上,同時重新封裝為TCP/IP數(shù)據(jù)包傳送至遠程云服務器;接收和轉(zhuǎn)發(fā)遠程云服務器發(fā)送過來的控制指令至各控制節(jié)點。同時網(wǎng)關(guān)還加入RFID刷卡器,增強系統(tǒng)用戶身份識別功能。為了配合采集終端對異常數(shù)據(jù)取證,系統(tǒng)網(wǎng)關(guān)增加攝像頭功能,可以對監(jiān)測區(qū)域?qū)嵤┮曨l錄像和抓拍,為數(shù)據(jù)分析提供依據(jù)。
遠程云服務器主要負責接收網(wǎng)關(guān)發(fā)送過來數(shù)據(jù)并存儲,同時對用戶終端的各種請求及時響應和傳達用戶終端控制指令至網(wǎng)關(guān)[10]。終端用戶主要是查詢監(jiān)測點的環(huán)境數(shù)據(jù)指標并對監(jiān)測點進行控制等。
2.1.1微控制器MCU
系統(tǒng)采集終端分為2類:采用以太網(wǎng)、433 MHz通信方式的采集終端微控制器選用STC12C5A16S2單片機;Zigbee的采集終端選用CC2530微處理器。STC12C5A16S2是一款新型的單片機,由中央處理器(CPU)、程序存儲器、數(shù)據(jù)存儲器、定時/計數(shù)器、UART串口、I/O接口、高速AD接口、SPI接口、看門狗及片內(nèi)振蕩等模塊組成。Zigbee無線采樣終端模塊采用CC2530芯片,該芯片內(nèi)部集成 8051硬核、無線收發(fā)器、ADC模塊、64 KB的FLASH存儲器、21個通用GPIO和2個UART接口。其無線發(fā)射頻率為2.4 GHz,最大數(shù)據(jù)傳輸速率為250 kbit/s。采集終端的硬件框圖如圖2所示。
2.1.2傳感器
系統(tǒng)監(jiān)測的環(huán)境參數(shù)涉及溫度、濕度、光照、結(jié)露、煙霧、酒精、火焰等傳感器。溫濕度傳感器選用AM2321濕敏電容數(shù)字溫濕度模塊,該產(chǎn)品包含一個電容式感濕元件和一個高精度測溫元件,是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器,使用標準單總線接口,信號傳輸距離可達20 m,響應時間2 s,性價比和抗干擾能力比一般溫濕度傳感器強。光敏傳感器采用的是可見光光敏電阻,其光譜特性與人對可見光的響應很接近,系統(tǒng)還可以根據(jù)應用場合光的波長更換相應的光敏電阻,使其適合監(jiān)測需求。結(jié)露傳感器選用HDS05正特性開關(guān)型元件,其工作電壓為DC0.8 V,溫度范圍1 ℃~80 ℃,工作濕度范圍1%~100%RH,結(jié)露測試范圍94%~100%RH。煙霧、酒精檢測傳感器采用可燃氣體傳感器MQ系列,其所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫(SnO2)。一般可燃性氣體采樣MQ-2,檢測濃度范圍為300~10 000 ppm。酒精檢測則選用MQ-3,其對酒精的靈敏度高,可檢測酒精濃度為0.04~4 mg/L。火焰檢測傳感器使用紅外接收管作為檢測探頭,其能接收波長范圍為700~1 100 nm,火焰產(chǎn)生紅外光為900 nm,在其檢測范圍內(nèi)。
2.2智能網(wǎng)關(guān)
系統(tǒng)智能網(wǎng)關(guān)的硬件框架圖如圖3所示。設(shè)計中,CPU處理器選用基于CortexTM-A8架構(gòu)的Samsung S5PV210,其運行主頻達1 GHz,配有運行頻率200 MHz、512 MB的DDR2 RAM,256 MB的SLC NAND Flash。系統(tǒng)同時配有IIC的EEPROM,AD/DA等。為配合系統(tǒng)完成RFID刷卡、攝像頭采集視頻以及連接互聯(lián)網(wǎng),系統(tǒng)預留3個串行接口、USB接口、SD WIFI接口等。同時增加7寸電容觸摸屏作為監(jiān)測系統(tǒng)網(wǎng)關(guān)的用戶顯示界面。智能網(wǎng)關(guān)運行嵌入式Linux系統(tǒng),內(nèi)核版本為Linux2.6.35.7,根文件系統(tǒng)為yaffs類型。同時為了使USB攝像頭能夠運行
視頻采集功能,還在智能網(wǎng)關(guān)上面移植運行了mjpg-streamer程序,構(gòu)建了基于IP地址的視頻流服務器。通過在智能網(wǎng)關(guān)啟用視頻采集服務,遠端用戶只要通過IP地址即可訪問攝像頭采集到的實時視頻,同時還可以進行圖像抓拍并存儲起來。
ModBus是OSI模型第7層上的應用層報文傳輸協(xié)議,是一個請求/應答協(xié)議,并且提供功能碼規(guī)定的服務,能夠為連接至不同類型總線或網(wǎng)絡之間的設(shè)備提供客戶機/服務器通信。ModBus協(xié)議定義了一個與基礎(chǔ)通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元(PDU)。特定總線或網(wǎng)絡上的ModBus協(xié)議映射能夠在應用數(shù)據(jù)單元(ADU)上引入一些附加域。針對串行總線和以太網(wǎng)上ModBus應用,分別定義ModBus串行鏈路協(xié)議和ModBus/TCP。具體幀格式如圖4所示。ModBus協(xié)議定義了3種PDU,分別是:ModBus請求mb_req_pdu、ModBus響應mb_rsp_pdu、ModBus異常響應mb_excep_rsp_pdu。
在標準的ModBus網(wǎng)絡通信中,監(jiān)測系統(tǒng)可以設(shè)置為2種傳輸模式(ASCII或RTU)中的任何一種。用戶在配置每個控制器的時候,在一個ModBus網(wǎng)絡上的所有設(shè)備都必須選擇相同的傳輸模式和串口通信參數(shù)(波特率、校驗方式等)[11]。該系統(tǒng)通信模式采用RTU模式。研究可得報文格式如表1所示。
根據(jù)ModBus協(xié)議RTU模式報文格式,該系統(tǒng)主節(jié)點請求的報文格式如表2所示。
上面請求報文格式中,功能碼選擇0x03,代表從設(shè)備讀保存到寄存器并返回其中內(nèi)容。第3~6字節(jié)內(nèi)容主要包含要告之從設(shè)備的信息,包括從哪個寄存器開始讀及要讀的寄存器數(shù)量。第7~8字節(jié)為CRC校驗碼,低位在前,高位在后。第1字節(jié)為地址碼,具體如表3所示。
各采集終端應答主機的響應報文格式如表4所示。
對于出現(xiàn)異常情況,將按照ModBus異常響應PDU的定義,其功能碼加上0x80。
3.2系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計包括各采集終端數(shù)據(jù)通信與采集程序、網(wǎng)關(guān)節(jié)點網(wǎng)絡通信與ModBus協(xié)議解析程序、網(wǎng)關(guān)節(jié)點與遠程云服務器通信軟件。采集終端主要依靠串行接口完成通信過程,其主要流程如圖5所示。網(wǎng)關(guān)節(jié)點功能復雜,開啟2個主要線程,完成socket通信和串行接口通信功能,其主要軟件流程如圖6所示。endprint
為了提高開發(fā)的效率,遠程云服務器平臺采用第三方云平臺,根據(jù)遠端云服務器平臺提供的傳感器調(diào)用API地址,編寫網(wǎng)關(guān)的shell腳本和共享變量進程,調(diào)用CURL工具即可實現(xiàn)數(shù)據(jù)上傳至云端服務器和接收云端控制指令。具體調(diào)用
4.3測試結(jié)果及分析
經(jīng)過測試,系統(tǒng)能完全滿足設(shè)計的基本要求,能夠?qū)崿F(xiàn)Zigbee、WIFI、433 MHz多種通信方式下溫度、濕度、光照等環(huán)境數(shù)據(jù)監(jiān)測、攝像頭視頻采集、RFID刷卡身份認證等功能,云端服務器濕度監(jiān)測數(shù)據(jù)如圖8所示,達到了預期效果。系統(tǒng)正常運行,各采集終端節(jié)點采集數(shù)據(jù)的精度為1%,各傳感器采集數(shù)據(jù)平均誤差均在5%以內(nèi),攝像頭采集視頻指標為V4L2、1024×768、20 pfs,網(wǎng)關(guān)CPU占用率為86%,內(nèi)存占用率89%,系統(tǒng)性能良好。
5結(jié)束語
系統(tǒng)利用當前流行的工業(yè)現(xiàn)場總線ModBus協(xié)議,開發(fā)集溫濕度、光照、煙霧、酒精等常見環(huán)境指標為一體的數(shù)據(jù)采集監(jiān)測與處理系統(tǒng),通過物理層433 MHz、ZigBee、WIFI等多種物聯(lián)網(wǎng)通信方式,構(gòu)建了基于Cortex-A8主控核心的數(shù)據(jù)存儲和處理終端,最終通過常見IP網(wǎng)絡,實現(xiàn)與現(xiàn)有第三方物聯(lián)網(wǎng)平臺連接,系統(tǒng)具有先進性、實時性,并且具有很強的通用性和可擴展性等技術(shù)特點。該系統(tǒng)對于構(gòu)建大規(guī)模、自組網(wǎng)物聯(lián)網(wǎng)環(huán)境監(jiān)測與控制提供借鑒和技術(shù)模型,下一步將增加預警和智能決策方面研究和應用,以便系統(tǒng)應用于智能農(nóng)業(yè)溫室大棚、工業(yè)現(xiàn)場環(huán)境參數(shù)監(jiān)測、智能安防、森林防火等多個領(lǐng)域,該系統(tǒng)具有廣泛的技術(shù)推廣價值和應用價值[12]。[JP]
參考文獻:
李將,俞阿龍,蔡文科,等. 基于ZigBee和GPRS的溫室控制系統(tǒng)研究[J]. 江蘇農(nóng)業(yè)科學,2015,43(10):494-497.
[2] 楊海天,于婷婷,李春勝,等. 基于GPRS的土壤墑情遠程監(jiān)測系統(tǒng)[J]. 農(nóng)業(yè)工程,2016,6(1):32-36.
[3] 張效奎,白恩健. 基于6LoWPAN傳感器網(wǎng)關(guān)設(shè)計[J]. 電子科技,2012,25(12):11-14.
[4] 李震,洪添勝,文韜,等. 基于物聯(lián)網(wǎng)的果園實蠅監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J]. 湖南農(nóng)業(yè)大學學報(自然科學版),2015,41(1):89-93.
[5] 張杰,臧賀藏,楊春英,等. 基于物聯(lián)網(wǎng)的農(nóng)業(yè)環(huán)境遠程監(jiān)測系統(tǒng)研究[J]. 河南農(nóng)業(yè)科學,2015,44(12):144-147.
[6] 段鵬偉,王俊學. 基于ZigBee技術(shù)的日光溫室環(huán)境監(jiān)控系統(tǒng)設(shè)計[J]. 南方農(nóng)機,2015(12):34-36.
[7] 黃鶯. 基于無線傳感技術(shù)的稻田信息監(jiān)測系統(tǒng)[J]. 農(nóng)機化研究,2016(7):167-171.
[8] 陳可偉,張金成,王鈺,等. 基于ModBus協(xié)議的無線傳感器網(wǎng)絡網(wǎng)關(guān)設(shè)計[J]. 測控技術(shù),2016,35(2):99-103.
[9] 耿杏雨,楊帆,王秀,等. 基于ARM的育苗架智能監(jiān)控系統(tǒng)設(shè)計[J]. 農(nóng)機化研究,2015(2):199-202,209.
[10]張騰飛,王飛,馬福民. 基于ModBus 多協(xié)議轉(zhuǎn)換的警情信息遠程監(jiān)控系統(tǒng)[J]. 自動化與儀表,2015(12):37-40.
[11]桑娟萍,梁明亮,趙子忠. 基于ModBus協(xié)議的育苗大棚溫濕度在線監(jiān)測系統(tǒng)[J]. 工業(yè)儀表與自動化裝置,2012(3):48-53.
[12]周麗萍,陳志,苑嚴偉,等. 豬舍環(huán)境無線傳感器網(wǎng)絡監(jiān)控系統(tǒng)研究[J]. 自動化技術(shù)與應用,2016,35(1):56-60,72.endprint