基于ARM Linux的3G无线车载视频监控系统

发布者:Jinghua6666最新更新时间:2013-03-07 来源: 电子设计工程 关键字:ARM  Linux  3G  无线车载  视频监控系统 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    随着汽车客运事业发展,营运人员在营运过程中的安全以及管理也越来越被重视。由于存在乘客与营运人员经常因逃票、服务态度等问题而产生纠纷、客运过程中交通事故双方的责任鉴定比较模糊、车内盗窃事件缺乏有力的证据以及车辆失窃和司机酒驾等问题,本文提出基于ARM Linux的3G无线车载视频监控系统,可有效减少上述事件的发生,给予车乘人员以及车辆安全保障。此系统在Linux操作系统下,利用嵌入式开发板S3C2440搭建硬件环境,通过USB摄像头以及GPS模块采集车内实时的视频和位置信息,视频数据通过H.264的高效压缩编码,既可以得到高压缩比又拥有高质量流畅的图像,可以大大减少需要传输的数据量,并且将3G无线网络作为传输媒介,既可以解决传统有线网络对运动中的监控不能实现的问题,提供更加灵活的组网方式,满足不能架设线路的监控点的监控需求,还可以提供比GPRS和CDMA更宽的数据传输带宽,满足移动视频监控的要求。最终监控终端通过Web浏览器可以实时监控车辆内部的视频画面以及车辆所在的位置速度等信息。

1 系统的总体设计
  
3G无线视频监控系统主要由车载移动监控终端、网络传输、远程客户端3部分组成。系统的总体结构如图1所示。整个视频监控系统采用B/S结构。车载移动监控终端主要包括S3C2440平台上运行的GPS数据采集以及视频采集、视频的编码、嵌入式Web服务器、流媒体服务器。网络传输以TCP/IP协议为基础构建,实现RTP、RTCP、HTTP、TCP、UDP等传输协议。远程客户端实现车辆位置以及视频数据的接收、视频流的解码播放、网络状况反馈等功能。系统工作原理为:通过USB摄像头获取实时车辆内情况和司机驾驶状况,通过GPS定位模块获取GPS数据(经纬度、高度、时间、速度),并传送给ARM处理器,处理器对接收数据进行H.264编码并将编好码的NAL单元传送给流媒体服务器,流媒体服务器对压缩好的数据进行RTP封装并通过内部总线送到内置的boa服务器,并根据RTCP反馈回来的控制信息对H.264编码器和视频采集速率进行控制。Boa小型嵌入式服务器结合CGI技术来实现监控端和客户端的交互。远程客户端通过无线网络与boa服务器连接,采用ActiveX技术实现视频数据的接收、RTP报文的解封装、发送RTCP反馈信息、H.264视频解码、Web浏览器的显示。

a.JPG



2 系统的硬件组成及选型设计
2.1 车载移动终端
   
车载移动终端的组成如图2所示,主要由4部分组成:ARM处理器、GPS模块、3G无线数据发送模块、图像采集模块。主控处理器芯片选用三星公司推出的16/32位RISC微处理器S3C2440A,S3C2440A采用ARM920t内核,0.13μm的CMOS标准宏单元和存储器单元,最高运行频率达到400MHz,它的低功耗、简单、考究和全静态是专门为需要考虑花费和功耗的应用设计的,特别适用本系统。S3C2440A提供了丰富的片内资源,支持Linux。集成在芯片上的功能有:16 KB的指令和数据Cache、LCD控制器、AC97音频接口、摄像头接口、DMA控制器、PWM定时器、MMC接口等。它能完成整个系统的调度工作,在系统上电时配置所有需工作芯片的功能寄存器,完成视频流的编码,并通过3G无线网络向监控终端发送视频码流。

