李志+羅青青
摘 要:目前我國大城市的井蓋數目隨著城市化的發展逐漸增加,井蓋被盜導致多起意外事故的發生。針對上述情況,設計了一種以S3C6410為核心的無線傳感網絡(WSN)監控系統,該系統以S3C6410處理器和ZigBee CC2530芯片為核心,結合GPRS模塊進行無線通信,并采用SQlite3的嵌入式數據庫進行無線網絡數據存儲。
關鍵詞:無線傳感網絡;ZigBee;S3C6410;GPRS
中圖分類號:TP393;G620.0 文獻標識碼:A 文章編號:2095-1302(2014)02-0051-02
0 引 言
道路上的井蓋遍及城市各地,由于人為偷盜或者長期磨損導致井蓋丟失、塌陷,對過往車輛和行人造成危險。針對井蓋監控手段欠缺,目前以人防、物防為主,急需設計一種技術防范的安全監管系統。近幾年隨著無線傳感網絡的發展,利用無線傳感網絡設計安防領域已成為熱點[1-2]。由于井蓋之間距離較近,結合ZigBee短距離通信技術[3],設計一種基于井蓋安全監控系統的嵌入式網關,網關接收來自無線傳感網絡協調器的數據,處理、存儲后通過GPRS網絡傳輸到公共網絡中。
1 井蓋監控系統的工作原理
本文的井蓋監控系統的工作原理圖如圖1所示,其系統組成為包含井蓋報警器的ZigBee網絡、嵌入式網關、GPRS短信模塊、Web服務器。井蓋報警器之間采用ZigBee無線通信技術,每個報警器作為ZigBee網絡中的節點,通過固定的組網方式形成無線傳感網絡。報警器以接力的方式將數據傳到ZigBee網絡的協調器節點,協調器節點負責接收所有網絡中的報警器節點信息。嵌入式網關通過串口1獲得ZigBee無線傳感網絡中的報警器數據,將數據通過數據庫存儲并處理,將必須的信號發送給GPRS模塊,GPRS電路將其轉發到具有固定IP地址的Web數據庫服務器中,實現報警數據的上傳。市政設施管理處以及自來水廠等政府機構可以通過網絡查詢自己單位的井蓋狀態,是否需要維護,并記錄,同時發送短信給檢修人員,實現及時維修和處理。
圖1 井蓋監控系統工作原理
2 系統網關的硬件設計
本系統的網關硬件組成框圖如圖2所示,該網關包含三星公司的微處理器S3C6410、存儲模塊、JTAG接口、LCD顯示接口、GPRS模塊等。
圖2 網關硬件框圖
2.1 處理器
系統采用三星公司的S3C6410微處理器作為網關硬件電路,S3C6410采用ARM11的內核架構,采用8級流水線與數據地址總線分離的哈佛結構[4-5]。包含多種硬件外設,支持NOR-FLASH,NAND-FLASH,OneNAND,CF,ROM等多種存儲器端口,增加的流水線設計提高了時鐘頻率和并行處理能力。是一種高性能的32位RISC處理器,可以穩定運行在667 MHz主頻以上。主要應用于嵌入式設備、消費類電子、工業控制、車載導航、行業PDA等電子產品。
2.2 存儲模塊
網關的數據都放在存儲模塊中,S3C6410的平臺包含NAND FLASH,NOR FLASH和SD卡三種。NAND FLASH采用三星公司的K9F1G08U0型號,大小為128 MB,存放bootloader、啟動參數、內核、根文件等,網關設計采用從NAND FLASH啟動,選擇德國DENX軟件中心開發的U-Boot作為bootloader進行引導。NOR FLASH采用低電壓供電且具有低功耗模式的S29AL08D芯片,大小為8 MB,3 V供電。S3C6410提供SD卡接口,可以外接SD卡,支持從SD卡啟動。
2.3 JTAG接口
S3C6410可使用簡易JTAG電路對FLASH進行在線編程,通過標準20針接口同宿主機相連接,實現FLASH的擦除和編程。
2.4 GPRS模塊
GPRS模塊采用SIMCOM公司的SIM900A,工作頻段支持EGSM 900 MHz和DCS 1 800 MHz,可以使用包含CS-4等多種編碼格式,內置TCP/IP協議,采用SPI接口,同微處理器S3C6410的串口0相連。
2.5 LCD顯示接口
LCD選用7寸真彩色寬屏AT070TN92,外帶7寸電阻觸摸屏,分辨率800×480, 支持LVDS接口。
3 網關平臺的搭建
S3C6410微處理器采用移植性較強的Linux操作系統,能夠固化在容量小的嵌入式設備,系統內核選用2.6.38.8,搭建網關開發平臺主要包含三個部分:引導程序、內核、系統文件[6-7]。編譯環境選擇交叉編譯,選擇VMware虛擬機,交叉編譯器選用arm-linux-gcc-3.41,實現在Windows操作系統下編譯嵌入式Linux系統執行的文件。
引導程序主要負責加載操作系統,實現硬件的初始化,建立設備的內存映射表。加載方式采用將BootLoader搬移到SDRAM中進行執行,比直接在FLASH中運行速率快。采用開源的U-boot作為BootLoader,針對S3C6410硬件修改體系結構相應代碼實現移植。
內核部分主要針對需要進行內核裁剪和添加,獲取標準的Linux內核2.6.38.8版本,配置Kconfig文件,產生.config文件,通過編譯內核生成內核鏡像文件zImage。將GPRS模塊驅動和LCD驅動編譯生成動態文件,采用insmod方式加載到內核。
系統文件主要制作Linux系統的根文件系統,Linux所有設備都是以文件形式存在,選擇常用的cramfs文件系統,啟動內核需要根文件系統來掛載。下載Busybox工具進行配置,利用mkcramfs制作文件系統的鏡像。
4 網關的軟件設計
井蓋監控系統的網關設計軟件工作流程如圖3所示,包含三個處理事件:串口、數據庫和QT界面設置。
串口處理需要通過啟動進程實現,本系統需要接收ZigBee網絡傳輸的數據,網關和ZigBee網絡的協調器通過串口1連接,網關啟動一個進程接收ZigBee網絡的節點數據,包括節點地址和采集的傳感器參數。當有數據傳輸過來時,按照節點ID將數據存儲在SQlite3數據庫中。
數據庫采用SQlite3的小型嵌入式數據庫,占用250 KB空間大小,支持數據庫達到2 TB。網關啟動后在相應路徑建立數據庫,同時建立數據庫表項,包含節點ID和節點地址以及傳感器采集的井蓋狀態信息等。
應用程序界面采用QT Creater設計,基于C++進行開發的應用程序框架。設計良好的UI界面,通過按鍵的觸發調用數據庫和串口提供的API接口函數,顯示出各個井蓋模塊的安全狀態。后臺運行串口服務程序和數據庫,QT通過動態庫的方式調用相關數據。
圖3 網關工作流程圖
5 實驗分析
針對井蓋分布狀況,進行無障礙距離測試,實驗以丟包率進行測試。每隔5 s從無線傳感網絡節點發送數據到網關,網關收到數據后分析并記錄。測試范圍在130 m以內,10 m為間隔,在每個距離點上發送300組數據,實驗結果如圖4所示。實驗結果表明,節點距離在60 m范圍內丟包率為0,數據穩定傳輸,合理安置井蓋節點報警器可以滿足系統的應用要求。
圖4 網關系統丟包率測試
6 結 語
系統采用低功耗ARM11的S3C6410的處理器設計井蓋安全報警系統,結合ZigBee無線傳感網絡布控井蓋報警器,通過GPRS網絡將數據傳送給遠程監控系統,達到實時監控的效果。該網關可擴展接口較豐富,將井蓋安全狀態信息通過串口接收,發送控制命令給無線傳感網絡的協調器。基于QT開發了友好的應用界面,可以實時查詢井蓋狀態,并對歷史數據進行存儲。該網關功能豐富,可擴展性較強,具有低功耗、高通信效率的特點,可廣泛應用與井蓋安全監控領域。
參 考 文 獻
[1]于海斌,曾鵬. 智能無線傳感器網絡系統[M].北京:科學出版社,2006.
[2]李長鋒,滕國庫,常闖.基于ZigBee的無線傳感網絡網關的設計[J].計算機與數字工程,2011,39(7):150-153.
[3]鄭靈翔. 嵌入式系統設計與應用開發[M].北京:北京航空航天大學出版社,2006.
[4]張曉林,崔迎煒. 嵌入式系統設計與實踐[M].北京:北京航空航天大學出版社,2006.
[5]歐明,魏臻. S3C2410在ZigBee無線通信中的應用[J].科學技術與工程,2007(7):4308-4310.
[6]崔光照,陳富強,張海霞.基于ARM9 的無線傳感器網絡網關節點設計[J].電子技術應用,2008,34(11):115-118.
[7]匡興紅,邵惠鶴.無線傳感器網絡網關研究[J].計算機工程,2007,33( 6): 228-230.
井蓋監控系統的網關設計軟件工作流程如圖3所示,包含三個處理事件:串口、數據庫和QT界面設置。
串口處理需要通過啟動進程實現,本系統需要接收ZigBee網絡傳輸的數據,網關和ZigBee網絡的協調器通過串口1連接,網關啟動一個進程接收ZigBee網絡的節點數據,包括節點地址和采集的傳感器參數。當有數據傳輸過來時,按照節點ID將數據存儲在SQlite3數據庫中。
數據庫采用SQlite3的小型嵌入式數據庫,占用250 KB空間大小,支持數據庫達到2 TB。網關啟動后在相應路徑建立數據庫,同時建立數據庫表項,包含節點ID和節點地址以及傳感器采集的井蓋狀態信息等。
應用程序界面采用QT Creater設計,基于C++進行開發的應用程序框架。設計良好的UI界面,通過按鍵的觸發調用數據庫和串口提供的API接口函數,顯示出各個井蓋模塊的安全狀態。后臺運行串口服務程序和數據庫,QT通過動態庫的方式調用相關數據。
圖3 網關工作流程圖
5 實驗分析
針對井蓋分布狀況,進行無障礙距離測試,實驗以丟包率進行測試。每隔5 s從無線傳感網絡節點發送數據到網關,網關收到數據后分析并記錄。測試范圍在130 m以內,10 m為間隔,在每個距離點上發送300組數據,實驗結果如圖4所示。實驗結果表明,節點距離在60 m范圍內丟包率為0,數據穩定傳輸,合理安置井蓋節點報警器可以滿足系統的應用要求。
圖4 網關系統丟包率測試
6 結 語
系統采用低功耗ARM11的S3C6410的處理器設計井蓋安全報警系統,結合ZigBee無線傳感網絡布控井蓋報警器,通過GPRS網絡將數據傳送給遠程監控系統,達到實時監控的效果。該網關可擴展接口較豐富,將井蓋安全狀態信息通過串口接收,發送控制命令給無線傳感網絡的協調器。基于QT開發了友好的應用界面,可以實時查詢井蓋狀態,并對歷史數據進行存儲。該網關功能豐富,可擴展性較強,具有低功耗、高通信效率的特點,可廣泛應用與井蓋安全監控領域。
參 考 文 獻
[1]于海斌,曾鵬. 智能無線傳感器網絡系統[M].北京:科學出版社,2006.
[2]李長鋒,滕國庫,常闖.基于ZigBee的無線傳感網絡網關的設計[J].計算機與數字工程,2011,39(7):150-153.
[3]鄭靈翔. 嵌入式系統設計與應用開發[M].北京:北京航空航天大學出版社,2006.
[4]張曉林,崔迎煒. 嵌入式系統設計與實踐[M].北京:北京航空航天大學出版社,2006.
[5]歐明,魏臻. S3C2410在ZigBee無線通信中的應用[J].科學技術與工程,2007(7):4308-4310.
[6]崔光照,陳富強,張海霞.基于ARM9 的無線傳感器網絡網關節點設計[J].電子技術應用,2008,34(11):115-118.
[7]匡興紅,邵惠鶴.無線傳感器網絡網關研究[J].計算機工程,2007,33( 6): 228-230.
井蓋監控系統的網關設計軟件工作流程如圖3所示,包含三個處理事件:串口、數據庫和QT界面設置。
串口處理需要通過啟動進程實現,本系統需要接收ZigBee網絡傳輸的數據,網關和ZigBee網絡的協調器通過串口1連接,網關啟動一個進程接收ZigBee網絡的節點數據,包括節點地址和采集的傳感器參數。當有數據傳輸過來時,按照節點ID將數據存儲在SQlite3數據庫中。
數據庫采用SQlite3的小型嵌入式數據庫,占用250 KB空間大小,支持數據庫達到2 TB。網關啟動后在相應路徑建立數據庫,同時建立數據庫表項,包含節點ID和節點地址以及傳感器采集的井蓋狀態信息等。
應用程序界面采用QT Creater設計,基于C++進行開發的應用程序框架。設計良好的UI界面,通過按鍵的觸發調用數據庫和串口提供的API接口函數,顯示出各個井蓋模塊的安全狀態。后臺運行串口服務程序和數據庫,QT通過動態庫的方式調用相關數據。
圖3 網關工作流程圖
5 實驗分析
針對井蓋分布狀況,進行無障礙距離測試,實驗以丟包率進行測試。每隔5 s從無線傳感網絡節點發送數據到網關,網關收到數據后分析并記錄。測試范圍在130 m以內,10 m為間隔,在每個距離點上發送300組數據,實驗結果如圖4所示。實驗結果表明,節點距離在60 m范圍內丟包率為0,數據穩定傳輸,合理安置井蓋節點報警器可以滿足系統的應用要求。
圖4 網關系統丟包率測試
6 結 語
系統采用低功耗ARM11的S3C6410的處理器設計井蓋安全報警系統,結合ZigBee無線傳感網絡布控井蓋報警器,通過GPRS網絡將數據傳送給遠程監控系統,達到實時監控的效果。該網關可擴展接口較豐富,將井蓋安全狀態信息通過串口接收,發送控制命令給無線傳感網絡的協調器。基于QT開發了友好的應用界面,可以實時查詢井蓋狀態,并對歷史數據進行存儲。該網關功能豐富,可擴展性較強,具有低功耗、高通信效率的特點,可廣泛應用與井蓋安全監控領域。
參 考 文 獻
[1]于海斌,曾鵬. 智能無線傳感器網絡系統[M].北京:科學出版社,2006.
[2]李長鋒,滕國庫,常闖.基于ZigBee的無線傳感網絡網關的設計[J].計算機與數字工程,2011,39(7):150-153.
[3]鄭靈翔. 嵌入式系統設計與應用開發[M].北京:北京航空航天大學出版社,2006.
[4]張曉林,崔迎煒. 嵌入式系統設計與實踐[M].北京:北京航空航天大學出版社,2006.
[5]歐明,魏臻. S3C2410在ZigBee無線通信中的應用[J].科學技術與工程,2007(7):4308-4310.
[6]崔光照,陳富強,張海霞.基于ARM9 的無線傳感器網絡網關節點設計[J].電子技術應用,2008,34(11):115-118.
[7]匡興紅,邵惠鶴.無線傳感器網絡網關研究[J].計算機工程,2007,33( 6): 228-230.