0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于S3C2410微处理器和linux-2.6.18内核实现家庭网络WEB平台设计

电子设计 来源:微计算机信息 作者:王忠勇;安永帅;宋 2021-05-18 16:19 次阅读

作者:王忠勇;安永帅;宋豫全

1 概述

信息家电和下—代宽带无线通信是IPv6的两大主要应用领域,随着互联网快速发展和家庭宽带的逐步普及,将家庭中的微计算机、信息家电以及消费电子设备等组成家庭网络,已经成为重要的消费热点。IPv6技术在家庭网络中具有独特的优势。可以使家庭内的冰箱、空调等家电都拥有—个独立的全球IPv6地址;全面支持服务质量保证(QoS),这对于数字娱乐和多媒体信息应用非常有益。因此,在家庭网络中应用IPv6具有广阔的前景。

网络迅速发展给人们带来巨大便利的同时,也带来了严重的网络安全问题。在家庭网络中,安全问题同样很突出。各种新技术在家庭中的广泛应用一方面提高了信息家电的性能,另一方面也对简化操作和管理提出了新的要求。这些都需要通过一个统一的家庭网络WSB平台进行设置和管理,并实现与客户端的动态交互。

本文提出了一种基于IPv6的嵌入式家庭网络WEB平台解决方案,以高性能的32位ARM微处理器S3C2410为硬件平台,通过移植新版本的嵌入式linux-2.6.18内核,实现了家庭网络的管理平台功能。

2 家庭网络系统结构

本系统由客户端、宽带接入端口、家庭网络HUB、家庭网关和家电控制器组成。如图1所示:

图1系统结构示意图

系统分为三个部分。

第一部分,是位于家庭网络以外的客户端,家庭网络用户和信息家电厂商的维护人员,通过Intenet访问家庭网络对外的统一平台,即网关中内嵌的WEB服务器。

第二部分,是网关和PC主机,网关既是家庭网络内部的各个家电控制器对外的统一接口,也负责统一控制和管理各个信息家电中家电控制器。一方面接收来自用户通过Internet发送的控制信息,另一方面采集信息家电的状态,提供给用户参考。

第三部分.是家电控制模块,它连接家电的执行机构,接收来自网关的控制命令,并对家电进行操作,同时根据网关的命令,采集家电的信息上传。

3 硬件开发环境

嵌入式系统硬件平台的选择主要是嵌入式处理器的选择,针对开发嵌入式网关的需要,并考虑系统外围设备情况,本系统采用了内嵌ARM920T内核的三星S3C2410处理器,ARM920T是高性能、低功耗特性方面最佳的通用封装微处理器,它采用5级流水线,具有指令和数据Cache,支持协处理器、片上调试和MMU等技术。此外,还包括一些嵌入式外围设备,由存储设备(一片E28F640构成的8MB容量的16位NOR型Flash存储器和两片HY57V281620构成的32MB容量的32位SDRAM存储器)、接口设备(异步串口、以太网口和USB接口)、显示设备(LCD及触摸屏模块),这些共同构成了硬件开发环境。

4 软件设计

与其他嵌入式操作系统相比,Linux具有开放源码、内核小、功能强大、运行稳定、可移植性好等优点,能充分发挥ARM920T内核具有MMU(存储单元管理)的强大功能,同时由于Linux的开源优势.Linux内核对IPv6的支持比较全面,因此本系统选用Linux作为嵌入式操作系统。

4.1 Linux开发环境的建立

由于嵌入式系统的资源有限,嵌入式Linux的开发通常采用宿主机加目标板的方式,即需要一台安装Linux的PC机作为系统的编译和调试环境。由于家庭网络中的PC主机通常要使用Windows操作系统,来满足日常需要,因此,采用了虚拟化的方法来解决这个矛盾。

在PC主机上安装虚拟机软件VMware(版本5.0.0),VMware运行在主机的操作系统之上,它在Guest OS与Host OS之间加了一层虚拟操作平台(VMware Virtual Platform),客户操作系统透明地运行在虚拟操作平台之上。然后在虚拟机上安装RedHatLinux9.0,作为宿主机,来进行日标板所用到的操作系统的内核裁剪、移植、编译,应用程序的编译、调试,以及将内核和文件系统打包成映像(image)文件,然后就下载到目标板上去运行,双方通过串El或以太网接口建立连接关系。

4.2 通过VMware管理

家庭网络中的PC机上具有不同的两种操作系统,需要通过VMware Workstation对其进行管理,以解决二者不能相互访问,传送程序和文件的问题,并使Linux和Windows可以同时在互不影响的情况下,分别接入Internet。

第一步,在Linux中安装VMware Tools,获得对X windows界面和网络等的强化支持。

第二步,设置VMWare为host-only方式.在options中的sharefolders设置共享目录。把PC主机的网卡设为“允许共享”,并设定网络接口为VMnetl,进入Linux,设定ethO为192.168.0.2,default gatewey为192.168.0.1。即可实现Linux和Windows分别独立接入Intenet。