b.JPG


    GPS模块使用u_blox公司的LEA-5H。LEA-5H具有50个通道的u-blox引擎,一百多万个有效相关器,热启动和辅助启动首次定位时间小于1 s,-160 dBm的SuperSense捕获和跟踪灵敏度,运行限制速度515 ms。系统通过该模块实时接收定位信息,保证中心控制模块可以实时处理定位数据。
    图像采集模块的硬件资源选用了带USB接口的中星微摄像头。该款摄像头造价低廉,成像效果好,体现出了较好的性价比。与此同时。主板还预留了多个外围接口,以便扩展功能。
    无线通信模块采用SIMCOM公司的SIM5218模块。无线SIM5218是一款WCDMA/HSDPA/GSM/GPRS/EDGE模块解决方案,支持下行速率达7.2 Mb/s和上行速率为5.76 Mb/s的数据传输服务,这对视频和图像等数据量相对较大的信号传输而言是非常理想的选择。同时,它还具有丰富的接口包括UART,USB 2.0,GPIO,I2C,GPIO,GPS,摄像头传感器和内嵌SIM卡等。在费用方面,3G因为是借助分包交换的技术,所以,网络使用的费用是以消费者的数据传输量来定。[page]

2.2 监控中心
   
车辆监控中心由显示屏幕、监控服务器、主控工作台、路由器和存储器等硬件组成。按功能区分,其基本功能模块有数据接收模块、解码模块、显示模块和存储模块等。由于监控中心硬件可采用通用器件,故不需要进行专门的选型设计。

3 系统软件实现
   
系统选择Linux操作系统。Linux具有源代码开放、成本低廉、内核可裁减性强等特点,且集成有TCP/IP协议,对网络的支持是相对于其他操作系统的优势。基于ARM Linux的视频监控终端的软件设计主要完成三方面的工作:第一在硬件上搭建一个软件平台,搭建嵌入式Linux软件开发平台需要完成UBOOT移植、嵌入式Linux操作系统内核移植以及嵌入式Linux操作系统的设备驱动程序的开发等工作;第二在软件平台的基础上,借助交叉编译工具,开发视频监控终端上运行的采集、压缩、流媒体服务器程序;第三监控中心运行的接收、解压缩、显示程序。
3.1 S3C2440A的Linux平台的搭建
   
构建嵌入式Linux开发平台需要先构建交叉编译环境。一套完整的交叉编译环境包括主机和目标机。在开发中主机是一台装有Centos 5.5操作系统的PC机,目标机是基于S3C2440A的视频监控终端。选用的嵌入式Linux内核源代码包版本号为2.6.28,交叉编译器是GCC 4.3.2。编译内核之前首先要配置内核,裁减掉冗余的功能模块。具体步骤如下:
    (1)通过命令make menuconfig,对内核进行配置,选择YAFFS文件系统,支持NFS启动,启用USB设备支持模块,包括USB设备文件支持模块、USB主控制器驱动模块等。此外,USB摄像头属于视频设备,还需要启用Video4Linux模块;
    (2)用make dep命令生成内核程序间依赖关系;
    (3)make zlmage命令生成内核映像文件;
    (4)make modules和make modules_install命令生成系统可加载模块。这样就生成了zlmage内核映像文件,把它下载到目标平台的FLASH中。
    本设计采用USB外置摄像头,在内核配置时要求以模块形式动态加载。首先要完成驱动程序驱动中需要提供基本的I/O操作接口函数open、read、write、close的实现,对中断的处理实现,内存映射功能以及对I/O通道的控制接口函数ioctl等,并把他们定义在struct file_operations中。接着把USB驱动程序编译成可以动态加载的模块。
3.2 车载移动终端软件设计
3.2.1 GPS模块程序设计
   
