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