第三步,为实现Linux和Windows共享文件,采用smb (Server Message Block)服务的方式。在Linux中开启samba服务器,并修改其配置文件/etc/smb.conf,在Windows中添加IPX/SPX和NETBEUI协议。

由上面的步骤可以看到,在不同的场合下,对虚拟机中的Linux配置是不同的。对于家庭网络的用户来说,这样的配置难度过大,因此,本系统利用虚拟化的”clone”技术,在VMware中对不同场合下的配置,分别进行“clone”.其名称分别为“shareholders”、“Intenet”和“test”,如图2所示,这样,就可以方便地进行切换。

图2 虚拟机的配置

4.3 内核配置、协议栈优化与服务器设置

考虑到嵌入式系统对稳定可靠性的要求,选用目前较新版本的Linux 2.6.18内核,它对IPv6协议栈、无线网卡以及Cisco的LEAP无线认证协议提供了更好的支持,而且已经经过一段时间的运行,比较稳定。

在IPv6网络中,由ICMPv6(Intemet Control Messages Protocol)协议实现的邻居发现和IP地址的自动配置是IPv6协议在嵌入式应用中最实用的部分,其邻居发现功能取代了IPv4协议中使用的ARP(Address Resolution Protocol)、ICMP路由器发现和重定向报文的功能,而自动配置则实现了设备接入网络的“即插即用”,因此本嵌入式系统平台根据实际需要重点对ICMPv6协议进行了优化配置。

mini_httpd是嵌入式Linux下少数支持IPv6协议的轻量级WEB服务器,它内核很小,非常适合板上资源有限、一般为单任务的家庭网络WEB环境,因此本系统选用了mini_httpd-1.19作为嵌入式WEB服务器,将其下载到宿主机后解压缩、制定交叉编译器,然后编译生成二进制可执行文件。在网关的系统配置文件/usr/etc/rc.local中增加命令“mini_httpd/jffs2 cgi-bin/”使得在系统启动时自动加‘载到网关flash存储设备的JFFS2(Journalling Flash File System闪存日志型文件系统第二版)文件系统中。

为了配置和测试IPv6的网络环境和协议,还需要安装BusyBox。这是一个集成了一百多个常用标准Linux工具的单个可执行实现,由于使这些工具共享相同的元素,因此体积非常轻巧,而且可以在图形工具下进行配置,被称为Linux工具中的瑞士军刀,其安装配置与前述嵌入式服务器的过程类似,不再赘述。

4.4 编写CGI程序进行认证和管理

目前Web技术中生成动态Web页面的方法有CGI和服务器脚本,如JSP,ASP等,但后者需要Web服务器具有这些脚本的运行支持模块。在嵌入式Web服务器中,考虑到资源限制问题,一般都只提供CGI (Common Gateway Interface)支持,因此在嵌入式设备中Web方式应用实际上就是基于CGI的程序开发。

CGI提供了客户机与服务器交互的接口,服务器响应客户端请求后执行相应的CGI程序,并把执行结果返回给客户端,从而实现了基于WEB的动态交互。使用FORM方式作为输入界面,用户在FORM中输入的信息经过URL编码处理后再送到CGI程序中,这就是CGI的关键所在。程序完成对输入处理和结束工作后,把结果以信息流的方式传给服务器,服务器负责把要反馈的信息流以HTTP的形式封装起来,转换到客户端的浏览器上。

CGI程序分为以下几部分:①用户在客户端的浏览器上访问网关,载入用户界面,并在FORM中输入ID和口令,采用get方法提交;②服务器响应请求,分析浏览器请求的资源,发现是一个CGI程序,于是引导到指定位置的CGI程序;③URL编码的解码,程序从环境变量“QUERY_STRING(path&info)中提取信息”;④用printf()函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器。

5 IPv6家庭网络的组网及测试

在家庭网络中的配置主要包括PC主机和网关两部分的配置。

PC主机安装家庭用户常用的Windows XP操作系统,在DOS方式下使用命令“ipv6 install”安装IPv6协议栈,然后通过命令“ipconfig /all”查看,可以发现在本地连接下面,除IPv4地址外,又增加了一个IP地址“fe80::20c:76ff:fe67:5832%5”,表示该网卡在操作系统中的接口索引是5,于是通过以下命令.为PC主机和网关分别指定在本地链接IPv6地址,即“ipv6 adu 5/ 3ffe::1”等,然后在网关的CGI控制程序中分别为各个家电控制器依次分配地址。

最后要注意的是目前IE浏览器尚不支持IPv6访问,需要通过Firefox浏览器进行访问。

图3家庭网络登录界面

6 小结

本文设计了一个基于IPv6的嵌入式WEB平台,并从虚拟化管理方面针对家庭网络的情况进行了优化,具有一定的实用价值。该系统还存在一些值得改进和进一步努力的地方,如属于网关的显示模块的引入、和控制总线的融合等,这些技术的实现会进一步推进IPv6在家庭网络中的应用。

