抗甲状腺球蛋白抗体高是什么原因| emba是什么意思| 做乳腺彩超挂什么科| 乐五行属性是什么| 骨刺是什么原因引起的| 三大精神是什么| 骶椎隐裂是什么意思| aww是什么意思| 仰面朝天是什么生肖| 流云是什么意思| 老鼠怕什么| 单核细胞百分比偏高是什么意思| 桑葚干和什么搭配泡水| 传宗接代是什么意思| 梦见别人给我介绍对象是什么意思| 纤支镜检查是用来查什么的| 腿抽筋吃什么药最好| 梦见坟墓是什么意思| cg动画是什么意思| 子宫后壁低回声是什么意思| 儿童肚子疼挂什么科| 什么的高楼| 菊花是什么季节开的| 627是什么意思| 杂酱面用什么面| 无为而治什么意思| 姨妈发黑量少什么原因| 什么什么自如| 右肩膀疼痛是什么原因| 胸闷气短吃什么药效果好| 口腔起血泡是什么原因| 怀孕前有什么症状| 氧分压高是什么原因| 八个月宝宝可以吃什么水果| 川流不息什么意思| 法克油是什么意思| 水火既济是什么意思| 半夜是什么时辰| jbl是什么牌子| 取向是什么意思| 25度穿什么衣服| o型血有什么好处| 宋江是属什么生肖| 吃b族维生素有什么好处| 1835年属什么生肖| 农历五月十八是什么日子| 二十年是什么婚| 卯时属什么| 榴莲什么时候吃最好| 记性差是什么原因| bpd是什么意思| 什么是磁场| 叶酸不能和什么一起吃| 肺结核早期有什么症状| 付肾是什么药| 好马不吃回头草是什么意思| 反流性食管炎不能吃什么食物| 屁股出血是什么原因| 去医院点痣挂什么科| 门齿是指什么地方| 火为什么没有影子| 乳岩是什么病| 什么其不什么| 多囊卵巢有什么症状表现| 老人适合喝什么茶| 喝葡萄糖有什么功效与作用| 马齿苋吃了有什么好处| 人流后吃什么最补子宫| 十天干代表什么| 塞浦路斯说什么语言| 女人喝什么茶叶最好| 右手小指戴戒指什么意思| 洗耳恭听什么意思| 得宫颈癌的前兆是什么| 什么利尿| 相濡以沫不如相忘于江湖是什么意思| 腰部凉凉的是什么原因| 经期延长是什么原因引起的| 幺蛾子是什么意思| 西瓜又什么又什么| 右脸麻木是什么原因| 线上考试是什么意思| 非萎缩性胃炎伴糜烂是什么意思| 意大利用的什么货币| 电波系是什么意思| 微波炉蒸鸡蛋羹几分钟用什么火| 一个黑一个俊的右边念什么| 硬脂酸镁是什么| 梦见手指流血是什么预兆| 中指麻木是什么原因引起的| 补休是什么意思| 什么酒好喝| 开是什么意思| 脑梗是什么意思| 黄精和什么煲汤好| mch是什么意思| 盆腔积液吃什么药效果最好| 假性宫缩是什么感觉| 上半身胖属于什么体质| 因子是什么| 失去抚养权意味着什么| 癸丑五行属什么| 莹字五行属什么| 吃什么可以排出霉菌| 吃什么帮助消化| 高血脂是什么意思| 张少华什么时候去世的| 生长因子是什么东西| 梦见两个小男孩是什么意思| 什么感| 什么洗发水去屑效果好| 武警支队长是什么级别| 执子之手与子偕老什么意思| 什么而不舍| 心脏彩超fs是什么意思| nox是什么意思| 因果循环是什么意思| 肝内低密度灶是什么意思| 黄金芽是什么茶| 区局长是什么级别| 韩国是什么民族| 肺囊肿是什么病严重吗| 孕妇早上吃什么早餐好| 山楂和什么相克| 蚂蝗吃什么| 属蛇的贵人是什么属相| 什么是造影检查| aca是什么意思| 小肚子胀是什么原因| 手上长斑点是什么原因| 胖次是什么意思| 淋巴结核是什么病| 肌酸激酶什么意思| 水牛是什么意思| vain是什么意思| 血糖高看什么科| 买盘和卖盘是什么意思| 无后为大的前一句是什么| 嘴唇周围长痘痘是什么原因| 爱马仕配货是什么意思| 情商高是什么意思| 耳朵蝉鸣是什么原因引起的| 头发是什么组织| zutter是什么意思| 口腔溃疡看什么科| 老年人腿无力是什么原因导致的| 大保健是什么意思| 万年青是什么菜| 怕冷畏寒是什么原因| 为什么嘴里发苦| 负面情绪是什么意思| xmm是什么意思| 血小板低吃什么水果好| 异化是什么意思| 25是什么生肖| 长痘痘吃什么水果好| timing什么意思| 秋天穿什么| 打牌老是输是什么原因| 血氧饱和度低于90有什么危害| d二聚体偏高说明什么| 黄芪是什么| 背疼什么原因| 肠炎不能吃什么东西| 自言自语说话是什么病| 脑白质病变吃什么药| 农历五月的别称是什么| 大小脸去医院挂什么科| 下午六点多是什么时辰| 什么是慢性病| 胸推什么意思| 身份证号最后一位代表什么| 乙木的根是什么| rv是什么意思| 缘木求鱼什么意思| 灶心土是什么| 西岳什么山| 什么是修行| 高利贷是什么意思| 吃什么皮肤好| bape是什么品牌| 早饱是什么意思| touch是什么牌子| 烂嘴角是什么原因| aep是什么意思| 什么病不能坐飞机| 爽肤水是什么| 聚乙二醇是什么| 怀孕初期吃什么水果好| 天王星是什么颜色| 梦见棺材是什么征兆| 1024是什么星座| 三无产品指的是什么| 为什么天天做梦| 寸关尺代表什么器官| 古代天花是现代什么病| 同归于尽是什么意思| 5月11日是什么星座| otto是什么意思| 什么是痔疮早期图片| 双子座和什么座最配对| 包皮过长挂什么科| 泛化是什么意思| 吃什么去胃火口臭| 刚怀孕吃什么最好最营养| 什么的小火车| 七月八日是什么日子| 考拉是什么意思| 为什么生我| 加拿大签证需要什么材料| 那英姓什么| 娃娃脸适合什么发型| 婴儿湿疹用什么| 查肾挂什么科| 痛风喝什么茶最好| 韭菜什么时候种最好| 脸上长痣是什么原因造成的| 胃疼可以吃什么药| it是什么行业| 脚凉是什么原因造成的| 胎儿左肾盂分离是什么意思| 冰箱底部漏水是什么原因| 德国用什么货币| 陀螺是什么意思| 晨咳是什么原因引起的| 前列腺炎有什么症状表现| 林深时见鹿是什么意思| 慈禧和光绪是什么关系| 二月初五是什么星座| 卵巢早衰吃什么可以补回来| 指甲的月牙代表什么| 绿豆汤有什么功效| 印巴冲突中国做了什么| 秘诀是什么意思| 九月底是什么星座| 瑞舒伐他汀钙片治什么病| hp感染是什么意思| maxrieny是什么品牌| 离心是什么意思| 为什么一喝水就出汗| 第一颗原子弹叫什么| 舒化奶适合什么人喝| 什么的意思| 人参果不能和什么一起吃| 卓诗尼牌子是什么档次| 老实人为什么总被欺负| 假如时光倒流我能做什么| 阑尾炎术后吃什么| 什么是童子命| 四川古代叫什么| 女人是什么动物| 心绞痛什么症状| 焦虑症吃什么中成药| 花心大萝卜是什么意思| 人瘦了是什么原因| 郑板桥是什么生肖| 护士还能从事什么工作| 总爱放屁是什么原因| 血脂异常是什么意思| 五险一金是指什么| 世界上最大的单位是什么| 流浓黄鼻涕是什么原因| 只要睡觉就做梦是什么原因| 日有所思夜有所梦是什么意思| 百度

