基于嵌入式Linux的远程监控系统的设计

发布者:和谐共处最新更新时间:2013-11-30 来源: dzsc关键字:Linux  远程监控系统  微处理器 手机看文章 扫描二维码
随时随地手机看文章
  1 引 言

  单片机和微控制器在工业现场控制领域已得到广泛的应用,但这些控制系统通常采用RS232或RS485组网,作用距离短。如今,Internet飞速发展,已成为信息交流的重要渠道。而且,基于Web的B/S远程监控模式技术也越来越成熟。如果将这种模式应用于工业现场控制领域,则用户只要在有Internet接入的地方,就可以对工业现场设备进行远程监控。将其应用于家庭,则可以朝家电信息化迈出关键的一步。

  上述系统的实现离不开嵌入式操作系统。后PC时代,随着嵌入式系统的广泛应用,嵌入式操作系统也越来越受到重视。嵌入式操作系统具有结构小巧、实时性强、稳定性高等特点。目前,商用嵌入式操作系统比较多,如Vxworks,QNX,Nucleaus,WinCE等,但价格都很昂贵,并不适合广泛应用。

  嵌入式Linux为这个问题提供了良好的解决方案,其开放的源代码、强大的技术支持、良好的可扩展性及对众多硬件的支持都是它嵌入化的优势。所以我们选择嵌入式linux为操作平台,结合成熟的Web技术来进行远程监控系统的设计。

  2 系统结构

  该远程控制系统利用Internet/Intranet网络资源,只需一台联网的PC客户机,就可实现对远程设备状态的监视和控制。这里,我们提出系统结构的两种设计方案,如图1、2所示。


  两种方案都利用了Internet/Intranet网络资源。不同的是,在方案一中,使用了一台PC机作为代理服务器接入Internet网络,这样便可利用代理服务器提供强大的数据库功能。该方案适用于测量设备较多,相对集中的场合。嵌入式设备可通过以太网线直接与服务器相连,这样,嵌入式设备实际上只需要实现一个以太网到RS232的转换。但是,在某些嵌入式的应用环境中,并不适合单独使用一台PC机作服务器,因此,我们提出方案二,嵌入式设备作为Web Server直接接入Internet/Intranet。嵌入式设备运行一个操作系统并在此基础之上实现WebServer的功能,这对系统硬件要求比较高,再加上小型嵌入式数据库技术的不成熟,使得它在数据管理方面稍有欠缺。尽管如此,我们仍采用方案二,因为我们认为它代表着嵌入式系统的发展方向,其应用范围更为广泛,并且,随着软硬件水平的不断提高,上述的缺点都是可以克服的。

  我们的方案中,硬件上采用32位Motorola微处理器,2M Flash,16M SDRAM,及必要的外围设备即可满足系统的要求。

  3 系统软件设计

  3.1 Linux的选择

  由于Linux过于庞大,要将它应用于小巧的嵌入式系统,首先必须将其小型化。目前,出现了各种不同的嵌入式Linux版本,有一些还具有一定的实时性。我们首先依据自己所选择的CPU类型,以公开的嵌入式Linux源代码为基础,根据自己设计的主板情况编写相应的bootloader程序或BIOS,运行自己的系统。一旦加载上了嵌入式Linux,则对于上层应用软件的编程与在运行普通Linux的PC机上一样,所有的程序都可以先在Linux的PC机上调试通过,然后只需要修改MakeFile文件,就可以完全移植到嵌入式Linux设备上运行。如果编译嵌入式Linux时选择网络文件系统(NFS),则调试的时候可利用gdbserver,省去了无数次下载程序的麻烦。这种方法有很大的灵活性与自由度,但也要注意到,由于硬件的配置不同,或程序本身原因,网上下载的源代码未必都合适,这需要自己对照源码去调试与发现。[page]


  3.2 应用程序设计

  3.2.1 C/S(Client/Server)模式与B/S(Browser/Server)模式传统的C/S模式采用两层设计,客户应用层负责提供交互界面,实现应用逻辑以发送数据、请求并处理返回数据;数据库服务器层负责处理客户数据请求并返回结果,有效管理系统资源。该模式需独立开发和安装每个应用,系统升级维护困难,客户机负担重。此外,与数据库的直接交互导致应用程序对数据结构有很强的依赖性,且浪费数据库连接资源。

  基于二层结构的C/S模式无法适应Internet网络的特性,因此出现了一种新的体系结构——B/S模式。B/S是一种基于Hyperlink,HTML,Java的三级或多级C/S,客户端仅需要单一的浏览器软件,其它大量工作都由Web Sever完成。B/S模式使用简单、易于维护、扩展性好,已逐渐成为主流。

  3.2.2 客户端工作过程

  该系统使用的是B/S模式,对客户端几乎没有特别要求。客户端只要基于普通Windows视窗系统,安装IE或Netscape即可。换句话说,任何一台上网的计算机,都可能成为客户端。

  客户端的工作过程如下:通过Internet/Intranet网络访问监控中心的主页,根据需要输入用户名和密码,检验成功则进入Web Server系统的监控界面,点击相应的设备按钮可以获得该设备的运行状态并可以对设备的参数进行设置。

  3.2.3 服务器端程序的设计

  (1)服务器模式

  为了进行服务器端程序的设计,首先要确定服务器的工作模型。我们知道,Linux系统网络服务器主要分为两种:循环服务器(Iterative Server)和并发服务器(ConcurrentServer)。循环服务器在同一时刻只能处理一个客户机请求,而并发服务器在同一时刻可以处理多个客户机请求。TCP套接字大多采用并发服务器提供服务。TCP并发服务器有多种实现方法:

  ·服务器对每个接收到的客户连接都创建一个新的子进程来处理客户请求;

  ·服务器预先创建多个子进程,由这些子进程处理客户机的请求。这种方式称为“预创建(prefork)”服务器;

  ·服务器用函数select实现对多个客户机连接的多路复用;

  ·由超级服务器(Inetd)激活的服务器。

  其中,一个子进程对应一个客户机的服务器模型很简单,父进程完成接收连接和创建子进程的任务,子进程处理客户机的具体请求,每个子进程的处理过程完全独立。

  这种服务器可以同时处理的客户机数目受到系统所允许的最大子进程数目的限制。这种服务器的缺点是,为每一个客户创建一个子进程的开销比较大。但如果我们能考虑到实际情况,并加以适当的变化,就会发现,它很适合我们的系统。首先,该系统是一个监控系统,决定了不会有过多客户同时发出监控命令,所以无须担心出现系统资源被耗尽的情况;其次,客户一旦进行监控,一般会持续较长时间,这种创建子进程的开销对服务器效率影响不大;最后,如果系统在Internet上运行,可能会有许多外来的好奇者想进入,为了减少开销,在系统设计中,并不是一旦建立连接就创建子进程,而是当口令通过后并向系统发出ASP请求才建立子进程。

  (2)程序设计

  根据我们的方案,服务器所需做的工作是:通过串口对设备进行数据的收发;对数据进行处理;将处理的数据交给Web Server子进程;子进程将数据显示到Web页下传给客户,并接收客户的参数设置命令,将参数设置上传到远程设备。

  服务器程序结构如图4所示,父进程首先创建一个子进程专门处理数据,然后再根据用户的请求创建相对应的子进程。用户子进程与串口数据处理子进程之间采用进程间通信来实现数据交换。


  服务器启动之后的第一件事,就是创建专用子进程来收发数据。服务器任何时刻都在*用户请求。若用户发出监控请求,而且通过了密码校验,服务器就会产生一个子进程来处理该用户的请求:发送数据,接收设置等。

  4 结束语

  身处信息社会,人们已经能够利用网络资源快捷方便地获得信息,并能利用网络资源进行各种设备的远程监控。本文提出的基于嵌入式Linux的远程监控系统的方案已在小型局域网中得到实现。该系统在工业现场、远程诊断、信息家电中有着很好的应用前景

