國機(jī)集團(tuán)科學(xué)技術(shù)研究院有限公司 鄭源濱
近年來,隨著移動(dòng)通信網(wǎng)絡(luò)與物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和融合,基于“3G物聯(lián)網(wǎng)云端平臺”的產(chǎn)品方案在不斷被提出和實(shí)現(xiàn)。其中,使用傳感器技術(shù)、射頻識別技術(shù)、網(wǎng)絡(luò)通信技術(shù)、嵌入式開發(fā)技術(shù)的網(wǎng)絡(luò)產(chǎn)品,越來越廣泛地應(yīng)用于工業(yè)生產(chǎn)、軌道交通、智能家居、環(huán)境監(jiān)控等各個(gè)領(lǐng)域中。
3G技術(shù)(第三代移動(dòng)通信)是融合了多媒體告訴通信的新一代移動(dòng)網(wǎng)絡(luò)系統(tǒng)技術(shù),其升級的軟硬件設(shè)備支持高速的數(shù)據(jù)傳輸,目前存在四種標(biāo)準(zhǔn):CDMA2000,WCDMA,TD-SCDMA,WiMAX。
Zigbee是一種短距離、低速率的無線傳感器網(wǎng)絡(luò)技術(shù),基于IEEE 802.15.4無線標(biāo)準(zhǔn),使用免費(fèi)的2.4GHz通信頻段,具有自診斷、自組織網(wǎng)絡(luò)、自動(dòng)路由、網(wǎng)絡(luò)自愈等功能和優(yōu)點(diǎn)[1]。
GAE(Google App Engine)是一個(gè)Google管理中心用于Web應(yīng)用程序開發(fā)和托管的云平臺,支持Google云計(jì)算和互聯(lián)網(wǎng)服務(wù)引擎操作,并具有專有數(shù)據(jù)庫,提供穩(wěn)定免費(fèi)的網(wǎng)站空間[2]。
為了使得物聯(lián)網(wǎng)和移動(dòng)通信網(wǎng)能夠結(jié)合,發(fā)揮信息網(wǎng)絡(luò)IT技術(shù)更大的作用,本文基于“Zigbee傳感網(wǎng)”和“3G互聯(lián)網(wǎng)”技術(shù),以智能儀表無線抄表為背景,設(shè)計(jì)了一種新型智能電表數(shù)據(jù)采集系統(tǒng)。并且在上位機(jī)服務(wù)器中,使用GAE服務(wù)引擎開發(fā)互聯(lián)網(wǎng)應(yīng)用程序,實(shí)現(xiàn)服務(wù)型網(wǎng)站的基礎(chǔ)功能。
智能電表數(shù)據(jù)采集系統(tǒng)總體設(shè)計(jì)如圖1所示。
智能電表數(shù)據(jù)采集系統(tǒng)由三層結(jié)構(gòu)組成,第一層使用Zigbee智能電表作為數(shù)據(jù)終端;第二層使用3G無線集中器網(wǎng)關(guān)作為連接設(shè)備,集中器利用3G上網(wǎng)方式進(jìn)入Internet,訪問服務(wù)器網(wǎng)站。第三層使用服務(wù)器網(wǎng)站作為管理中心平臺,對集中器進(jìn)行遠(yuǎn)程的響應(yīng)和操作,方便電力公司和其他專業(yè)公司的應(yīng)用。系統(tǒng)主要實(shí)現(xiàn)了電表無線自動(dòng)抄表和信息管理等功能,核心組件由以下三部分構(gòu)成。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
圖2 電表數(shù)據(jù)采集電路
圖3 無線zigbee接口電路
圖4 集中器總體設(shè)計(jì)框圖
圖5 SIM5218模塊接口電路
基于Zigbee技術(shù)設(shè)計(jì)的智能電表,兼容了無線抄表的功能。它利用CC2430單片機(jī),接收電能計(jì)量模塊ADE7755的脈沖量信號,利用Zigbee無線網(wǎng)絡(luò)通信方式,可將測量數(shù)據(jù)定時(shí)上傳,中斷響應(yīng)上位機(jī)實(shí)時(shí)抄表、命令下載執(zhí)行等功能[3]。
集中器網(wǎng)關(guān)的功能在于建立電表與管理系統(tǒng)的異構(gòu)網(wǎng)絡(luò)互聯(lián)。網(wǎng)關(guān)通過Zigbee網(wǎng)絡(luò)從智能電表中采集數(shù)據(jù),將采集信息通過3G網(wǎng)絡(luò)上傳至網(wǎng)絡(luò)服務(wù)器,同時(shí)應(yīng)答服務(wù)器的相關(guān)命令。集中器帶有SIM卡接口和人機(jī)界面,支持網(wǎng)絡(luò)運(yùn)營商提供的其他3G相關(guān)業(yè)務(wù)。
圖6 總體程序流程圖
圖7 集中器通信程序流程圖
管理系統(tǒng)網(wǎng)站是上位機(jī)服務(wù)器管理中心,提供擴(kuò)展的信息管理業(yè)務(wù)。它利用Google的軟硬件平臺,提供良好的運(yùn)行環(huán)境。網(wǎng)站基于Spring MVC框架,使用異步JavaScript和XML技術(shù)開發(fā)網(wǎng)頁,優(yōu)化用戶界面,提高服務(wù)器性能。另外,GAE提供豐富的資源如E-Mail接口,方便用戶開發(fā)擴(kuò)展功能。
系統(tǒng)硬件設(shè)計(jì)的核心是Zigbee智能電表和無線3G集中器網(wǎng)關(guān)的硬件設(shè)計(jì)。
相比于傳統(tǒng)的支持DL/T645-2007規(guī)約RS-485總線型電表,Zigbee智能電表功耗低、布置方便、
克服遠(yuǎn)程布線帶來的缺陷,還兼容抄表器的功能。
Zigbee智能電表以CC2430作為核心控制芯片。CC2430作為支持SoC片上系統(tǒng)解決方案的控制芯片,支持Zigbee基礎(chǔ)的2.4GHz ISM波段應(yīng)用。內(nèi)置的8051內(nèi)核可以方便ADE7755單相表計(jì)量芯片與51單片機(jī)之間的硬件設(shè)計(jì)的移植,并支持軟件的一致性設(shè)計(jì)。其中,ADE7755電能計(jì)量數(shù)據(jù)采集電路原理如圖2所示。
在實(shí)現(xiàn)Zigbee基本節(jié)點(diǎn)的功能之后,為了使節(jié)點(diǎn)能夠在多變的環(huán)境下穩(wěn)定通信,需要加大網(wǎng)絡(luò)節(jié)點(diǎn)的通信距離和收發(fā)功率。其中,CC2591是一款2.4GHz頻段無線應(yīng)用的高效RF前端,它能夠通過功率放大器提升至高達(dá)22dBm的輸出功率從而增長通信距離以及通信穩(wěn)定性[4]。由于CC2430與CC2591具有良好的兼容性,兩者的連接并不需要復(fù)雜的外圍電路,電路原理如圖3所示。
原理圖中,RF_N,RF_P引腳分別與CC2430的對應(yīng)引腳相連,RXTX引腳與TXRX_SWICTH相連,即實(shí)現(xiàn)了傳輸信號的連接。為了提高高頻電路電源的穩(wěn)定性,在AVDD_PA1,AVDD_PA2,AVDD_LNA放大器的供電電源端口,均并聯(lián)2個(gè)解耦電容,用來高頻解耦與低頻解耦。BIAS引腳連接4.7k精確偏置電阻,提供參考電流。ANT引腳則外接單端天線。集中器網(wǎng)關(guān)的硬件中也采用了該電路作為Zigbee無線網(wǎng)絡(luò)的接口。
圖8 網(wǎng)站與集中器網(wǎng)關(guān)通信基本流程
無線3G集中器網(wǎng)關(guān)具有Zigbee和3G網(wǎng)絡(luò)接口,實(shí)現(xiàn)局域網(wǎng)和廣域網(wǎng)的互聯(lián)功能。按照模塊化設(shè)計(jì)的方法,總體設(shè)計(jì)框圖如圖4所示。
集中器網(wǎng)關(guān)的硬件設(shè)計(jì)主要分以下部分:
(1)選擇ARM9微控制器芯片S3C2440,設(shè)計(jì)Nor FLASH、Nand FLASH、SDRAM、EERPROM和SD卡存儲器電路。(2)設(shè)計(jì)無線Zigbee接口電路,使用CC2430+CC2591芯片,與S3C2440串口連接。集中器的CC2430作為Zigbee網(wǎng)絡(luò)的主站,控制Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)傳輸。(3)設(shè)計(jì)無線3G接口電路,S3C2440以USB的方式連接SIM5218專用模塊,可滿足無線數(shù)據(jù)速率的要求。(4)其他外圍電路:如外部看門狗、LED指示燈、撥碼開關(guān)、串行總線、以太網(wǎng)、JTAG調(diào)試接口等。
集中器網(wǎng)關(guān)選用SIMCom SIM5218模塊,它是一款四頻GSM/GPRS/EDGE WCDMA和GPS的組合模塊,接口豐富。
控制器SC32440通過USB接口與SIM5218進(jìn)行通信。SIM5218模塊接口電路原理如圖5所示。原理圖將SIM5218芯片的基本功能引腳引出,包括高速USB接口引腳:USB_D+、USB_D-;串行數(shù)據(jù)接口引腳:UART_TXD、UART_RXD;SIM卡接口引腳:CARD_CLK、CARD_V、CARD_RST、CARD_DATA;以及音頻引腳MIC_N、MIC_P、MIC_IN。原理圖使用了SIM5218普通I/O引腳,GPIO1:輸出信號,控制三極管Q1,導(dǎo)通/關(guān)閉LED,越來指示3G通信網(wǎng)絡(luò)的狀態(tài)。GPIO3:輸入信號,作為控制器的請求信號量REQ_IT,當(dāng)輸入有效時(shí),說明控制器已準(zhǔn)備好數(shù)據(jù)傳輸。GPIO5:輸出信號,作為SIM5218的請求信號量S_RTS,當(dāng)輸出有效時(shí),說明SIM5218已準(zhǔn)備好數(shù)據(jù)傳輸。
嵌入式軟件設(shè)計(jì)主要包括Zigbee智能電表固件和無線3G集中器網(wǎng)關(guān)固件設(shè)計(jì)。本文重點(diǎn)闡述集中器網(wǎng)關(guān)的軟件設(shè)計(jì)。
集中器網(wǎng)關(guān)應(yīng)用了嵌入式Linux操作系統(tǒng)作為開發(fā)平臺。Linux內(nèi)核驅(qū)動(dòng)程序主要為USB驅(qū)動(dòng)、USB轉(zhuǎn)串口驅(qū)動(dòng)和PPP撥號驅(qū)動(dòng)程序。由于Linux內(nèi)核提供了USB core子系統(tǒng)來處理USB設(shè)備大部分的復(fù)雜工作,主要工作在于驅(qū)動(dòng)程序和USB core的接口設(shè)計(jì),以設(shè)備的接口提供的功能為基礎(chǔ)進(jìn)行USB驅(qū)動(dòng)程序的編寫。在完成函數(shù)調(diào)用后,將相應(yīng)的USB驅(qū)動(dòng)提交給設(shè)備模型,添加到USB總線的驅(qū)動(dòng)鏈表里即可。
在完成內(nèi)核驅(qū)動(dòng)程序設(shè)計(jì)之后,集中器Linux系統(tǒng)啟動(dòng)3G撥號上網(wǎng)程序,將自身IP注冊到運(yùn)營商服務(wù)器其中,之后定時(shí)啟動(dòng)socket套接字 通信任務(wù),按照已經(jīng)注冊的IP和端口號,建立基于TCP的可靠性連接,完成與服務(wù)器的握手。由于SIM5218自動(dòng)支持7.2Mbps的下行速度及5.76Mbps的上行速度服務(wù),因此傳輸速率不是限制系統(tǒng)通信效率的因素。
集中器在與管理系統(tǒng)完成握手連接之后,啟動(dòng)應(yīng)用程序,之后執(zhí)行中斷處理程序,主要包括:Zigbee串口中斷處理服務(wù)程序、3G中斷處理服務(wù)程序和設(shè)備中斷處理服務(wù)程序分別完成,分別完成Zigbee電表節(jié)點(diǎn)數(shù)據(jù)采集、3G數(shù)據(jù)發(fā)送與接收、人機(jī)界面操作與顯示的功能。應(yīng)用程序的總體設(shè)計(jì)框圖,如圖6所示。Linux環(huán)境下中斷服務(wù)程序設(shè)計(jì)面向?qū)ο?,只要確定中斷觸發(fā)條件,并將中斷服務(wù)程序注冊到系統(tǒng)中即可。
3G數(shù)據(jù)通信由集中器網(wǎng)關(guān)發(fā)起,以定時(shí)器中斷的方式進(jìn)行。每隔一段時(shí)間(可設(shè)置),集中器開啟Zigbee網(wǎng)絡(luò),輪詢節(jié)點(diǎn)電表的電量信息,并與原有的記錄進(jìn)行對比,若發(fā)生變化,首先分析其變化范圍是否合理,若在計(jì)算算法的合理范圍內(nèi),則將歷史記錄修改,并啟動(dòng)3G通信數(shù)據(jù)傳輸過程。
集中器網(wǎng)關(guān)完整的數(shù)據(jù)通信流程如下圖7所示。此為基于客戶端的通信程序流程圖,其中,網(wǎng)絡(luò)服務(wù)器地址是固定的,由管理系統(tǒng)統(tǒng)一分配。
管理系統(tǒng)網(wǎng)站可以設(shè)置在電力公司大樓或小區(qū)物業(yè)管理中心,除了完成無線抄表功能外,還可以作為一個(gè)宣傳、加強(qiáng)公司客戶溝通的平臺。用戶可以通過各種終端設(shè)備登陸網(wǎng)站獲取想要的信息。
基于服務(wù)器端的網(wǎng)站基本數(shù)據(jù)通信流程如下圖8所示。通信數(shù)據(jù)格式采用HTTP報(bào)文協(xié)議。當(dāng)集中器定時(shí)發(fā)起3G數(shù)據(jù)傳輸時(shí),網(wǎng)絡(luò)服務(wù)器接收集中器發(fā)來的數(shù)據(jù),首先進(jìn)行數(shù)據(jù)來源驗(yàn)證,其次拆包數(shù)據(jù)進(jìn)行校驗(yàn),若通過則將數(shù)據(jù)記錄在對應(yīng)的數(shù)據(jù)實(shí)體,并保存至數(shù)據(jù)庫中,最后返回一個(gè)狀態(tài)代碼,該狀態(tài)代碼流程基于W3C標(biāo)準(zhǔn)HTTP協(xié)議狀態(tài)代碼實(shí)現(xiàn)。
服務(wù)器系統(tǒng)處理動(dòng)作如下:(1)當(dāng)網(wǎng)址不存在、服務(wù)器存在錯(cuò)誤時(shí),系統(tǒng)結(jié)束通信并返回錯(cuò)誤狀態(tài)代碼;(2)當(dāng)服務(wù)器對報(bào)文數(shù)據(jù)校驗(yàn)出錯(cuò)、服務(wù)器保存出錯(cuò)、報(bào)文請求超時(shí),系統(tǒng)要求集中器重傳;(3)當(dāng)集中器成功上傳數(shù)據(jù)并通過驗(yàn)證和校驗(yàn)時(shí),系統(tǒng)結(jié)束并返回準(zhǔn)確狀態(tài)代碼,數(shù)據(jù)更新至后臺數(shù)據(jù)庫中;(4)當(dāng)服務(wù)器收到報(bào)文請求,但身份驗(yàn)證信息不正確,系統(tǒng)報(bào)告服務(wù)器出錯(cuò)設(shè)備ID。
集中器設(shè)備采用HTTP協(xié)議傳輸數(shù)據(jù),數(shù)據(jù)內(nèi)容采用json方式,并存儲到HTTP報(bào)文中。數(shù)據(jù)校驗(yàn)采用CRC(Cyclic Redundancy Check,循環(huán)冗余校驗(yàn)碼)方式,確保數(shù)據(jù)正確傳輸。集中器設(shè)備使用REST方式訪問接口,通過一般Response答復(fù)機(jī)制,查看代碼中異常處理返回值的狀態(tài)。
本文重點(diǎn)研究了基于Zigbee和3G技術(shù)的無線智能電表數(shù)據(jù)采集系統(tǒng),研發(fā)了Zigbee無線智能電表、具有3G網(wǎng)絡(luò)接口和Zigbee網(wǎng)絡(luò)接口的集中器設(shè)備及其管理系統(tǒng)網(wǎng)站。該系統(tǒng)結(jié)合自定義的智能電表串口接入?yún)f(xié)議,采用嵌入式Linux操作系統(tǒng)作為開發(fā)平臺,主要實(shí)現(xiàn)集中器數(shù)據(jù)采集、撥號上網(wǎng)和與網(wǎng)絡(luò)服務(wù)器的3G數(shù)據(jù)通信功能。
管理系統(tǒng)設(shè)計(jì)采用Spring技術(shù)作為主框架,GAE作為系統(tǒng)引擎;采用Cron技術(shù)實(shí)現(xiàn)郵件傳遞,GWT及Spring MVC技術(shù)完成界面顯示,并使用JCache提高頁面訪問速度。通過整合GWT和XMPP通信模塊,擴(kuò)展了管理系統(tǒng)的功能,可實(shí)現(xiàn)論壇、微博以及在線用戶聊天等功能。
[1]李文仲,段朝玉.Zigbee 2006無線網(wǎng)絡(luò)與無線定位實(shí)戰(zhàn)[M].北京航空航天大學(xué)出版社,2008:5-7.
[2]胡泉,胡金柱,謝芳.基于GAE的專業(yè)服務(wù)網(wǎng)信息獲取技術(shù)研究[J].電信科學(xué),2011(12):21-22.
[3]周軍,史興才,徐超.基于ZigBee的多用戶智能電表設(shè)計(jì)[J].電測與儀表,2010(01):57-58.
[4]黃玉立,童玲,田雨.基于CC2531+CC2591的WSN節(jié)點(diǎn)通信模塊設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(01):71-72.