摘要:針對目前全球都面臨的環境污染問題, 設計了一種基于Cortex-A8的嵌入式室外環境監測系統, 實時地獲取環境中多種參數信息。該系統由采集子模塊、數據處理子模塊及數據傳輸子模塊3部分組成。系統硬件部分選用三星公司生產的S5PV210作為系統主控芯片, 選用DHT22傳感器采集環境中溫濕度參數數據, 選用GP2Y1051傳感器實現PM2.5參數采集功能。同時采用Logitech-C270自動對焦高清USB攝像頭模組完成對視頻圖像的采集, 以太網模塊DM9000用于數據通信實現遠程傳輸。軟件部分移植了嵌入式Linux操作系統, 同時移植嵌入式WEB服務器Boa、SQLite數據庫。通過多線程的方式實現傳感器數據采集功能以及觸發攝像頭工作, 利用CGI編程實現PC與控制板的交互。最后, 對系統進行性能測試, 系統能夠及時準確地記錄當前環境中的各參數信息, 具有成本低、功能全、功耗小、操作簡單等優點, 符合預期設計功能。
關鍵詞:環境監測; 嵌入式; 操作系統; CGI;
Abstract:Aiming at the global environmental pollution problems, this paper designs an embedded outdoor environment monitoring system based on Cortex-A8 to obtain the information of each parameter in the environment. The system consists of three parts: acquisition subsystem, data processing subsystem and data transmission subsystem. The hardware part of the system uses the S5 PV210 produced by Samsung Company as the main control chip of the system, selects the DHT22 sensor to collect the environment temperature and humidity parameter data, uses GP2 Y1051 sensor to achieve PM2. 5 parameter acquisition function module. At the same time, the Logitech-C270 auto focus HD USB camera module is used to collect the video image, and Ethernet module DM9000 is used for data communication to realize remote transmission. In the software part, the embedded Linux operating system is transplanted, and the embedded Web server Boa and SQLite database are also transplanted. Through the multi-threaded way to achieve the sensor data acquisition module and trigger the camera work, using CGI programming to achieve the interaction between the PC and the control board. Finally, by testing the performance of the system, we know the system can timely and accurately record the parameter information in the current environment, has the advantages of low cost, complete function, low power consumption, simple operation, meet the expected design function.
Keyword:environment monitor; embedded; operating system; CGI;
近幾年來全國各大城市空氣中的總懸浮微粒濃度大部分超過安全指標, 均值甚至高達309μg/m3。大氣的污染會對社會造成嚴重的影響, 包括社會出行、工業生產、市民健康等[1]。我國目前的環境問題不容樂觀, 及時、快速、全面、準確地反映環境現狀及預測環境變化的趨勢, 為環境的保護和管理、污染控制和預防、環境規劃等提供可靠的依據, 是現階段環境問題處理的重要舉措。
當前, 發達國家在室外環境監測領域發展較快, 已經逐步形成了一套安全有效的環境監測體系, 但其智能化及監測的多樣性仍有待提高[2]。而國內在室外環境監測方向的發展則起步較晚, 但隨著互聯網和物聯網在國內的迅速崛起, 室外環境監護領域也迎來了新的機遇[3]。
基于上述情況, 本文設計了一種基于Cortex-A8的嵌入式室外環境監測系統, 選取三星公司生產的S5PV210作為主控芯片, 以Linux為系統操作平臺, 結合DHT22和GP2Y1051傳感器和Logitech-C270自動對焦高清USB攝像頭。本文設計的系統具有開發簡單、成本低、功能全、功耗小等優點, 具有廣泛的應有前景和社會效益。
1、系統概述
室外環境監測系統主要由數據采集子模塊、數據處理子模塊及數據傳輸子模塊3部分組成。系統以三星公司生產的S5PV210為主控芯片, 同時移植Linux操作系統。本系統總體設計框圖如圖1所示。
圖1 室外環境監測系統總體框圖
本系統外接DHT22溫濕度傳感器、GP2Y1051粉塵濃度傳感器和USB攝像頭, 組成了系統的數據采集子模塊。數據處理子模塊, 分為兩部分內容:1) 視頻數據的壓縮編碼與封裝, 本系統使用V4L2 (Video for Linux2, Linux內核中視頻設備API接口) 實現對攝像頭的操作, 采集視頻數據, 采用運動靜止圖像壓縮技術 (motion joint photographic experts group, MJPEG) 對視頻數據進行編碼, 并使用音頻視頻交錯格式 (audio video interleaved, AVI格式) 進行封裝;2) 溫濕度與粉塵濃度數據解析與存儲工作, DHT22溫濕度傳感器傳輸數據時, 每一位數據均以低電平開始, 由高電平的時間長短來判斷數據為1或0。DHT22的數據格式為40bit數據=16 bit濕度數據+16 bit溫度數據+8 bit校驗和[4]。PM2.5濃度傳感器GP2Y1051采用串口輸出方式, 其輸出值均為電壓值, 由電壓值經過計算可得到粉塵濃度值。對于采集到的數據, 統一存儲于嵌入式小型數據庫SQLite[5]。
系統數據數據傳輸子模塊采用套接字 (Socket) 網絡進程間通信接口, 結合TCP/IP通信協議標準實現視頻的傳輸, 同時應用了Open SSL加密系統, 保證網絡傳輸的可靠性與安全性[6]。
另外該系統在基于B/S網絡結構模式下, 移植了嵌入式Web服務器Boa, Boa在嵌入式開發中應用十分廣泛, 是一種單任務服務器[7]。結合簡單的HTML網頁編程和CGIC Web網絡技術, 系統通過網頁瀏覽的形式良好地實現了人機交互。
2、系統硬件平臺設計
2.1、硬件平臺總體概況
環境監測系統硬件平臺主要包括S5PV210主控芯片、存儲器模塊、通信模塊及相關電路, 系統提供USB、通用異步收發傳輸器 (universal asynchronous receiver transmitter, UART) 等接口用于數據采集, 提供標準信息插座 (registered Jack45, RJ45) 用于數據傳輸[8]。系統硬件平臺設計如圖2所示。
圖2 系統硬件平臺設計框圖
2.2、處理器芯片選型
系統數據處理子模塊中, 涉及對視頻的壓縮、編碼、封裝以及加密的處理, 因此對處理器的要求也相對嚴苛。本系統采用三星公司生產的S5PV210為主控制芯片。S5PV210又名“蜂鳥” (hummingbird) , 是三星推出的一款適用于智能手機和平板電腦等多媒體設備的應用處理器。S5PV210采用了ARM Cortex TM-A8內核, ARM V7指令集, 主頻可達1 GHz, 64/32位內部總線結構, 32/32 KB的數據/指令一級緩存, 512 KB的二級緩存, 可以實現2 000DMIPS (每秒運算2億條指令集) 的高性能運算能力[9]。以下為其主要功能特點[10]:
1) 內置Power VR SGX540高性能圖形引擎;
2) 支持流暢的2D/3D圖形加速;
2.3、采集模塊的選型
系統支持模擬輸出傳感器、串口輸出傳感器等, 本模塊設計時主要采用了GPIO口輸出及串口輸出的方式。對于攝像頭的選型, 系統選擇了Logitech公司生產的C270型號攝像頭, 該攝像頭拍攝視頻的分辨率高達1 280×720像素, 照片的分辨率高達500萬像素, 同時帶有降噪功能的內置麥克風以及具有自動校正光線和自動對焦的特點[11]。具體選型如表1所示。
表1 設備選型列表
3、系統軟件平臺設計
3.1、軟件平臺總體概況
在系統的軟件平臺設計中, 移植了內核版本號為2.6.32.2的嵌入式操作系統, Linux操作系統是基于Unix操作系統的延伸, 具有可移植、可裁剪、開源等特點, 在嵌入式應用開發中備受開發者推崇[12]。軟件設計的主體內容為采集模塊, 如圖3所示。環境監測系統的功能是實時采集環境中的溫濕度及PM2.5濃度數據, 同時設置粉塵濃度閾值, 將PM2.5濃度的實時數據與閾值進行對比。當PM2.5濃度高于閾值時, 觸發系統視頻采集模塊, 記錄現場環境狀況, 為環境質量提供判斷依據。
3.2、視頻采集模塊設計
系統視頻圖像的采集是通過V4L2框架實現的。V4L2是Linux內核中支持USB攝像頭設備的視頻捕獲驅動接口, 主要支持VBI設備、Radio設備及視頻輸入輸出設備等, 為應用層訪問攝像頭提供了統一的函數接口[13]。系統的視頻采集流程如圖4所示。
系統采用MJPEG編碼格式, 即運動靜止圖像壓縮。在視頻采集程序中, 結構體v4l2_format的作用是設置其圖像的格式。同時系統使用AVI的方式封裝視頻文件, AVI文件的結構分為頭部、主體及索引3部分, 主體中索引存放在尾部, 同時交叉存放音頻和圖像。播放時, 從尾部的索引跳轉到用戶指引位置。AVI封裝結構如圖5所示。
圖3 采集子模塊總體設計
圖4 視頻采集流程
3.3、系統傳輸與交互模塊設計
系統移植基于B/S網絡結構模式下的嵌入式WEB服務器Boa, 實現網頁與服務器的交互, 完成對環境數據參量地實時顯示[14]。同時結合CGI (Web網絡技術) , 將對應的信息反饋至瀏覽器, 解決了Boa的單任務, 只能按順序實現用戶的請求的缺陷。CGI系統框架如圖6所示。
系統的視頻傳輸部分是通過客戶端/服務器 (client/server, C/S) 模式實現[15]。采用套接字 (Socket) 網絡進程間通信接口, 結合TCP/IP通信協議標準實現視頻的傳輸。套接字程序設計如圖7所示。
圖5 AVI封裝結構
圖6 CGI系統框架
圖7 套接字程序設計
4、系統功能測試
本系統設計完成后, 進行了整體應用測試。在安裝好系統的軟硬件部分后, 打開PC中的瀏覽器程序, 在網址輸入欄輸入服務器的IP地址后, 即可登錄系統。系統數據查看頁面如圖8所示。
圖8 數據查看頁面
采集到的視頻文件則通過TCP/IP協議傳輸至PC中。在測試中, 當PM2.5濃度超出閾值時, 系統開始采集視頻, 在視頻采集結束后, 調用視頻傳輸模塊實現視頻的實時傳輸, 系統采集視頻顯示如圖9所示。
圖9 采集視頻顯示
5、結論
隨著環境污染問題日益凸顯, 對環境進行實時監測的需求日漸提升。在傳感技術、網絡技術、圖像處理技術不斷發展的今天, 環境監測系統的應用也趨于自動化、智能化。根據當前環境監測系統研究的技術結合我國基本國情, 本文設計實現了一種基于Cortex TM-A8處理器的環境監測系統, 實現了環境的實時監測。
系統達到了預期效果, 但在客觀條件及環境因素限制下, 系統還有很大的提升空間, 如增加環境參量、使用無線傳輸來避免布線, 便于安裝。
參考文獻
[1]2015NI趨勢展望:著重探索物聯網的影響[J].電子測量技術, 2015, 38 (3) :157-157.
[2]李萌.中國霧霾治理的生態倫理與履行責任的長效機制——兼談倫敦霧霾的治理經驗及長遠道路[J].上海城市管理, 2016, 25 (1) :15-19.
[3]張兵兵, 田曦, 朱晶.環境污染治理、市場化與能源效率:理論與實證分析[J/OL].南京社會科學, 2017 (2) :39-46.
[4]林珠妹.基于DHT22的數字式溫濕度計的設計[J].佳木斯大學學報 (自然科學版) , 2016, 34 (2) :223-225.
[5]鄒堅偉, 胡頻.嵌入式視頻監控系統設計[J].國外電子測量技術, 2010, 29 (11) :57-59.
[6]崔學林, 梁寶龍, 黃斌, 等.濕度傳感器測量不確定度評定[J].電子測量與儀器學報, 2015, 29 (10) :1544-1549.
[7]竇慧晶, 侯榮全, 陳鳳菊.基于BOA和nRF24L01的智能家居系統[J].國外電子測量技術, 2015, 34 (2) :67-72.
[8]黃凱奇, 陳曉棠, 康運鋒, 等.智能視頻監控技術綜述[J/OL].計算機學報, 2015, 38 (6) :1093-1118.
[9]于克生, 別少偉.無線溫濕度采集系統的Linux驅動程序設計[J].電子測量技術, 2012, 35 (12) :71-74.
[10]袁敏, 張仁杰, 邵娜.基于Linux的ARM9多路視頻監控系統設計[J].國外電子測量技術, 2009, 28 (1) :42-44, 58.
[11]汪大勇, 孫世新, 黃源源.一種適用于實時交通監控的視頻編碼方法[J].電子測量與儀器學報, 2009, 23 (4) :49-54.
[12]楊衛東, 鄧冠群, 張國平, 等.基于STM32單片機的庫房安全遠程控制系統[J].電子測量技術, 2015, 38 (8) :94-98.
[13]謝慧, 趙申, 曹國慶.國內外PM2.5控制標準及對比[J].建筑科學, 2014, 30 (6) :37-43.
[14]周聯群.當前幾種主流高清編碼方式和文件封裝格式介紹[J].現代電視技術, 2010 (6) :110-114.
[15]孫金祥, 曹銀杰, 張寧, 等.基于粉塵濃度傳感器的火災預警系統[J].消防科學與技術, 2016, 35 (7) :973-975.