新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于ARM的家庭视频服务器

交管“神器”:驾驶员乱按喇叭会被抓拍罚500元

——
作者:河南理工大学电气工程学院 柴艳华 阎有运 时间:2025-08-04 来源:电子产品世界 收藏
百度 中央组织部统一管理公务员工作,将国家公务员局并入中央组织部,将建立起健全统一规范高效的公务员管理体制。

摘要: 针对家庭网关的最重要功能:远程监控功能,本文设计了一个基于平台的嵌入式家庭网关服务器平台。平台中集成了和家庭服务器及视频服务器于一体,通过通用网关接口程序,实现了远程用户和家庭内部的动态交互。本文中研究的数据信息主要是摄像头视频信息,采用了将视频信息通过控件解码,发送的方式在HTTP浏览器上直接播放的方式来实现远程传输(本文不论述信息家电的远程控制部分)。

关键词: 

引言

随着科学技术的不断进步和发展,人们对生活质量也提出了更高的要求。家庭作为一个新生体越来越快走进人们的生活,它将家庭单元作为一个节点加入了网络的大家庭,其中连接家庭内部与Internet的桥梁的家庭网关起了举足轻重的作用。嵌入式网关的主要功能如下:

远程控制:客户通过Internet连接的任意一台PC机的浏览器,都可以访问家庭网络的服务器。家庭网络中的设备状态将以HTML文件的方式显示在客户端的浏览器中。客户通过对HTML页面上相应设备的点击以实现对家庭网络中设备的远程控制,操作的结果同样以HTML页面的方式刷新客户端的浏览器。

