摘 要:针对福建沿海地区平潭、霞浦两地存在发生风暴潮的危险,设计了基于ARM9和Linux的风暴潮监控系统。该系统主要是研究近海岸爬坡结算及可视化管理平台,该平台能够实时显示目标海堤视频信息,实时接收、处理堤前海浪波高、周期、波浪爬高、风速、风向、气压等海洋环境实时监测数据等,并能够对观测得到的近岸海浪在海堤上的爬坡视频流进行图像处理、几何校正、分析解算等。通过测试,该系统适用于两地,对其余存在风暴潮危险的地区亦适合推广。
0 引言
风暴潮指由强烈大气扰动,如热带气旋(台风、飓风)、温带气旋(寒潮)等引起的海面异常升降现象。有人称风暴潮为“风暴海啸”或“气象海啸”,在我国历史文献中多称为“海溢”、“海侵”、“海啸”及“大海潮”等,所以又把风暴潮灾害称为“潮灾”。风暴潮的空间范围一般由几十公里至上千公里,时间尺度或周期约为1~100 h,介于地震海啸和低频天文潮波之间。较大的风暴潮,特别是风暴潮和天文潮高潮叠加时,会引起沿海水位暴涨,海水倒灌,狂涛恶浪,冲毁海堤海塘,吞噬码头、工厂、城镇和村庄,使物资不得转移,人畜不得逃生,从而酿成巨大灾难[1-2]。
平潭、霞浦两地位于福建省沿海地区,处于南亚热带北界,以平潭为例,在季风环流影响下,全年大于等于8级的大风日数,中部有90天左右,沿海有130天左右。每年影响平潭的台风有3~5次,最多达11次,强度大,速度常达40 m/s以上,可以说几乎一年四季都有大风出现。特殊的地理位置与气候环境使得两地存在风暴潮的威胁,因而建立风暴潮监控系统势在必行。
1 系统的整体设计
系统需实时显示目标海堤视频信息,且对接收的数据进行查询、分析、管理及显示等。系统示意图如图1所示[3]。
系统流程:控制器定时读取传感器以及波浪仪数据,保存在SD卡中,并定时上传数据至主台保存;光控开关在天气照度比较弱的情况下自动打开,因为光控设备有寿命,因而同时设置软件判断程序,设置定时开关时间,使照明系统打开,以确保摄像头在黑暗情况下能够拍摄到清晰的图像;所有数据经过交换机接入因特网,通过因特网将数据上传至主站或者PC主机,可以远程登录该系统进行相关操作。
1.1 系统的硬件设计
综合考虑系统功能的实现和当今嵌入式系统的发展趋势,在硬件平台的构建上,MCU采用Atmel公司AT91SAM9G35,系统的硬件框图如图2所示[4]。
AT91SAM9G35采用ARM926EJ-S ARM Thumb核,其主要资源有1个LCD控制器以及触摸板控制、高速USB2.0、10/100 Mb/s以太网控制器,支持SD卡SDIO模式等,主频为400 MHz,适用于楼宇自动化、数据记录仪、POS机、报警系统和医疗设备等。
1.2 外接设备与主要模块功能的实现
1.2.1 供电系统照明系统
供电系统采用市电和太阳能发电互补,主电采用交流220 V市电,副电采用太阳能发电,通过自动切换开关进行切换,保证在无市电的情况下本系统能可靠运行。交流电经过防雷防浪涌器件接入系统,把外部干扰降至最低。
为确保摄像头在黑暗情况下能够拍摄到清晰的图像,在设计过程中,硬件上采用光敏电阻,在软件上,针对设备光线阻挡干扰问题进行算法编写,定时检测A/D采样数据,光控开关在天气照度比较弱且持续超过设定时间的情况下自动打开,照明系统随之打开。照明系统的灯采用节能LED灯,功率为30 W,在保证光照度够用的情况下最大限度节能。
1.2.2 数据存储部分
视频数据存储采用硬盘,硬盘容量为2 T,可以连续保存100天录像数据。海洋要素信息保存至SD卡,每分钟保存一次数据,SD卡采用16 GB容量卡,可以保存5年以上的数据。只要网络畅通,保存的数据就能实时上传到主机。
1.2.3 传感器与波浪仪的选择
风速风向数据采集采用美R.M.YOUNG公司生产的05103L型标准海洋型风速风向传感器。风速风向传感器传输采用标准的两线制方式,输出信号为标准的4~20 mA模拟量信号,其抗干扰能力好,传输距离长。前级信号通过LC电路滤波,滤除干扰;采样电路采用高精度低温漂的采样电阻,保证采样精度可靠精确;后级信号采用运放跟随接法,提高输入阻抗,降低输出阻抗,保证信号可靠准确,最后进入高精度A/D转换模块进行转换。
气压传感器采用美国Setra 278型号的优质传感器,气压传感器输出信号为0~5 V的气压信号,输出电压范围较宽,超出A/D转换器量程,因此采用高精度低温漂的电阻进行分压,分压后信号经过运放跟随,最后进入高精度A/D转换模块进行转换。信号前级采用阻容滤波,传感器直接就近安装,缩短引线,保证采样信号准确可靠。
电路设计为避免传感器短路故障而影响系统工作,在供电部分加入了自恢复保险丝,提高了系统运行的可靠性。
波浪仪采用SBY1-1 型压力式波浪仪,其具有精度高、稳定性好、抗腐蚀、抗磨损和抗冲击性好等优点。由于测量膜片表面平整,直接与海水大面积接触,有效地避免了传压孔被泥沙堵塞的问题。它的工作原理是在一定水深范围内,海面波高的变化会引起水压的变化。因此,在某一深度上可以用压力传感器测出其压力的变化,并由压力的变化反推出表面波的变化。
2 系统的软件设计
根据ARM9处理器及其各种外围硬件资源的特性,软件部分主要包含图像釆集、压缩编码、数据处理及本地存储、网络通信的设计,驱动部分主要包括USB摄像头的驱动等。图3为整个系统的软件框架[5]。
2.1 嵌入式软件平台的构建
在裁减和定制Linux、运用嵌入式系统之前,由于嵌入式开发系统存储大小有限,通常需要在PC上建立一个用于目标板的交叉编译环境。在创建交叉编译环境后,从u-boot官网上面下载u-boot源码包,进行u-boot移植[6]。完成u-boot的移植之后,就可以开始创建嵌入式Linux系统了,一个完整的嵌入式Linux系统包括Linux内核、根文件系统以及应用程序等[7]。
根据Linux的结构编写风暴潮监控系统的应用程序,数据采集处理程序的流程图如图4左半边。系统在传感器、波浪仪采集到数据以后,定时计数器也同步启动,将设定时间内所采集到的数据全部都存入SD卡中,对于异常数据进行处理,将这些数据中的最小值和最大值删除然后取平均。数据处理流程图如图4右边所示。
2.2 视频采集模块和编解码设计
视频采集模块的功能是从USB摄像头设备中读取视频帧数据,并以一定格式保存。USB摄像头属于视频类设备,在目前的Linux核心中,视频部分的标准是video for Linux(简称v4L)。这个标准定义了一套接口,内核、驱动、应用程序以这个接口为标准进行交流[8]。在Linux中,视频设备文件可以像普通文件一样对其进行读写,视频采集流程序框图如图5所示[9]。
在嵌入式编解码软件设计上,应用开源FFmpeg方案实现视频压缩编码。FFmpeg是在Linux平台下开发的音视频编解码库,提供了录制、转换以及流化音视频的完整解决方案,且具有跨平台的特性,广泛应用于嵌入式设备中。当前主流的视频压缩技术主要有3种,分别为JPEG标准、MPEG标准、H.26X标准[10]。表1列出了3种标准的压缩比、应用场合和采用的主要编码技术。
由表1可知,从压缩比率上看,JPEG压缩比为30~50,MPEG-4为100~150,H.264为200,H.264标准能达到较高的压缩比率。因为视频监控要求压缩比最高,且能够在有限的存储空间内尽可能多地存放视频信息。所以,系统选用H.264标准作为压缩方案。
由于视频流对数据传输设备信号要求高,所以采用有线传输方式,将数据通过以太网传输至主机进行最终的分析和处理。
3 数据分析与界面显示
完成交叉编译平台的搭建,构建u-boot的移植、内核的移植、根文件系统,然后运行PC上的Linux操作系统,得到的结果如图6所示平台界面。
图6是上位机显示界面。从图6可以看出界面实时显示最新的数据时间以及风速、风速等级、风向、气压的最新数据值。显示海浪的最新数据时间以及最大波高、波周期,1/10波高、波周期,1/3波高、波周期和平均波高、波周期。显示所观测点的实时视频,其中控制功能包括:连接视频、焦距调整、视频图片抓取、视频录像、预设置点的包存及载入等。其中视频图片抓取功能为选择保存图片文件的位置及文件名称,程序自动抓取当前的最新视频,保存为JPG格式的图片文件;视频录像功能为点击开始录像,系统自动保存实时视频为视频文件,视频格式为mp4标准压缩格式,可以选择常用的视频播放工具来播放该视频录像文件。
4 结束语
本文针对平潭和霞浦的地形,设计了风暴潮监控系统,通过测试该系统实现了现场高清、高帧数视频流数据的获取与存储,视频流资料的实时传输与监控,接收端视频流资料的自动获取、存储、查询等功能;进行了平台数据集成管理,平台软件采用可视化管理,可通过视频实时看到现场海浪情况并实现了集成数据结果显示,如坡前波浪信息、气象、海洋站潮位资料等,整个系统适用于沿海地区对风暴潮的监控,易于推广。
参考文献
[1] 叶琳,于福江.我国风暴潮灾的长期变化与预测[J].海洋预报,2002,19(1):89-96.
[2] 杨桂山.中国沿海风暴潮灾害的历史变化及未来趋向[J].自然灾害学报,2000,9(3):24-30.
[3] 阳韬.基于ARM的无线视频监控系统设计[D].北京:北京交通大学,2013.
[4] 彭铁刚,刘国繁,曹少坤,等.基于ARM的嵌入式视频监控系统的设计[J].计算机工程与设计,2010,31(6):1191-1194.
[5] 丁秩.基于嵌入式的无线图像监控系统的设计与实现[D].武汉:武汉理工大学,2006.
[6] 周鹏.嵌入式Linux基础教程[M].北京:人民邮电出版社,2012.
[7] 陈赜,秦贵,徐华中,等.ARM9嵌入式技术及Linux高级实践教程[M].北京:北京航空航天大学出版社,2005.
[8] 段智文,陈惠.基于video for Linux内核的USB摄像头视频信号采集实现[J].价值工程,2011,30(5):152-153.
[9] 金余义.基于ARM和嵌入式Linux船舶气象仪的数据采集处理系统的开发[D].山东:中国海洋大学,2010.
[10] 路锦正.MPEG-4/H.264视频编解码工程实践[M].北京:电子工业出版社,2011.