GPS接收机GPS15L输出数据格式符合NMEA-0183标准。NMEA-0183协议是由美国国家海洋电子协会制定的一种串行通信的数据协议,所有输入输出信息均为一行ASCII字符。它的一条消息称为语句(Sentence),每条语句都以“$”开始,以回车换行符()结束,中间是用逗号分隔的若干个域。一条NMEA-0183语句包含以下5个部分:起始符,固定字符“$”,表示语句开始;标识符域,表示一条语句的全部数据域的特定格式,长度可变;数据域,包含各种类型的数据,各数据之间用逗号分隔,数据域可以为空,但用来分隔数据的逗号不可省略;校验和,以“{”开始,由2个字符的十六进制数组成;结束符,固定字符,表示语句结束。NMEA-0183语句中最常见的几种格式有GPGG A(Global Positioning System Fix Data)、GPRMC、GPGSV、GPVTG等,它们包含的信息不尽相同。本设计中采用的是GPGGA输出语句,它包含了主要的GPS定位数据。获取GPS数据流程图如图3所示。

c.JPG


    由图3可以看出,GPS模块启动后首先对串口的初始化也就是对GPS模块的初始化,包括设置波特率、数据位、校验位等;然后后开始接收GPS数据,即从串口读数据,并将读到的数据保存到BUF中,接着进入数据的解析和提取阶段,判断BUF[5]是否等于“c”以判断是否为MYMGPR MC,若是,则开始提取经纬度、时间等信息并存入结构体GPS_DATA中。
3.2.2 视频采集模块设计与实现
   
视频采集模块是通过嵌入式Linux操作系统调度V4L(Video4Linux)及影像设备驱动程序来完成视频采集。V4L是Linux影像系统与嵌入式影像的基础,是Linux kernel里支持影像设备的一组API。在Linux操作系统中,外部设备被作为设备文件来管理,从而使得对外部设备的操作就转变成对设备文件的操作。其采集流程如图4所示。

d.JPG

[page]

    主要过程如下:
    (1)打开视频设备。调用函数int open(constchar * pathname,int flags),若返回值为-1,表示打开失败,否则,表示所打开设备的文件描述符。
    (2)读取设备信息。Ioctl(cam_fp,VIDIOC_QUERYCAP,&cap)函数来取得设备文件的属性参数并存储存于cap结构中,其中cam_fp指的是打开的视频设备文件描述符。
    (3)选择视频的输入方式。通过ioetl(cam_fp,VIDIOC_S_INPUT,&chan)函数设置视频设备的输入方式,其中chan的数据结构类型是V4L2 _input,用来指定视频的输入方式。
    (4)设置视频帧的格式。通过ioctl(cam_fp,VIDIOC_S_FMT,&fmt)函数设置视频的帧格式,其中fmt的数据结构类型是V4L2_format,用来指定视频的宽度、高度、像素大小等。
    (5)读取视频数据。通过read(cam_fp,g_yuv,YUV_SIZE)函数,把摄像头一帧的数据存放到g_yuv中,其中YUV_SIZE指的是每帧数据的大小。
    (6)关闭视频设备。通过close(cam_fp)函数来实现视频设备的关闭。根据流程图可对其进行相应操作。当摄像头通过USB接口连接后,程序中调用V4L API对设备文件的读操作read(),即可完成视频数据采集到内存中,视频数据可用图4形式保存,也可压缩后封装进数据包。本文是先将采集数据进行H.264压缩后再封装进数据包,并传输到监控PC进行处理。
3.2.3 视频压缩模块设计
   
因视频采集模块采集的视频数据信息量非常大,为了提高数据传输速度、降低网络数据流量、保证监控的实时性,有必要对车载摄像头采集的数据压缩编码。文中采用H.264硬编码方式(硬编码具有不占用CPU资源,运算速度快等优点,从而满足视频数据实时性的要求)将摄像头采集的图像系列压缩编码成流媒体。具体编码的过程如图5所示。

e.JPG


    (1)创建H.264编码结构。调用SsbSipH264Encodehlit(width,height,frame_rate,bitrate,gop_num)函数实现,其中width表示图像的宽度,height表示图像的高度,frame_rate表示帧频,bitrate表示比特率或码率,gop_num表示两个相离关键帧之间最多包含多少个帧(B或P帧)。
    (2)初始化H.264编码结构,调用SsbSipH264Encode Exe(handle)函数。
    (3) 获取视频输入地址,调用SsbSipH264EncodeGetInBuf(handle,0)函数来实现,该函数返回视频输入的首地址,存放在p_inbuf中。
    (4)输入视频数据,调用memcpy(p_inbuf,yuv_bur,frame_size)函数实现,p_inbuf存放需要编码的数据,yuv_buf存放原始视频数据,frame_size表示数据的大小。
    (5)编码视频数据,对p_inbuf内容进行H.264编码,调用SsbSipH264EncodeExe(handle)函数实现。
    (6) 输出已编码的数据,调用 SsbSipH264EncodeGetOutBuf(handle,size),该函数返回已编码图像的首地址,size表示已编码图像的大小。
    (7)关闭硬编码设备,调用SsbsipH264Encode DeInit(handle)函数实现的。
3.2.4 嵌入式服务器boa移植
   
Linux支持boa、HTTPD、THTTPD等几种Web服务器,其中boa Web服务器更适合于嵌入式系统,因为它是一个单任务、支持CGI(Common Gateway Interface,通用网关接口)功能的Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发出连接请求,可执行代码只有约60K。
    首先进入boa源码目录的src子目录,执行命令./con-figure生成Maketile文件,然后修改Makefile文件找到CC=gcc,将其改成CC=arm-linux-gcc,再将CPP=gcc-E改成CPP=arm-linux-gcc-E,并保存退出。然后运行make进行编译,得到的可执行程序为boa,之后执行命令arm-linux-strip boa,将调试信息去掉,得到的最终程序。第二步完成boa的配置,使其能够支持CGI程序的执行。Boa需要在/etc目录下建立一个boa目录,里面放入boa的主要配置文件boa.conf,主要文件的含义有:AccessLog/var/log/boa/access_log访问日志文件。如果没有以/开始,则表示从服务器的根路径开始;VerboseCGILogs是否记录CGI运行信息,如果没有注释掉,则记录,注释掉则不记录;Document Root/var/wwwHTML文档的主目录,如果没有以/开始,则表示从服务器的根路径开始;DirectoryMaker/usr/lib/boa/boa_indexer当HTML目录没有索引文件时,用户只指明访问目录时,boa会调用该程序生索引文件给用户,因为该过程比较慢最好不执行,可以注释掉;Scri ptAlia/cgi-bin//var/www/cgi-bin/指明CGI脚本的虚拟路径对应的实际路径。一般所有的CGI脚本都要放在实际路径里,用户访问执行时输入站点+虚拟路径+CGI脚本名。对boa.conf进行修改的必须要保证是使其他的辅助文件和设置必须和boa.conf里的配置相符,不然boa就不能正常工作。另外还需要创建日志文件所在目录/var/log/boa,创建HTML文档的主目录/var/www,将mime.types文件拷贝到/etc目录,创建CGI肢本所在目录/var/www/cgi-bin/。
3.2.5 CGI程序的设计
   
CGI提供了一个Web服务器的外部程序通道,运行在服务器上,由浏览器输入触发,是Web服务器和系统中其他程序的连接通道。CGI程序就是符合这种接口的程序。服务器接收到用户的请求,并将数据送给CGI程序。CGI程序接收到数据后,启动编写好的应用程序,并按照用户提供的数据执行。应用程序执行完成后,返回执行结果,并通过Web服务器传送给用户浏览器显不。
    CGI模块程序的设计主要包括如下几部分:Web服务器的配置、HTML页面的编写、CGI脚本实现。
    (1)Web服务器的配置
    嵌入式Web服务器采用boa,其配置是以文本的形式提供,放在文件系统中的/etc/httpd/conf/目录下面,其主要配置在以上的boa服务器移植中讲述过了。
    (2)HTML页面的编写
    因为系统的设计的主要方向是能够通过USB摄像头进行实时监控。所以为了实现简单化,抛开一些不必要复杂的选择项。主要的HTML页面有登录界面、注册界面和监控界面。这些HTML放在嵌入式文件系统的/var/www目录下。
    (3)CGI脚本实现
    实现动态Web页面的第二步是用C编写CGI程序,CGI程序分为以下几部分:根据POST方法或GET方法从提交的表单中接收数据;URL编码的解码;用printf()函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器。
3.2.6 远程视频数据接收模块设计
   
目前流行的浏览器有IE、FireFox、Chrome等,对于普通的文本及HTML文件支持的GIF、JPEG等格式的图片都可以轻松的显示,但对于实时视频数据,这些普通浏览器无法正常的显示。所以实时视频数据接收模块主要完成的工作是视频数据的接收、RTP报文的解封装、发送RTcP反馈信息、H.264视频解码和Web浏览器的显示。
    本系统采用ActiveX控件技术,嵌入在Web页面中,来完成视频数据的接收、RTP协议、解码和最后的显示工作。最重要的一点,系统采用双缓冲技术,来满足视频的解码速度的问题,实现实时播放。具体流程图如图6所示。

f.JPG



4 系统的测试与结论
   
本文设计了一种基于ARM S3C2440的嵌入式视频监控系统,首先通过USB采集中星微摄像头作为服务器,实现利用V4L2技术对USB摄像头进行数据采集,并将数据送入H.264编码模块进行数据的压缩,压缩后的数据经过视频服务器RTP封装打包,最后通过嵌入式Web服务器与远程视频监控客户端进行交互。本系统在实际的运营网络中进行了测试,目标定位信息接收速率为1次/s,动态定位精度小于等于10 m;能实现动态视频传输,且视频传输流畅,图像最大分辨率可达VGA(640×480像素),视频传输的质量优于基于2.5G网络的车辆监控系统(图像最大的分辨率为320×240像素,且基本上只能传输静态图像)。

关键字:ARM  Linux  3G  无线车载  视频监控系统 引用地址:基于ARM Linux的3G无线车载视频监控系统

上一篇:基于嵌入式Win CE系统的电能质量监测仪
下一篇:Atmel针对ARM A5处理器扩大第三方工具和软件生态系统

推荐阅读最新更新时间:2024-03-16 13:19

ARM裸机程序开发17(堆栈寻址)
堆栈是一种数据结构,按先进后出的方式工作。使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶 当堆栈指针指向最后压入堆栈的数据时,称为满堆栈,而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈 同时又根据堆栈的生成方式,又可分为递增堆栈和递减堆栈,当堆栈由低地址像高地址生成时,称为递增堆栈。当堆栈由高地址向低地址生成时,称为递减堆栈。这样就有4中堆栈的工作方式。 ◎ Full descending 满递减堆栈——FD 堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的数据)。 ARM-Thumb过程调用标准和ARM、Thumb C/C++ 编译器总是
[单片机]
ARM7与ARM9的区别
1、ARM7是冯洛伊曼结构,ARM9是哈佛结构。所谓冯洛伊曼结构与哈佛结构,就是冯洛伊曼结构程序(指令)和数据存储在同一存储器中的,而哈佛结构的程序(指令)和数据分别有各自独立的存储器,因此,哈佛结构区分了数据总线和指令总线。 2、ARM7是三级流水线,而ARM9是五级流水线 ARM7内核是0.9MIPS/MHz的三级流水线; ARM9内核是5级流水线,提供1.1MIPS/MHz。 ARM9带有MMU,CACHE 等. ARM9时钟频率可以更高.资料统计ARM9的指令执行效率比ARM7高27%左右。
[单片机]
采用S3C2410和Linux系统的指纹识别管理系统
作者Email: newtonian@263.net 摘要:随着ARM系列处理器性能的不断提高,过去一些专属于DSP领域的运算密集型的应用,例如指纹识别等,也能够在ARM处理器上得以很好的实现。并且由于MCU的强大控制功能,以及操作系统的巨大灵活性,使得这种系统有DSP平台不可比拟的优势。本文着重介绍了基于S3C2410和Linux操作系统的指纹识别管理系统的实现方法,以及这种实现方法与传统DSP系统的异同。 指纹识别技术在金融、交通、安全等领域以及日常工作和生活中被越来越广泛地应用。指纹识别的算法中通常有大量的矩阵运算,域变换,三角函数运算等等,属于典型的运算密集型的应用,因此通常采用DSP来实现嵌入式应用。不过近期情
[嵌入式]
英特尔ARM开启芯片之战 消费者该何去何从?
      【搜狐IT消息】据国外媒体报道,正在逼近的芯片之战将让消费者无所适从。   全球最大PC芯片制造商英特尔希望它的芯片产品能进入平板电脑和智能手机市场。全球最大移动处理器设计厂商ARM则希望自己的芯片产品能打进平板PC市场。如同上世纪90年代和2000年初的Mac和PC之争,新的芯片大战意味着出现这样一种局面,消费者喜欢的应用无法支持他的设备,或无法如他所希望的那样在设备上运行。   这将与目前我们习惯的局面大为不同。   现在,几乎所有的PC(包括Mac)都在使用英特尔芯片。高通、苹果、三星和Nvidia等厂商制造的ARM芯片则占据了移动设备市场的95%。移动和PC各有一个芯片平台,双方井水不犯河水。这方便了设备制造