远程监视:客户通过PC机的浏览器,都可以访问家庭网络的服务器,在HTML页面上通过点击控件按钮来实现视频工具的自动下载,和所要求视频文件的自动播放,从而可以显示多个摄像头中的视频信息。

远程维护:当HomeNetServer的后台数据库需要维护,或者家庭网络中设备的HTML描述文件有了更新,甚至系统的网络管理系统需要升级为新版本时,管理员都可以通过Internet远程对家庭网络中的服务器做维护和更新。

本文采用的系统总体设计框图如图1所是。基于这些基本要求和嵌入式系统自身资源有限的特点,系统处理器选择了三星的S3C4510芯片,并对其进行外围电路扩展如图2所示。

图1 系统总体设计框图

图2 处理芯片的外围扩展电路方框图

其中,Flash/ROM用于存储家庭网关中的嵌入式操作系统、HTTP服务器、网关程序、家庭网络服务器以及各种服务所需的文件系统。整个家庭网关软件平台存储在Flash中,系统启动时,将从Flash中运行引导程序,解压操作系统并将其移入SDRAM中。

Ethernet:S3C4510内部集成了网络控制接口,并提供专用于网络通信的DMA通道。通过Ethernet模块,S3C4510实现与Internet的连接。Ethernet模块完成芯片与网络的隔离和数据的收发。

系统:S3C4510所需的其他外围电路,包括:电源电路、外部时钟(50MHz)电路、开关及复位电路和JTAG调试接口电路等。

嵌入式操作系统选择的是mCLinux操作系统,mCLinux是专门针对没有MMU的处理器而设计的,系统多采用Romfs文件系统,Romfs是一种相对简单、占用空间较少的文件系统。而在mCLINUX下,主要有三个WEB服务器:httpd、thttpd和boa。httpd是最简单的WEB服务器,功能简单,不支持认证和CGI,thttpd和boa均支持认证和CGI,功能丰富,其中boa1是一个单任务的http服务器,源代码开放,性能较高,占用系统资源较少,在收到请求时,不启动多个服务进程处理多个请求,在一个进程内处理所有服务请求。对于CGI程序,将生成新的进程来处理,考虑到嵌入式系统自身资源有限,和家庭网关的进程数量有限,系统选择了在mCLinux系统中的boa服务器。

由于目前的mCLinux还不支持ASP、PHP等动态网页技术,所以在mCLinux下通过CGI2技术连接WEB页和本地程序,提供动态和交互的特性。

配置boa服务器

CGI程序不是放在服务器上就能顺利运行,如果要想使其在服务器上顺利的运行并准确的处理用户的请求,则须对所使用的服务器进行必要的设置。

boa的配置文件boa.conf:在boa.conf中对boa进行了配置,这些配置多使用默认值,本系统中将Document Root指定的WEB服务器的根修改为/boas。

在对内核进行配置时,选择boa程序和cgi.

将cgi_generic文件夹下的cgi.c和makefile覆盖到程序包中的/usr/cgi_generic/。将boa文件夹下的hash.c覆盖到程序包中的/usr/boa/src。将rc文件覆盖到程序包中的/vendor/Miectek/4510。

本系统中的mCLinux系统中的文件使用的是ROMFS和运行于RAM的EXT2。为了可通过FTP等工具更新网页,Src文件在/boas下创建文件夹cgi_bin,然后将index.html,boa.conf和mine.type复制到/boas下,将CGI程序复制到/boas/cgi_bin下。至此建立了boa运行的基本环境,使用“>boa -C/boas/&”命令就可以运行boa.

家庭网关设计

在嵌入式网关的设计中,网关程序与家庭网络的HTTP服务器和家庭网络内部服务器位于同一物理设备(基于S3C4510的硬件平台)之上,负责连接HTTP服务器与后台数据库,完成HTTP服务器与HomeNetServer之间的信息交互。

图3  家庭网关软件结构框图

家庭网关的软件结构如图3所示。根据功能描述,网关应能提供远程监视、远程控制、远程维护功能。网关内部工作流程如下:

