基于ARM11的无线视频监控系统

时间:2015-04-24来源:网络

  4.1.1 WI-FI 无线网络搭建过程

  (1)加载WI-FI 模块。通过insmod 命令加载,这里需要加载2 个文件helper_sd.bin、sd8686.bin,这2 个文件可以从Marvel 官方网站下载。

  (2)搜索WI-FI 网络。先用ifconfig eth1 up 命令把WI-FI 网络接口卡打开,然后用iwlist eth1 scanning命令搜索WIFI 网络。

  (3)设置eth1 的ip 地址和子网掩码。

  (4)设置ESSID.通过iwconfig eth1 essid 402命令实现的,ESSID 用来区分不同的网络。

  (5)设置密码。通过iwconfig eth1 key s:your_key命令实现的,其中your_key 就是登陆密码。

  4.1.2 基于RTP 协议的视频数据传输

  RTP 是实时传送协议( Real-time TransportProtocol)的缩写,代表一个网络传输的协议,为音频、视频上传中的常用协议[5].RTCP 和RTP 一起提供流量控制和拥塞控制服务,它们能以有效反馈和最小开销使传输效率最佳化,因而特别适合传送实时的数据,所以采用该协议传输视频数据。

  本系统采用开源代码Jrtplib 提供的RTP 协议栈,由于Jrtplib 对RFC3550 的实现进行了封装,使得传输视频数据更加简单。由于本系统的网络最大有效载荷为1500 字节,因此设置RTP 包大小的上限为1400 字节,如果发送的数据大于1400 字节,则采用拆包的方法再发送,具体传输过程如图4 和图5 所示。

  

 

  图4 发送端流程框图。

  

 

  图5 接收端流程框图。

  发送端主要过程如下:

  (1)创建RTP 会话并设置目标地址。调用Create方法得到RTP 会话实例,然后调用AddDestination 方法设置目标IP 以及目标端口号。

  (2)获得数据,调用Get_Data()函数得到。

  (3)发送数据,通过SendPacket()方法实现。

  接收端主要过程如下:

  (1)创建RTP 会话。调用Create 方法来创建一个会话实例,并且在创建会话的同时设置端口号,要与发送端的端口号保持一致。

  (2)接受RTP 数据。调用RTPSession 类的PollData()方法接收数据。

  (3)保存RTP 数据报。通过创建了一个指针数组,里面存放的是RTP 数据报的指针,只要将刚接收到RTP 数据报的指针赋给这个指针数组即可,这样可以节省数据拷贝的时间。

  (4)判断是否接收完成,如果没有,则跳转到第b 步,否则接收端程序退出。

1 2 3

关键词: ARM11 视频监控

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版