本文作者创新点:设计了基于IPv6和Linux-2.6.8内核的家庭网络嵌入式WEB平台,并从虚拟化管理等方面简化了管理和使用。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5082

    文章

    19118

    浏览量

    305087
  • Linux
    +关注

    关注

    87

    文章

    11303

    浏览量

    209439
  • 微处理器
    +关注

    关注

    11

    文章

    2262

    浏览量

    82441
收藏 人收藏

    评论

    相关推荐

    基于嵌入式LinuxS3C2410平台的视频采集

    基于嵌入式LinuxS3C2410平台的视频采集首先简介基于嵌入Linux系统的S3C2410平台
    发表于 03-28 12:51

    S3C2410处理器

    S3C2410处理器通过GPD端口连接LED1-4四个灯,试着画出其电路连接图,并变成实现其逐一点亮功能。
    发表于 11-23 21:50

    s3c2410中文手册第3章下载

    s3c2410中文手册第3章ARM微处理器的指令系统介绍。
    发表于 08-04 12:36 8次下载

    基于S3C2410Linux移植代码

    基于S3C2410Linux移植代码
    发表于 03-28 09:50 32次下载

    基于嵌入式LinuxS3C2410平台的视频采集

    首先简介基于嵌入式Linux 系统的S3C2410 平台和在平台上进行开发所需的软件环境,接着详细论述在该平台上如何
    发表于 04-15 09:22 20次下载

    基于S3C2410的井下WiFi便携终端的设计

    设计了基于WiFi技术的煤矿井下信息设备终端,利用WiFi无线局域网技术和VoIP语音处理技术,通过采用嵌入式微处理器S3C2410Linux操作系统作为软件
    发表于 08-04 08:36 40次下载

    Linux实时操作系统在s3c2410的移植

             本文描述了linux实时操作系统移植到arm处理器的方法和嵌入式linux实时操作系统的结构特征,论述了利用交叉编译环境,进行基于
    发表于 09-11 08:27 34次下载

    基于S3C2410的RTC模块应用设计

    基于S3C2410的RTC模块应用设计 摘 要:本文简要介绍了S3C2410嵌入式微处理器,分析了RTC(Real-time clock)硬件构架及其工作
    发表于 04-08 23:13 1607次阅读
    基于<b class='flag-5'>S3C2410</b>的RTC模块应用设计

    基于ARM芯片S3C2410的TFT-LCD驱动方法

    基于ARM芯片S3C2410的TFT-LCD驱动方法 S3C2410是三星公司生产的基于ARM920T内核的RISC微处理器,主频率可达203MHz,适用于信息家电、Smart Ph
    发表于 10-17 08:54 1750次阅读
    基于ARM芯片<b class='flag-5'>S3C2410</b>的TFT-LCD驱动方法

    ARM9微处理器S3C2410的IP电话通信设计

    ARM9微处理器S3C2410的IP电话通信设计 0  概述IP电话以其通话费率低、方便集成和智能化等优势而得到了众多消费者的极大认可,并因此而对
    发表于 03-31 10:17 1367次阅读
    ARM9<b class='flag-5'>微处理器</b><b class='flag-5'>S3C2410</b>的IP电话通信设计

    基于S3C2410Linux的智能家居系统的设计

    提出一种基于S3C2410Linux的智能家居系统的设计,该系统通过ARM9微处理器和各种传感模块实现温湿度的采集显示和控制、入侵防盗检
    发表于 09-03 17:26 138次下载

    基于S3C2410和Windows CEnet的智能移动终端设计

    本文介绍 S3C2410 微处理器的性能以及 Windows CE. net 作为嵌入式操作系统的开发流程 。阐述基于 S3C2410芯片和 Windows CE. net 操作平台
    发表于 04-18 10:46 0次下载

    基于微处理器S3C2410Linux系统构建

    ,windows-CE,PalmOS,Linux等。在众多的嵌入式操作系统中,Linux以其开源代 码及免费使用倍受开发人员的喜爱。本文选用的微处理器S3C2410是基于32位ARM9
    发表于 10-18 16:07 3次下载

    基于Linux操作系统和S3C2410微处理器实现GPS实时导航系统的设计

    这里提出一种实用的设计方案,通过对系统的各方面配置,实现GPS实时导航功能。系统主控器件采用韩国Samsung公司生产的ARM核32位RISC微处理器S3C2410,并在由其组成的开发板上移植
    发表于 03-09 10:47 1082次阅读
    基于<b class='flag-5'>Linux</b>操作系统和<b class='flag-5'>S3C2410</b><b class='flag-5'>微处理器</b><b class='flag-5'>实现</b>GPS实时导航系统的设计

    基于S3C2410微处理器Linux实现嵌入式网关的设计

    介绍了一种基于ARM9的嵌入式以太网的设计方案。基于ARM内核微处理器S3C2410的功能特点及其外扩组成部分,分析了以太网控制芯片RTL8019AS的性能以及与
    的头像 发表于 06-22 14:28 2632次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>微处理器</b>和<b class='flag-5'>Linux</b><b class='flag-5'>实现</b>嵌入式网关的设计