*若客户发送的HTTP请求,经过HTTP服务器接收和解析后,得知要求的是设备状态信息时,HTTP服务器从存储设备状态信息的静态文件中取出设备状态,并封装为HTTP响应消息发送回客户端。

*若客户发送的HTTP请求,经过接收和解析后,得知请求的消息是对设备的设置(操作),则通CGI函数将消息内容转换为家庭网络协议传递给家庭网络服务器,由家庭网络服务器对家庭内部设备的管理和控制,并将处理结果以消息形式传递给CGI函数,并封装为HTTP响应消息的形式,发送回客户端。

*若客户发送的HTTP请求,经过接收和解析后,得知请求的页面是提供实时视频服务时,HTTP服务器将调用CGI函数向视频数据处理模块发送消息,通过视频数据处理模块来控制视频压缩卡完成视频数据的采集、压缩和发送等功能。

*若客户发送的HTTP请求,经过接收和解析后,得知请求的消息包含对云台设备及镜头的控制命令时,HTTP服务器通过CGI函数向云镜解码器直接发送控制指令以实现对云台和镜头的控制。

实时视频传输设计

基于HTTP的boa服务器负责接收和响应客户端的HTTP请求,当请求的是视频信息时,此请求通过CGI函数向视频数据处理模块发送消息,从而向视频设备发送事件以允许实时视频发送任务进入运行队列。

视频数据处理模块主要包括视频图像的实时捕捉(借助MPEG-4视频压缩卡完成)、动态存储和实时播放,实时播放可以和实时捕捉存储同时进行。

   初始化视频压缩卡:
 M878Object*pObject=NULL;
      For(int i=0;i<m_nDevice;i++)
          {pObject=new M878Object(i,m_strDisk+m_strVideoDir);
            If(!pObjectGetDataFormFile())
                pObject->InitData();
              m_obArray.Add(pObject);
     }
 数据采集:
for(i=0;i<m_nDevice;i++)
   {
     OpenDev(i);                         //打开指定卡号的设备,分配相应系统资源
     pObject=( M878Object*)m_obArray[i];
      OutMpegBuff(i,OnMpeg4Write);       //采集视频数据流
       RegisterViSaveExceptionProc(i,(ViSaveErrCallBack)ViErrCallBack);
       pObject->SetParamToDevice();      //设定参数
}
停止设备:
当不再使用设备时,调用ViUnInit()关闭视频压缩采集卡并卸载系统资源。
数据发送模块:
OutMpegBuff(i,OnMpeg4Write);
  Void CALLBACK OnMpge4Write(DWORD dwCard,BYTE *pbuff,DWORD dwSize,
                                                         BOOL isKeyFrom)
{
  if(dwCard>=g_dwDevice)
   return;
  g_VStrmInfo[dwCard]+=dwSize/26;
  MTAWriteVideo((BYTE)dwCard,pbuff,(LONG)dwSize,isKeyFrm)
}

发送模块负责向地址表中的地址发送经过编码处理的实时视频数据,并修改地址表中的信息。地址表用来保存请求实时视频服务的用户的IP地址,视频发送任务根据地址表中的地址来发送视频包。

 数据接收模块主要完成视频数据的接收、解码和显示工作。用户通过浏览器实现对远程设备的监控,服务器返回的信息通过浏览器显示。浏览器可以使用微软公司的Internet Exploer或Netscape公司的Netscape Navigator等。对于普通的文本及HTML文件支持的GIF、JPEG等格式的图片,普通浏览器都可以显示。但对于实时视频数据,由于与HTTP链接不同,不是使用流套接字而是使用数据报套接字接收,然后还需解码和显示,这些工作浏览器都无法完成。为使用户能通过浏览器观看视频,本系统采用在WEB页面中嵌入控件,由ActiveX控件完成视频数据的接收、解码和显示工作。而ActiveXInternet技术的一个重要方面是安全的下载和安装ActiveX控件和需要的支持文件。Microsoft Internet Explore通过在HTML文档中使用Internet Component Download方法自动下载并安装ActiveX控件完成客户端控件的嵌入和注册。

在WEB服务器的HTML文件中嵌入ActiveX属性,针对客户端使用最多的IE浏览器,HTML代码可使用MFCControl控件。

控件编写完成后,需要在客户端注册,关于控件的信息记录在注册表中。客户端从服务器端接收到嵌有控件的HTML页面后,将根据OBJECT标签中的信息通过注册表使用对应的空间完成接收,解码和显示。

远程控制设计

在远程控制部分设计中,根据性能最优化和实时性考虑,将控制部分分为两部分:云台控制部分,主要是通过串口进行通信;信息家电远程控制,通过内部家庭网络协议对相应设备进行控制,控制信号的物理载体是家庭网络内部总线。由于篇幅有限,以下只介绍图4所示云台控制模块。

图4  云台控制系统硬件连接框图

该模块是个相对独立的模块,负责控制云台的上下左右旋转以及镜头的焦距和光圈的调整。当服务器接受到的请求中含有对云台设备以及镜头的控制命令时,将通过CGI函数向云台解码器发送控制指令以实现对云台和镜头的控制。在室内,采用CDA2000解码器直接通过RS-232串行口与嵌入式网关通信,云台控制电压 ~24V、~220V 可选,镜头控制电压可在 5V-12V 之间无级调节。

在云镜控制模块中,解码器起着核心的作用,设计云镜控制模块主要解决的问题是将各项操作如上下旋转,镜头调焦等操作进行编码,但本系统采用的解码器封装了底层硬件程序的编写,因此所做的工作是利用解码器开发商提供的协议,通过RS232串行口向解码器发送指令。

Linux对串口的操作是通过设备文件进行访问的,只需打开相应的串口文件,然后通过调用设备相关函数来打开串口(open()),设置串口参数(tcgetattr(),cfsetispeed(),cfsetospeed()),设置输入输出模式(options.c_Iflag和options.c_Oflag),恢复串口属性,关闭串口(close())等即可。

结语

本系统的特点是基于嵌入式微处理器有限的系统资源之上,为客户提供视频服务。本系统采用的是“boa服务器+CGI+家庭网络服务器”的模式来实现对信息家电的控制。以及采用了“boa服务器+CGI+视频接收和控制模块(视频服务器)”的模式实现对视频数据的捕获、采集、发送等操作,并通过串行口通信方式对云台和镜头进行直接的控制,视频的接收问题一直以来是研究的重点,本系统采用在WEB页面中嵌入ActiveX控件的方式,由ActiveX控件完成视频数据的接收、解码和显示工作。这样做的好处是,不需对客户端做任何设置,就可以完成控件的自动下载和视频文件的实时播放。
    
参考文献:
1. 张大波等,嵌入式系统原理、设计及应用,第二版,机械工业出版社,2005.1
2. 李现勇等,Visual C++串口通信技术与工程实践,第二版,人民邮电出版社 2004.7,
3.李驹光等,应用系统开发详解——基于S3C4510B的系统设计,2003.12
4. 李善平等,Linux与嵌入式系统,第二版,清华大学出版社2006.10
5. 刘峥嵘等,嵌入式Linux应用开发详解,第一版,机械工业出版社,2004.7



评论


相关推荐

技术专区

关闭
一库是什么意思 菠菜吃多了有什么害处 人为什么会得白血病 黑枸杞对男性性功能有什么帮助 598是什么意思
布偶猫长什么样 c反应蛋白是什么意思 七月十六是什么星座 鸡精和味精有什么区别 梦见自己离婚是什么预兆
cm是什么 耳鸣有什么症状 双侧卵巢多囊样改变是什么意思 双脚浮肿是什么原因 抽筋是什么原因引起的
au是什么货币 胃疼挂什么科室 1939年属什么 大肝功能是检查什么 质粒是什么
嘴唇发麻是什么原因hcv8jop1ns3r.cn gfr医学上是什么意思hcv9jop4ns8r.cn 抽筋缺什么维生素hcv8jop0ns5r.cn 离婚带什么证件才能办理hcv8jop0ns5r.cn 童心未泯是什么意思hcv7jop7ns3r.cn
利福喷丁和利福平有什么区别hcv8jop0ns6r.cn 宫腔镜检查主要查什么hcv8jop5ns4r.cn 重阳节干什么cj623037.com 高血糖主食吃什么好zsyouku.com 438是什么意思hcv8jop3ns4r.cn
聚聚什么意思hcv8jop2ns7r.cn 世界第一大运动是什么hcv8jop0ns2r.cn 初级中学是什么意思hcv7jop5ns3r.cn 最大的哺乳动物是什么hcv7jop6ns7r.cn 苔藓是什么意思hcv9jop5ns7r.cn
肝ca什么意思hcv9jop2ns6r.cn 啮齿类动物什么意思hcv9jop4ns3r.cn 嘈杂纳减是什么意思hcv8jop2ns0r.cn 点字五行属什么hcv9jop5ns3r.cn 人设崩塌是什么意思bjhyzcsm.com
百度