APP下载

基于嵌入式的沿岸渔船视频监控系统设计与研究

2021-01-24崔秀芳王宏宇李培培石福孝

制造业自动化 2021年1期
关键词:树莓渔船服务器

崔秀芳,王宏宇,陈 刚,李培培,石福孝

(上海海洋大学 工程学院,上海 201306)

0 引言

随着海洋资源的发展,国家对渔船工业的发展越来越重视,研究高技术渔船以满足海洋开发需要的同时渔船安全问题也日益突出,沿岸渔船由于视野盲区发生安全生产事故的事件时有发生,轻者渔船遭到破坏,重者导致渔船沉没,渔民的生命财产收到极大威胁,如何解决沿岸渔船安全问题成为迫切要解决的重点。海洋环境的复杂性决定,为了保障渔民的安全,急需建立一套完整的沿岸渔船监控系统。

渔船视频监控可以在减少人力重复工作的同时及早发现潜在危害,提前预防,减少灾害的发生,在救助遇险渔船时,提供现场图像,为救援赢得时间,达到防灾减灾目的。视频监控系统与AIS等船载设备配合使用,为渔船事故应急处理提供辅助信息,确保渔船在水域航行的安全,在渔船航行安全、渔船安全、劳动安全监控等方面发挥了良好的作用,利用视频监控系统可以解决渔船导航过程中的许多安全问题,提高渔船的管理水平。

针对沿岸渔船实际情况,以嵌入式系统为平台,选用树莓派为系统核心处理器,结合H.264技术、无线WIFI通信、Web服务器等技术设计出一套沿岸渔船视频监控系统,具有内置模块丰富,集成度高,开发成本低等特点。

1 系统总体设计

基于嵌入式的渔船视频实时监控系统由船载监控节点、无线传输和船载监控中心组成。船载监控节点负责采集监控区域图像信息,利用H.264编解码等技术对采集的数据进行处理。无线传输系统主要负责通过WIFI无线网卡接入局域网进行视频数据传输。船载监控中心负责上位机监控,完成对视频数据的接收实时播放,并存储到本地或数据库中。通过对渔船监控区域实时监控,操作与管理人员随时掌握和了解渔船的实时情况,避免渔船危情的发生。系统框图如图1所示。

图1 沿岸渔船视频监控系统框图

2 船载监控节点

2.1 系统硬件平台组成

系统硬件主要包括主控制器、视频采集模块、终端显示等。视频采集模块负责对监控区域图像信息进行采集;主控制器主要负责完成对图像数据的接收与处理;终端主要由PC机及智能手机组成,负责监控室画面的播放监控。

2.1.1 主控制器

系统船载监控节点采用树莓派3B作为主控制器,树莓派是一款小型的计算机,是开源硬件中比较先进的产品,内置无线模块,扩展性强,可靠性高,支持linux操作系统。树莓派3代系统芯片为BCM2837,具有1.2Ghz的运行速度,采用ARM Cortex-A53为中央处理器,整个硬件具有集成度高、运行速度快、外围设备丰富、二次开发方便等优点。树莓派实物如图2所示。

图2 树莓派实物图

2.1.2 视频采集模块

视频采集模块选用树莓派Camera V2摄像头。其功耗低,灵明度高。内有800万像素索尼IMX219传感器扩展板,有固定焦距镜头,通过树莓派上的CSI接口连接树莓派。静态图像支持3280×2464像素,也支持30fps 1080p视频显示的能力。此外,还支持720p60和640×480p90摄像功能。树莓派摄像头如图3所示。

图3 树莓派摄像头

2.2 系统软件设计

软件设计是实现沿岸渔船视频监控系统功能必不可少的部分,包括V4L2驱动视频采集,H.264编码视频处理与搭建Nginx流媒体服务器视频图像传输。本系统的主控制器基于ARM Cortex-A53,选用树莓派硬件平台定制的Raspbian操作系统,具有丰富的开源软件包,安装简单、易操作。软件的设计主要包括:视频采集,视频处理和视频传输。视频监控系统流程图如图4所示。

图4 渔船视频监控系统流程图

2.2.1 视频采集

V4L2(Video4linux2)是Linux操作系统中为视频设备服务的驱动模块,提供了一系列为视频设备服务的应用程序接口。视频设备在Linux系统中是设备文件,读写操作均可在系统进行。对于视频的采集主要使用V4L2作为驱动框架,V4L2不仅支持音频、视频设备,也支持视频间隔消隐信号等接口。V4L2作为视频设备的内核框架,为应用程序接口向底层CSI摄像头提供规范的接口应用程序接口函数,有效预防代码的冗余,当下层信息较多,上层向其收集信息时一个好的规范有效节省大量时间。