[手机便携]
基于ARM7的无线传感器网络节点能量管理初探
1 引言 微小的、资源非常有限的无线传感器网络节点是无传感器网络的基本功能单元,担负着信息采集、数据处理、信息传输等重任。   随着MEMS技术、微电子技术、网络技术和计算机技术的进步,逐渐使得无线传感器网络成为现实。研究人员利用嵌入式技术开发出了小型化板级无线 传感器网络节点,而这在30年前还仅是一种构想;单片无线传感器网络节点也已经问世,但距离实用仍有相当一段路要走。为了研究无线传感器网络的组网技术和 能量管理技术我们采用基于ARM7核的SOC单片机LPC2138开发了一种传感器网络节点(如图1)。    2 节点设计概述   相对于处理器运算速度和功耗提高的幅度而言,电池性能的提高则缓慢许多,使
[工业控制]
基于<font color='red'>ARM</font>7的<font color='red'>无线</font>传感器网络节点能量管理初探
ARM处理器寄存器介绍
ARM处理器模式 用户模式(User):ARM处理器正常的程序执行状态 快速中断模式(FIQ):用于高速数据传输或通道处理 外部中断模式(IRQ):用于通用的中断处理 管理模式(Supervisor):操作系统使用的保护模式 数据访问终止模式(Abort):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护 系统模式(System):运行具有特权的操作系统任务 未定义指令中止模式(Undifined):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真 ARM寄存器 ARM共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器.这些寄存器不能被同时访问,但在任何时候,通用寄存器R0~R14,程序计
[单片机]
<font color='red'>ARM</font>处理器寄存器介绍
ADC触摸屏转换---那些年我们一起玩mini2440(arm9)裸机
触摸屏工作原理: 四线电阻屏结构,是在玻璃或丙稀酸基板上覆盖两层均匀导电的ITO层,分别作为x电极和y电极,他们之间由均匀排列的透明格点分来绝缘。X电极和y电极的正负端由导电线(黑色粗体线)从两端引出,引出x-,x+,y-,y+. 当接触触摸屏表面并施加压力时,上层的ITO导电层和下层的ITO导电层发生接触,形成上面右图的等效电路。 1.y坐标计算: 在y+加驱动电压V-drive,y-接地。X+作为引出端测量接触点的电压,由于ITO层均匀导电,触电电压与V-drive电压之比等于Y坐标与屏高度之比。 2.x坐标计算: 在x+加驱动电压V-drive电压,x-接地。Y+作为引出端测量接触点的电压,由于ITO层均匀导电
[单片机]
基于ARM和FPGA的智能小车监控系统
0 引言 智能小车是机器人研究领域的一项重要内容。它集机械、电子、检测技术与智能控制于一体。在各种移动机构中,智能小车的轮式移动机构最为常见。轮式移动机构之所以得到广泛的应用,主要是因为容易控制其移动速度和移动方向。智能小车可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段、人类无法介入等特殊情况下的任务。一般的智能小车操作控制复杂、功能单一、不能远程重构。 本文介绍的智能小车可移动视频监控系统,以“飞思卡尔杯”智能小车竞赛提供的车模装置为基础,利用ARM芯片S3C2440A控制图像采集、网络传输、速度采集干扰小的模块,利用FPGA芯片控制电机驱动、舵机控制、电量采集干扰大的模块,当上位机通过Internet访问智
[单片机]
基于<font color='red'>ARM</font>和FPGA的智能小车监控系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved