APP下载

基于云技术和SSH反向隧道技术的视频监控机器人设计*

2020-01-16李漭研胡红明徐健平潘锡斌王昊

科技与创新 2020年1期
关键词:树莓端口服务器

李漭研,胡红明,徐健平,潘锡斌,王昊

基于云技术和SSH反向隧道技术的视频监控机器人设计*

李漭研,胡红明,徐健平,潘锡斌,王昊

(武汉理工大学 自动化学院,湖北 武汉 430070)

以树莓派为控制和通讯核心,融合云技术和嵌入式技术,设计了一套基于互联网的远程实时监控机器人系统。系统使用云服务器作为中转,通过SSH反向隧道技术,实现了移动端和监控机器人的跨局域网通讯。设计中控制指令和视频数据分别采用TCP和UDP协议进行实时传输。经测试,此系统能够满足用户随时随地远程控制机器人,并观看实时监控视频的需求,有较广泛的应用前景。

云服务器;SSH反向隧道;远程视频传输;监控机器人

1 引言

为此,本文设计了一套基于互联网远程视频监控的机器人系统,实现了远程控制、视频传输同智能手机的结合,使用户无论身在何处,只要能够联网,就可以通过手机实时获取和观看机器人采集的监控视频,并可向监控机器人发送指令,自由操控其移动以随心调节监控视角。

2 系统方案设计

为对监控机器人实现跨局域网的运动控制和实时视频传输,本系统主要包括视频采集模块、运动控制模块、数据通讯网络、云服务器和移动终端几部分。

安装在机器人上的运动控制模块以树莓派为控制和通讯核心,摄像头拍摄的视频和传感器采集的数据,均上传至树莓派,通过互联网传输至移动终端;移动端发来的指令也经由树莓派,下发至Arduino控制器,驱动机器人的电机以控制其移动。

移动端连接互联网后,用户通过APP可调取和查看监控机器人发送来的实时视频和各类监测数据,同时也可通过操纵屏幕上的虚拟摇杆,向机器人远程发送控制命令,使其向目标位置移动,进而调整监控范围。系统总体设计如图1所示。

图1 系统总体设计示意图

3 系统硬件设计

监控机器人硬件系统主要由树莓派控制板、Arduino控制器、摄像头、L298N电机驱动模块和移动主体模块(含底盘、车轮、电机和电池组等)构成。树莓派控制板在其中起着核心作用,一方面通过配置的开源软件motion控制视频的采集和处理;另一方面主动建立与云服务器的远程连接,是通讯的桥梁。Arduino控制器分别连接电机驱动模块、传感器和云台的步进电机,同时通过USB转串口与树莓派相连,将树莓派传送来的控制指令发送给电机驱动模块和步进电机,并将传感器检测的数据发回树莓派。系统硬件结构组成如图2所示。

图2 监控机器人硬件系统组成

3.1 树莓派控制板

本系统使用开源硬件Raspberry Pi 3B+作为数据处理和控制的核心平台,其配备一枚Broadcom出产的ARM架构1.4 GHz BCM2837B0处理器,1 GB内存,使用SD卡作为存储媒体,运行基于Linux的Debian系统,支持使用Python语言进行软件开发,且拥有一个Ethernet、4个USB接口、HDMI(支持声音输出)和RCA端子输出支持,具有运行速度快、开放性高、小巧轻便和价格低廉的优点。树莓派控制板与其他硬件连接关系如图3所示。

图3 树莓派与周围硬件连接关系

3.2 Arduino微控制器

本系统使用Arduino mega2560微控制器,其核心是ATmega2560,同时具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,4路UART接口,1个16 MHz晶体振荡器,1个USB口,1个电源插座,1个ICSP header和1个复位按钮。

Arduino还能通过各种传感器来感知环境,板子上的微控制器可通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过Arduino编程语言(基于Wiring)和Arduino开发环境(基于Processing)实现的。

房产测绘工作的技术性较高,具有效率快、质量高等特点,并且房产测绘过程主要依赖于强大的计算机系统,并综合其他科学技术,形成完整的房产动态管理系统,便于管理者对测绘数据进行分类管理。

3.3 视频图像采集模块

本系统选用免驱动USB网络摄像头Logitech C670i作为视频采集模块的主体,其支持Linux操作系统,此外在摄像头底部加装由28BYJ-48减速步进电机和限位装置构成的云台,通过调节云台可灵活改变拍摄视角。

3.4 电机驱动模块

本系统采用L298N模块对4个直流电机进行驱动,进而实现机器人的运动。L298N直流驱动器是一种双H桥电路,采用15引脚封装,供电电压为5~35 V,可同时驱动多个直流电机。模块上具有使能端EN和方向端IN1、IN2,通过改变使能端和方向端的逻辑电平,可以分别控制直流电机的转速和转向。

系统的总体硬件实物如图4所示。

4 通讯方案设计

如何实现远程移动端与机器人间的通讯是整个系统设计的难点。由于目前互联网的IP地址划分主要还是基于IPv4协议,IPv4中规定IP地址长度为32,但随着互联网的普及,IP地址已逐渐短缺。对于一般的局域网络,运营商没有足够的公网IPv4地址分配,因此需使用NAT转换技术,将一个公网IPv4映射为多个私网IPv4,内网设备分配到的并不是真正的公网IP地址,移动端也就无法通过IP地址直接与这些设备通讯。

图4 系统的总体硬件实物

针对这种问题,本文提出一种以中继服务器作为跳板,使双方在没有公网IP的条件下得以互联通讯的方案。通讯方案如图5所示。

