基于ARM的健康监测系统网关服务器的研究与设计

来源 :商品与质量·消费视点 | 被引量 : 0次 | 上传用户:anknn21
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章介绍了多种基于嵌入式linux操作系统的服务器模型。结合健康监测系统中使用的zigbee网络,详细讨论了各种服务器模型的优缺点。研究的主机对象是装有嵌入式linux系统的S3C2440,客户机采用的是自带zigbee模块的CC2450单片机。
  关键词:服务器模型;嵌入式;zigbee
  zigbee网络具有低功耗、抗干扰性强、成本低、网络容量大等优点,在现代健康监控系统中应用广泛。为尽可能降低成本,在实际中一般充分发挥它网络容量大的优点,这要求网关服务器要拥有很好的稳定性和实时处理基本数据的能力。针对这一要求我们对嵌入式linux下的各种服务器模型进行了详细的研究,在数据处理问题上我们使用嵌入式数据库sqlite进行实时的处理。
  一、嵌入式系统开发
  S3C2440处理器是基于ARM920T内核的32位RISC嵌入式芯片。该ARM内核的CPU主频最高可达533MHz,此处使用499MHz,它除了集成3个串口、SD卡控制器、USB Host控制器、LCD控制器、Nand Flash控制器以及实时时钟外,还增添了工业控制总线(CAN)、Camera控制器(数码摄像机接口)、PCMCIA接口(可接无线网卡或调制解调器及其他外设)。另外,用1个96针总线插槽引出CPU的局部总线,可外接其他总线设备并与多方通信。
  在众多嵌入式操作系统中,我们选则发展最快应用最广的嵌入式linux操作系统。它的内核因为实现了的TCP/IP协议,所以可以很方便的进行各种服务器模型的编程与实现。同时它具有内核开放、方便裁剪等优点,非常适合应用于嵌入式网关服务器。
  二、服务器模型的分析与设计
  由于对进行的传输的数据的准确率要求很高,所以选择TCP服务器。Linux服务器主要分为两大类:循环服务器和并发服务器。服务器程序在bind()、listen()之后直接进入循环,在循环内完成accept()、recv()、send()等操作。而并发服务器可以同时和多个客户端进行通信。由于健康监测系统的zigbee节点很多,并且节点发送数据时实时的。所以只能采用并发服务器模式与各个节点进行通信。并发服务器又分为多进程并发服务器、多线程并发服务器、IO复用服务器等3中类型。下面对这3中服务器进行分析。
  多进程并发服务器在linten()之后的核心代码如下:
  for(i=0;i  {
  pid[i]=fork();
  if(pid[i]==0)
  {
  handle(s);
  }
  }
  close(s);
  它的思想是创建子进程处理同时到来的客户端请求,即同时有多少个节点请求就创建多少个进程。
  多线程并发服务器在listen()之后的核心代码如下:
  for(;;)
  {
  sc=accept(s,(struct sockaddr*)&client_addr,&len);
  if(sc<0)
  {
  continue;
  }
  else
  {
  pthread_create(&thread1,NULL,handle,(void*)&sc);
  }
  }
  close(s);
  它的思想是创建线程处理同时到来的客户端请求,即同时有多少个节点请求就创建多少个线程。相比创建进程,创建线程拥有很多优点。系统创建进程需要完全的复制一份代码,分配另一份空间,而线程只有很少的私有资源,比如线程ID等。实践证明创建线程比创建进程快10到100倍。
  IO复用模型的核心思想是使用select函数进行描述符表的匹配,在linsten()之后的核心代码如下:
  if (!(select(MAX_SOCK_FD, &tmp_inset, NULL, NULL, NULL) > 0))
  {
  perror("select");
  close(sockfd);
  exit(1);
  }
  printf("after select\n");
  for (fd = 0; fd < MAX_SOCK_FD; fd++)
  {
  if (FD_ISSET(fd, &tmp_inset) > 0)
  {
  if (fd == sockfd)
  { /* 服务端接收客户端的连接请求 : 监听套接字*/
  if ((client_fd = accept(sockfd, (struct sockaddr *)&client_sockaddr, &sin_size))== -1)
  {
  perror("accept");
  exit(1);
  }
  FD_SET(client_fd, &inset);
  // online();
  printf("New connection from %d(socket)\n", client_fd);
  }
  else /* 处理从客户端发来的消息: 连接套接字 */
  {
  if ((count = recv(fd, buf, BUFFER_SIZE, 0)) > 0)
  {   printf("Received a message from %d: %s\n", fd, buf);
  // trans();
  }
  else // recv 返回0 代表连接套接字被客户端关闭
  {
  close(fd);
  FD_CLR(fd, &inset);
  // left();
  printf("Client %d(socket) has left\n", fd);
  } }
  close(sockfd);
  IO复用模型既没有创建进程,也没有创建线程,每来一个客户连接都有一个不同的连接套接字相对应,通过不同的连接套接字,可以应对不同客户端的同时请求。
  综上所述IO复用模型,最节省系统资源,并且满足设计需求。
  为了能对被监测者的的生理指标进行快速的处理,我们把接收的数据直接放入嵌入式数据库sqlite。 Sqlite是一款开源的微型数据库,非常适合于嵌入式系统,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。正是因为这样,我们可以直接调用API进行编程,直接通过sqlite3_exec()函数可以方便的进行数据处理。并且整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。
  最后我们通过sqlitebrowser可以方便的显示接收的信息。
  本嵌入式网关服务器使用IO复用和嵌入式数据库相结合,很好的完成了健康监控系统的zigbee网络数据的传输和处理,达到了目的。
  参考文献:
  [1]韦东山. 嵌入式linux开发完全手册[M]. 北京:人民邮电出版社,2008.
  [2]Robert Love. linux系统编程[M]. 南京:东南大学出版社,2009.
  [3]周立功. ARM微控制器基础与实践. 北京:北京航空航天大学出版社,2005.
  作者简介:
  刘俊龙(1988.12- ),男,湖北仙桃人,西藏大学12级计算机系研究生,计算机系统结构专业,研究方向:嵌入式。
其他文献
摘要:供电线路的距离保护指的是从线路发生故障点起到保护装置距离远近确定动作时间而采取的一种保护措施。本文主要论述了供电线路距离保护涉及的相关内容,分析了供电线路采用距离保护的现实意义和采用这种方式的优越性,从而得出了供电线路采用距离保护的的实际应用价值。  关键词:供电;线路;距离保护  进入新世纪以来,我国的经济水平和物质生活水平得到了极大的进步,当前我国的供电系统的供电线路呈现出复杂多变的特点
期刊
摘要:本文详细的对钻孔灌注桩的施工技术进行叙述,且简要地阐述了钢筋笼的制作与安装的施工技术和水下混凝土的浇筑等施工技术。  关键词:钻孔灌注桩;成孔施工;钢筋笼;水下混凝土  一、工程概况  工程实例中沿线所经过的地区地层大致有以下几种:人工填土层、第四系坡洪积含角砾粘土层、第四系上更新统冲洪积有机质粉质粘土、砾砂层、第四系残积砾质粉质粘土层,下伏基岩是燕山期粗粒花岗岩。桩基一般所采用的是钻孔灌注
期刊
摘要:本文是作者结合实践的工作经验总计的,主要的论述了10Kv配电架空线路设计。  关键词:配电架空线路;设计  一、引言  配电线路的设计是电力传输实施的前提和保障。设计质量的优劣直接关系到电力线路工程建设的经济效益、环境效益和社会效益。近年来,在配网工程建设和改造中,10kV配电线路大多数运用在农村地区,采用架空线或者是以架空线为主的混合结构形式,一般为放射性的供电方式。  二、10 kV 配
期刊
摘要:暖通空调设备安装的施工是一项复杂而且细致的工作,本文从其概念出发,简单的阐述了目前施工中的不足之处,并提出了几项行之有效的措施,为工程施工工作的顺利进行提供了有效的依据。  关键词:暖通空调;施工;问题;解决方案  一、暖通空调安装概述  当前,暖通空调是人们所使用空调中最常用的一种,暖通空调以其独特的优势而独占市场。其将采暖、通风和空气调节三大功能结合在一起,并以能创造一种比一般的空调更舒
期刊
摘要:本文首先介绍了工程中的装载机的日常保养工艺,然后针对装载机的液压系统进行了简单分析,并对装载机液压系统的常见故障作出分析,最后疹对液压系统的保养和故障庞端方法作出探讨。  关键词:装载机;保养;液压系统;故障分析  一、装载机的保养工艺分析  1.装载机在日常生活中的保养  在日常生活中使用装载机时,为了不让装载机出现故障,我们使用装载机的过程中要十分注意给装载机保养,平时保养常检查,常清理
期刊
摘要:本文主要是根据笔者自身工作实践经验,简要叙述了地质勘探过程中经常使用的勘探方法,同时根据地质勘探方法对深部找矿所遇问题进行探讨。  关键词:地质勘探;勘探方法;深部找矿;问题  引言:随着我国科技水平的不断地进步、更新、完善,对于地质找矿而言,因露头矿产以及地表的矿产资源已经彻底查收,让地质勘探工作难度不断增加,矿产资源查找将变得比较艰难,地质找矿工作逐渐向原知矿产周围区域的深部找矿转变;针
期刊
摘要: 近年来,得益于LED驱动电源独特的优越性,其应用范围越来越广,比传统的光源电器更加能够满足世界范围内“节能减排”的需求,因此,LED驱动电源的测试与认证成为制造商更加关注的问题。基于LED驱动电源的发展历史与研究现状,本文简要概述了LED驱动电源测试与认证中存在的技术问题,并具体介绍了我国现行的检测与认证要求,欧洲检测与认证流程以及相关的测试与认证分析方法,最后对检测认证技术的研究现状和发
期刊
摘要:本文首先对暖通空调施工中的相关常见问题作出了分析,并提出在施工中遇到的问题处理方法,最后从质量方面提出加强施工管理,确保暖通施工的工程质量。  关键词:暖通空调;施工问题;技术;质量  一、施工中的常见问题  (1)空调管线与设备的定位问题。暖通空调安装中,最为常见的技术性问题当属空调系统管线、设备的定位。在暖通安装工程中,如果按照管道性能与用途来对其分类,大致可分为以下几类:给水管道、排水
期刊
摘要:电梯在日常工作生活中发挥着积极而重要的作用,但是由于电梯的运转频率较高,耗能较多。在电能供需矛盾日益突出的今天,如何降低电梯能耗的已成为重要的研究课题。本文从永磁同步技术、 VVVF调速技术,节能材料的利用和电梯结构优化等方面出发,对其在电梯节能运用情况进行分析和探讨。  关键词:节能技术; 电梯; 永磁同步技术; 调速技术  相对于其他的设备来说,电梯的作用是非常重要的。首先,它能够帮助小
期刊
摘要:工程试验检测工作是公路工程施工技术管理中的一个重要组成部分,同时,也是公路工程施工质量控制和竣工验收评定中不可缺少的一个主要环节。为此,本文以公路工程材料试验检测为研究对象,针对在公路工程材料试验检测过程中所涉及到的相关问题展开深入研究与分析,希望能够为实践工作的开展提供一定的参考与帮助。  关键词:公路工程;试验检测;技术;范围;流程;方法;频率  工程试验检测,特别是工程材料试验检测是公
期刊