参考文献:

[1]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.
[2]. RS485 datasheet http://www.dzsc.com/datasheet/RS485_585289.html.

关键字:Linux  远程监控系统  微处理器 引用地址:基于嵌入式Linux的远程监控系统的设计

上一篇:基于MATLAB的实时数据采集与分析研究
下一篇:基于GPRS网络的远程数据采集系统及应用

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

微处理器排名 ARM-based成长速度超前
    受到笔电和PC需求放缓,以及智慧手机和平板电脑需求强劲的市场趋势影响,IC Insights最新公布的微处理器(MPU)排名显示2012年微处理器供应商都经历了不小的转折。采用ARM核心的行动处理器供应商高通(Qualcomm)排名从2011年的第三晋升到第二,基于x86架构的超微(AMD)则降至第四,2012年较2011年衰退21%。 附图 : 前十大处理器供应商中,八家皆为ARM-based BigPic:600x298 前十大处理器供应商中只有英特尔(Intel)和AMD供应x86处理器,英特尔虽然在2012年仍维持排名第一,但年度成长仍微幅衰退1%。其他八家供应商全都销售采用ARM核心的处理器。高通凭藉着ARM-
[手机便携]
谷歌第三款移动操作系统Fuchsia放弃Linux内核
腾讯科技讯 据外媒报道,谷歌(微博)从来都没有想过凭借一款产品征战市场,它显然不满足于Android和Chrome OS,它正在努力开发一款名为“Fuchsia”的开源、实时OS。 这款操作系统曾在去年8月让世人惊鸿一瞥,但是当时它还只是一个命令行,现在这个神秘项目的用户界面(UI)终于浮出水面。 与Android和Chrome OS不同,Fuchsia并不是建立在Linux之上,它采用的是谷歌自主研发的微内核“Magenta”。在Fuchsia项目上,谷歌不仅放弃了Linux内核,而且还丢掉了GPL。这款操作系统是按照BSD 3条款、MIT和Apache 2.0进行授权的。放弃Linux内核或许有些令人意外,但是Andr
[手机便携]
基于S3C2410的嵌入式Linux系统构建
目前,在嵌入式系统中基于ARM微核的嵌入式处理器已经成为市场主流。随着ARM技术的广泛应用,建立面向ARM构架的嵌入式操作系统成为当前研究的热点问题。   已经涌现出许多嵌入式操作系统,如VxWork,windows-CE,PalmOS,Linux等。在众多的嵌入式操作系统中,Linux以其开源代码及免费使用倍受开发人员的喜爱。本文选用的微处理器S3C2410是基于32位ARM920T内核的微处理器,基于此处理器构造一Linux嵌入式操作系统,将其移植到基于32位的ARM920T内核的系统中,在此基础上进行应用程序开发。 l开发环境介绍 1.1 基于S3C2410 ARM920T的硬件平台 该系统
[单片机]
linux LCD驱动代码分析
1、对LCD驱动添加设备信息 对lcd驱动程序,跟之前分析的方式一样,还是先看设备信息,其定义在Mach-smdk2440.c(archarmmach-s3c24xx)文件中,在该文件中使用了填充了s3c2410fb_display结构体, struct s3c2410fb_display {undefined /*LCD type */ unsignedtype; /********************************************************************************* 设置LCD的类型,比如TFT,STN等LCD的类型。 各种类型
[单片机]
由Rabbit2000微处理器构成的网络消防报警系统
摘要:介绍以Rabbit2000微处理器为核心新型网络消防警控制系统的基本工作原理以及系统的软硬件设计。该控制系统是采用模块化和智能式分布技术而设计的,由于采用具有先进通信能力微处理器控制,系统具有编程快捷、组网能力强、通信传输可靠、实时性高的特点,极有应用价值。 关键词:消防报警 Rabbit2000微处理器 局域网 当前,为了适应高层建筑智能型消防系统的需要,自动消防报警系统正走向监控网络化。监控网络通过公用业务电话网,对城市火灾自动报警系统进行远程数据采集和处理的管理,具有高可靠性、分散控制、集中监视和管理的功能。而这一系统运行的核心基础是网络消防报控制系统。通过此系统可对某一区域的消防报警消息进行采集并及时将报警信息通
[单片机]
Linux2.4与Linux2.6内核调度器的比较研究
Linux的内核开发是一个漫长的过程,自2001年11月开发出2.5.0以来,Linux内核的发展十分迅速,作了很多重大的改进,性能也有了很大的提高。内核调度器的改进是最主要的进步之一,本文对比研究了Linux2.4和Linux2.6的调度器,全面剖析了Linux2.6对调度器的改进。 一个成功的调度器的基本要求可以概括为以下三点: (1)减少花在调度上的时间,以增加花在执行程序上的时间; (2)在多处理器系统上,保持处理器的负载平衡; (3)对交互式应用有良好的响应速度。 但是,一个成功的调度器是很难设计好的,因为一个真正投入运行的系统受到很多因素的制约。相对于Linux2.6,Linux2.4的调度器有很多的不足之处,
[嵌入式]
构筑强大软件生态,Arm赋能基础设施革新
“Software is eating the world” ,软件正在改变世界,而为了适应多微处理器的新环境,软件自身也需要变革。 从数据中心到汽车及工厂,万物都在被重新设计为软件定义的模式。同时,硬件的 “专用处理” 趋势——即以独特的创造性方式将 CPU、GPU、DPU 和其他组件组合在一起,并通过调整缓存大小、速度、I/O和其他属性对其进行艺术与科学的优化,已成为继摩尔定律后的又一创新推动因素。专用处理是以应用场景为依据,根据不同场景提供最适切的计算处理能力,这将改变软件开发者的常规工作方式,而Arm 的主要任务之一便是尽可能平稳地实现这一过渡,以充分利用此类关键平台的优势。 顺畅的软件开发体验 建立强大的软件
[嵌入式]
构筑强大软件生态,Arm赋能基础设施革新
arm学习笔记005之Linux平台下TFTP服务器构建
TFTP(Trivial File Transfer Protocol,简单的文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为 69。 TFTP 这种简单的基于 UDP 的文件传输协议,通常只能用于小文件的传输,并且它不具备通常的 FTP 的许多功能,因此它只能从文件服务器上获得或写入文件,不能列出目录,也不能进行认证。在嵌入式开发中,TFTP 服务用于通过网线从 PC 服务端的 TFTP 目录下下载镜像文件到开发板中。 基于 Red Hat Enterprise Linux 5 的 TFTP 服务器构建: 1.查看 TFTP 服务是
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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