图5 系统通讯方案设计示意图

4.1 连接的建立

由于监控机器人处在局域网环境下,没有公网IP,位于外网的移动端无法直接建立与监控机器人的通讯连接。为此本系统配置了一台位于公网的云服务器作为中转,让监控机器人主动连接云服务器,建立永久的SSH反向隧道以实现连接。搭建SSH反向隧道的关键技术是端口转发,通过这种技术,云服务器可将外部移动端的请求转发到局域网内部IP地址上的一个端口,并可以将监控机器人拍摄的视频数据送回移动端。

树莓派使用OpenSSH软件登陆云服务器,之后将自身的PORT_2端口与云服务器的PORT_1端口绑定,用于监听本地端口。该过程涉及的指令在树莓派上写成脚本,只要系统通电,就自动建立起SSH反向隧道。接着通过端口转发,可将树莓派上的某个端口A映射到云服务器上的端口B,此后发往端口B的所有数据能被云服务器转发到端口A,这样就实现了监控机器人和云服务器之间的连接。

4.2 指令传输

移动端发往树莓派的控制指令由字符串形式组成,为确保指令频繁传送的可靠性,本系统采用TCP通信方式。而实现TCP通讯的前提是通过socket编程建立的客户端和树莓派之间的TCP连接。首先在树莓派上部署TCP服务端,监听之前与云端远程绑定端口PORT_2;移动端加入socket客户端,请求与云服务器的PORT_1端口建立连接;此后云服务器将全部流量转发至树莓派。这样通过三次握手,移动端便与树莓派建立了TCP连接。

连接一旦建立,移动端可直接向树莓派发送指令,树莓派接收到指令后通过echo命令将其写入/dev/ttyUSB0或dev/ttyUSB1文件,运动指令经USB转串口下发至Arduino控制器,驱动监控机器人的电机。

4.3 视频传输

为保证用户能实时获取和观看监控视频,本系统采用基于无连接的UDP协议用于视频传输,该方式优点为数据传输的效率高、时延小。

部署在机器人上的摄像头采集视频,视频数据经USB传输给树莓派,并以图片形式暂存于系统的用户目录下。通过搭建本地服务器,将视频以H264视频流格式传出,传输过程使用socat软件,采用UDP协议将视频流发送到云服务器的PORT_4端口;此外还需在移动端进行远程端口转发操作,将移动端的端口PORT_3和云服务器的端口PORT_4绑定。至此,移动端可随时通过访问相关网页获取监控视频,对其进行解码和播放。

5 系统测试

5.1 系统使用流程

给系统上电,待系统运行稳定后,启动手机移动端APP进入启动页面,1 s后自动进入登录界面,输入用户名密码,系统进行信息匹配,密码正确才能进入主界面。此后APP自动加载并显示监控视频,点击开关按钮连接到服务器,拨动虚拟摇杆即可给机器人发送相应的命令,远程操控机器人移动。移动端APP运行主界面如图6所示。

图6 移动端APP运行主界面

5.2 视频传输时延测试

为了验证方案的可行性,分别在4G网络和Wi-Fi环境下对视频传输延迟进行了测试。使用同一台Android手机安装APP,将机器人的摄像头对准秒表,监控视频传输至手机,比对现实和视频中的秒表读数得出传输的延迟时间。

拍摄的视频以320×240的分辨率存储和传输,测得的数据如表1所示。

表1 监控视频传输时延测试数据

网络环境测试次数延迟时间/ms平均值/ms 4G1395438 2462 3457 Wi-Fi1364367.7 2392 3347

测试结果表明,设计方案切实有效,成功实现了不同局域网内设备间的互联通讯,且监控视频流畅清晰,延迟在可接受的范围内。

6 结语

使用云服务器作为中转,监控机器人通过SSH反向隧道与云服务器连接,移动端通过互联网与云服务器绑定,实现了移动端和监控机器人的跨局域网远程通讯。机器人搭载的树莓派为核心硬件平台,起到控制视频图像采集和传输指令的作用。本系统满足了外网或异局域网用户远程控制机器人,观看实时监控视频的需求,具有传输速度快、可靠性高、实时性强、成本低的优点,且可进行二次开发,在各领域有广泛的运用前景。

[1]孙志平.家用多功能机器人的研究与设计[D].长春:吉林大学,2018.

[2]李天鸣,何月顺.基于ExtJS技术与SSH框架的权限管理研究[J].计算机应用与软件,2011,28(5):165-167,205.

[3]李校林,刘利权,张杰.基于RTP的H.264视频流实时打包传输的研究[J].计算机工程与科学,2012,34(5):168-171.

[4]孔晓东.智能视频监控技术研究[D].上海:上海交通大学,2008.

[5]谭玉新.基于工业互联网的煤矿井下机器人导航与无线视频监控技术研究[D].北京:北京交通大学,2017.

TP242

A

10.15913/j.cnki.kjycx.2020.01.016

2095-6835(2020)01-0054-03

国家级大学生创新创业训练计划资助(编号:201910497160)

李漭研(2000—),女,山西运城人,本科在读,研究方向为物联网。胡红明(1978—),博士,副教授。

〔编辑:严丽琴〕

猜你喜欢

树莓端口服务器
华为交换机端口Hybrid 模式的应用
一种有源二端口网络参数计算方法
一种端口故障的解决方案
隔离型三端口变换器的H∞鲁棒控制
2018年全球服务器市场将保持温和增长
黄金水果红树莓
树莓红了 游人醉了
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)
用独立服务器的站长注意了