[发明专利]一种基于3G网络的无线监视系统无效

专利信息
申请号: 201110311191.X 申请日: 2011-10-14
公开(公告)号: CN102333208A 公开(公告)日: 2012-01-25
发明(设计)人: 刘斐然 申请(专利权)人: 浪潮电子信息产业股份有限公司
主分类号: H04N7/18 分类号: H04N7/18
代理公司: 暂无信息 代理人: 暂无信息
地址: 250014 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 3g 网络 无线 监视 系统
【权利要求书】:

1.一种基于3G网络的无线监视系统, 其特征在于利用ARM9处理器与3G网路可移动与便捷的特性,利用ARM9的嵌入式系统实现视频传输与显示功能,利用linux 2.6.30.4内核,通过3G网络,将USB摄像头采集的视频信号传输到远程终端并显示,搭建成无线视频监视系统,硬件包括:芯片:S3C2440A;LCD:东华3.5寸触摸屏;USB摄像头:Venus USB 2.0 Camera;3G卡:华为EC1260;

具体步骤如下:

1)ARM9制版,采用任何结构的核心板,并扩展出USB接口;

2) BootLoader与linux内核的移植,其中BootLoader用开源版本,linux移植用arm9的默认配置文件进行编译;

3)USB摄像头驱动:其具体步骤为:

(1)进入驱动Linux源文件目录下,打开文件drivers/media/video/uvc/ uvc_driver.c;

(2)将被声明为usb_device_id的结构体数组uvc_ids[]中添加一个结构体,其个元素数据如下:

{.match_flags=USB_DEVICE_ID_MATCH_VENDOR|

USB_DEVICE_ID_MATCH_INT_INFO,

.idVendor             = 0x0ac8,

.idProduct            = 0x3430,

.bInterfaceClass      = USB_CLASS_VIDEO,

.bInterfaceSubClass   = 1,

.bInterfaceProtocol   = 0,

.driver_info          = UVC_QUIRK_FIX_BANDWIDTH },

(3)保存并重新编译模块:make modules

(4)把驱动文件uvcvideo.ko下载到ARM9系统中并加载:modprobe uvcvideo.ko;

4)3G卡EC1260驱动,具体步骤如下:

把PPP功能配置到内核中:

Device Drivers--->

 [*]Network device support--->

<M> PPP (point-to-point protocol)Support

[*]PPP multilink support (EXPERIMENTAL)

[*]PPP filtering

<M>PPP support for async serial ports

<M>PPP support for sync tty ports

<M>PPP Deflate compression

< >PPP BSD-Compress compression

<M>PPP MPPE compression (encryption) (EXPERIMENTAL)

<M>PPP over Ethernet (EXPERIMENTAL)

< >PPP over ATM

< >PPP over L2TP (EXPERIMENTAL)

    [*]USB support--->

<M>USB Serial Converter support--->

<M> USB driver for GSM and CDMA modems

重新编译内核,插入驱动文件usbserial.ko,option.ko,此时插入华为EC1260 网卡,系统直接驱动,并且在/dev/目录中出现ttyUSBX设备文件;

5)视频采集与发送软件编写,其处理过程为:

(1)开启TCP端口并监听:

struct sockaddr_in serv_addr; /* 本机地址信息 */

struct sockaddr_in client_addr; /* 客户地址信息 */

server_sockfd = socket(PF_INET, SOCK_STREAM, 0)); 

bzero(&serv_addr, sizeof(serv_addr));

bzero(&client_addr, sizeof(client_addr));

serv_addr.sin_family=PF_INET;

serv_addr.sin_port=htons(server_port);

serv_addr.sin_addr.s_addr = INADDR_ANY;

if (bind(server_sockfd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr)) == -1) {

perror(Tcp bind);

exit(1);}

if (listen(server_sockfd, 10) == -1) {

perror(Tcp listen);

exit(1);}

(2)如有连接则用UDP采集与发送视频信息:

client_sockfd = accept(server_sockfd, (struct sockaddr *)&client_addr, &client_size);

…….

sockfd = socket(AF_INET, SOCK_DGRAM, 0);

ret = open_video(V4L_FILE, &vd, 8, VIDEO_PALETTE_JPEG, 320, 240);

if(ret != 0) goto err;

while(1)

{

imageptr = get_frame_address(&vd);

get_first_frame(&vd);

memcpy(buffer,imageptr,MAX_BUFF);

cnt = sendto(sockfd, buffer,MAX_BUFF, 0, (struct sockaddr *)&servaddr, sizeof(servaddr));

usleep(30000);

}

6)视频接收与显示软件的编写,其主要与处理过程为:

(1)用TCP连接视频监控系统,为控制线程:

tcpsockfd = socket(PF_INET, SOCK_STREAM, 0);

if (connect(tcpsockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) == -1)    {

perror(tcp connect);

exit(1);}

(2)用UDP接收数据并显示,为传输线程:

sockfd=socket(AF_INET,SOCK_DGRAM,0);

bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr));

while(1)

{

recvfrom(sockfd,buffer,MAX_BUFF,0,(struct  sockaddr *)&servaddr,sizeof(servaddr));

showpic(buffer,&vd);

}

其中showpic函数为在LCD中显示图像,其利用了libjpeg库,并对其做了优化,使其直接读写内存而不经过文件系统,使其效率提升了至少一倍:

int showpic(char *imageptr,fb_v4l *vd)

{

struct jpeg_decompress_struct cinfo;

struct jpeg_error_mgr jerr;

int x,y;

unsigned char *buffer;

unsigned short *tempbuf;

cinfo.err = jpeg_std_error(&jerr);

jpeg_create_decompress(&cinfo);

jpeg_stdio_src(&cinfo,imageptr,MAX_BUFF);

 (void)jpeg_read_header(&cinfo,TRUE);

 (void) jpeg_start_decompress(&cinfo);

buffer = (unsigned char *) malloc(320*3); 

tempbuf = (unsigned short *) malloc(320*240*2);

y =0 ;

while(cinfo.output_scanline < cinfo.output_height)

jpeg_read_scanlines(&cinfo, &buffer, 1);

unsigned short color;

for ( x = 0; x < cinfo.output_width; x++)

       {          color=RGB888toRGB565(buffer[x*3],buffer[x*3+1],buffer[x*3+2]);

fb_pixel(tempbuf,320,240,x,y,color);

    }

y++;

}

memcpy(vd->fbp,(char *)tempbuf,320*240*2);

jpeg_finish_decompress(&cinfo);

jpeg_destroy_decompress(&cinfo);

free(buffer);

free(tempbuf);

}。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110311191.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top