一种传感器网络数据采集系统设计与实现

时间:2023-06-26

  引言

随着嵌入式系统与通信技术的不断发展,各种嵌入式设备正在以不同形式改变着人们的日常生活,ARM(Advanced RISC Machines)是微处理器行业的一家企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。ARM(Asynchronous Resbonse Mode)异步响应方式异步响应方式ARM(Asynchronous Responses Mode)也是一种非平衡数据链路操作方式,与NRM不同的是,ARM下的传输过程由从站启动。从站主动发送给主站的一个或一组帧中可包含有信息,也可以是仅以控制为目的而发的帧

本设计在基于嵌入式Linux系统平台上。实现一个基于ARM、Linux平台的传感器网络系统,完成数据的采集、处理、通讯、存储、查询和图形显示功能。Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中着名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。

  1 系统总体组成

本设计采用将数据采集节点作为客户端,将采集得来数据通过TCP/IP协议传输到网关节点,由网关服务器存储数据,并转发。


  1.1 节点的硬件组成

考虑到各采集节点的完全独立性,前端设备采用嵌入式设计方法,其硬件组成结构。


传感器节点作为客户端负责对数据采集,并通过模数转化将数据传输给网关节点。网关节点接受到数据后存入数据库。通过CGI响应PC机上的查询、控制。

  1.2 数据的预处理

节点数据的预处理,主要是检测采集的数据,对其进行合法过滤。按照既定协议,为数据分配数据头、间隔符、校验码,重新封装成数据流,采用TCP/IP协议,通过网络发送到主机。

  1.3 数据的存储及传输

存储器系统负责系统的静态存储与动态存储。其中flash用于静态存储,SDRAM用于动态存储。flash又分为norflash和nandflash。no-rflash支持直接启动用于存储程序代码,nandflash用于存储数据信息。SDRAM存储器速度快,主要作为程序的运行空间。SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。

  2 系统的软件设计

系统的软件构成分为引导驱动程序、操作系统、文件系统和应用程序4部分,引导驱动程序在系统启动时进行内存重映射,将保存在Flash中的操作系统和应用程序重新映射到SDRAM中,为方便起见也可以配置好启动脚本。


  3 节点配置

  3.1 采集节点配置

(1)配置S3C2410开发板的NFS Root启动方式。先把rootfs/目录下的srv目录删除,再把采集端发布包中的srv与node两个目录都拷贝到rootfs目录下。

(2)以NFS方式启动S3C2410开发板,配置YAFFS文件系统。

(3)在配置YAFFS文件系统的过程中,在mount-t yaffs/dev/mtdblock3/mnt这一步之后,增加以下步骤:

cd/mnt

rm-r srv

cp-r/srv/node/mnt

然后继续继续完成剩下的yaffs文件系统的配置步骤,注意一定要

mount/mnt

(4)配置采集端启动脚本

vi/etc/init.d/rcS

  在里面httpd-h/srv/www一句之前增加以下内容:

Ifconfig eth0 up

Ifconfig eth0 192.168.0.25(注意:这里192.168.0.25是采集端开发板IP,各采集端IP不同,而且需要都在同一个网段上,我们统一选择网段192.168.0.*)。

Ifconfig lo up

mknod/dev/adc_char c 240 0

cd/node

Insmod ado.ko

(5)重启S3C2410采集端开发板,进入vivi,配置paraset linux_cmd_line启动参数为从YAFFS启动。para save之后键入boot,启动开发板,把开发板接入网络中,从PC机上运行浏览器,在地址栏上输入http://192.168.0.25/,(注意,这里192.168.0.25是采集端IP地址,应根据实际IP地址输入),打开设置网关IP地址的网页,设置网关IP地址为192.168.0.100。

  在采集端串口终端下执行如下内容:

#cd/node

#./app

 3.2 网关节点配置

(1)配置S3C2A10开发板的NFS Root启动方式。先把rootfs/目录下的srv目录删除,再把采集端发布包中的www文件夹与app可执行文件拷贝到rootfs/srv/目录下和rootfs/srv/www 下。

(2)以NFS方式启动S3C2410开发板,配置YAFFS文件系统。

(3)在配置YAFFS文件系统的过程中,在mount-t ysffs/dev/mtdblock3/mnt这一步之后,增加以下步骤:

cd/mnt

rm-r srv

cp-r/srv/mnt

然后继续继续完成剩下的yaffs文件系统的配置步骤,注意一定要

umount/mnt

(4)配置采集端启动脚本

vi/etc/init.d/rcS

在里面httpd-h/srv/www一句之前增加以下内容:

Ifconfig eth0 up

Ifconfig eth0 192.168.0.100

Ifconfig lo up

(5)重启S3C2410采集端开发板,进入vivi,配置paraset linux_cmd_line启动参数为从YAFFS启动。para save之后键入boot,启动开发板,到/srv/www下执行app,把开发板接入网络中,从PC机上运行浏览器,在地址栏上输入http://192.168.0.100/,输入IP地址就可以找刭相应节点所采集到的数值。

  4 总结

嵌入式Linux因其源码开放、内核稳定高效及支持多种体系结构等优点在嵌入式系统中应用广泛,本文在陆眦操作系统上,通过交叉编译环境编译后生成可执行代码,可以成功移植到目标平台上,经测试发现,本系统稳定,易维护。

上一篇:虹膜识别终端系统限制因素分析及研究
下一篇:利用FPGA夹层卡实现I/O设计灵活性

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料