树莓派中的视频采集模块以固件的形式加载到/boot/目录下,而非规范V4L2相机KO驱动程序。加载后没有显示/dev/video0设备节点,V4L2驱动程序框架尚未加载时,进入/etc目录下编辑修改modules文件后重新启动树莓派。通过ls | grep video命令在/dev/下查找video 0设备节点,如图5所示视频采集模块加载成功。

图5 加载视频采集模块

2.2.2 视频处理

摄像头采集到的数据信息要经过一定的处理才能传输到浏览器显示,即文件与图像格式等的处理,为了减少代码流,需要对图像进行压缩。

系统采用H.264编码来进行视频处理,H.264是国际标准MPEG-4中提出的视频编解码标准,具有压缩率高、质量好的特点。X264是H.264的编码函数库,也可集成到FFmpeg(Fast Forward Mpeg)多媒体视频处理工具,具有视频编码延迟小的优点。FFmpeg依赖于X264库,使用灵活方便。X264优化了PC机的汇编级代码,提高了编码效率。最终将其移植到系统平台上。

试验过程首先使用FFmpeg进行视频处理,传输速率较慢且处理器消耗占比较大,不符合预期,因此选用树莓派VideoCore IV GPU功能,启用树莓派的Omx-rpi硬编码和Mmal硬解码加速,其通过Omx接口开放,处理器消耗占比小。

3 无线传输

3.1 无线网络连接

使用4G路由器插入SIM卡作为船载网络热点,在树莓派命令窗口下进入/etc/wpa_supplicant/目录,利用vi命令进入wpa_supplicant.conf文件进行编辑,添加无线网络的SSID和PSK等信息后重启树莓派,通过SSH或VNC远程登录软件连接网络。

3.2 视频传输

完成视频数据的正确传输需要相应的协议。RTMP(实时消息传递协议)是用于实时数据传输的网络协议。支持动态数据传输,且传输数据高效,是一种被广泛使用于视频监控领域的流媒体传输协议。系统选择RTMP作为系统传输协议。

支持RTMP的服务器有很多,最终选择搭建Nginx服务器。Nginx是一个功能丰富的Web服务器,以小巧、稳定、并发能力强著称,是一个轻量级的网络服务器,用于Web服务器的同时支持丰富的插件用于功能扩展。

树莓派摄像机采集视频图像,并以流的形式传输到服务器。用Nginx-rtmp-module搭建rtmp server,实现渔船视频实时监控功能。通过Github加载Nginx-rtmpmodule-master源码到该目录,生成Makefile配置后make编译完成,Nginx搭建成功如图6所示。

图6 Nginx成功搭建

在/usr/local/Nginx/conf目录下配置Nginx文件,vi命令进入Nginx.conf编辑修改文件内容以实现rtmp server功能。Nginx服务器启动界面如图7所示。

图7 启动Nginx服务器

4 船载监控中心

船载监控中心主要任务是通过无线网络连接监控节点,对接收到的视频监控信息进行处理,达到实时播放监控区域数据信息,并将其存储在本地与数据库中,方便操作人员查看并进行管理。

5 系统测试

系统测试环境搭建完成后,通过WIFI无线网络将图像信息传输到监控中心,系统对监控中心视频的实时播放,视频回放等进行了功能测试,采用使用PC端与手机端VLC软件进行的视频监控测试。进入VLC,输出系统服务器的IP地址192.168.43.131。播放画面显示基本没有延时,传输画质良好,实现了监控视频的实时传输,达到了预期的效果。渔船视频监控系统测试效果图如图8所示。

图8 系统测试效果图

6 结语

系统基于嵌入式设计了沿岸渔船视频监控系统实现了对视野盲区的视频实时监控,结合多种技术,调用相关函数实现对监控视频数据的采集、缓存,通过H.264编码技术对视频数据进行压缩处理,创建监控节点与监控中心的实时同步通信,对视频数据进行实时传输,最后监控中心操作人员在PC端和手机端对采集的视频信息进行实时显示,根据情况作出及时有效处理,避免事故的发生,保障渔船安全。测试结果系统运行良好,实现了视频实时监控和视频回放的功能,得到了预期的结果,对提高沿岸渔船安全具有十分重要意义。在本系统基础上,下一步将对系统作进一步改进,对视频进行图像识别是接下来研究的重点。

猜你喜欢

树莓渔船服务器
千舟竞发
通信控制服务器(CCS)维护终端的设计与实现
基于树莓派的骑行智能头盔设计
国内新型远洋金枪鱼围网渔船首航
基于树莓派的远程家居控制系统的设计
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
响应面法优化红树莓酒发酵工艺
南海灯光围网渔船改装设计