当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:随着无线传感网络的迅猛发展,将嵌入式系统接入互联网已成为无线传感网络研究中的热点,其中通过访问 嵌入式服务器网页实现采集数据的动态显示是一个技术难点。文中采用DS18B20温度传感器采集温度,在嵌入式网关搭建 ARM-Linux开发平台;然后移植BOA服务器;同时利用CGI程序、Ajax技术及HTML语言,在上位机通过访问嵌入式网关, 从而实现了对传感器节点采集的温度数据在网页中的动态显示。实际应用表明,该系统消耗CPU资源少,可减轻服务器负担,而 且无需刷新页面更新数据,因而可减少用户实际等待的时间。

引言

当今,以互联网为标志的嵌入式系统正处于一个飞速发 展的阶段。嵌入式系统接入Internet后,相当于一个功能齐全 的小型Web服务器,用户在上位机打开浏览器,通过Internet 即可获取该Web服务器上的数据信息,从而实现了对现场信 息的远程监控,而且这种基于HTML语言标准化的Web用户 界面降低了系统开发、维护以及人员培训的费用。

对于无线传感网络来说,可将嵌入式网关作为Web服务 器,用户在上位机通过Internet访问网页的方式获取下位机传 感器节点采集的数据。基于此,本系统采用DS18B20温度传 感器和ZigBee无线通信模块构成无线传感网络,以ARM9 作为核心处理器搭建嵌入式Web服务器Boa和嵌入式数据库 SQLite,采用C语言、HTML语言、JavaScript程序、CGI程序、 Ajax技术,实现了对远端传感器节点采集信息的处理、存储 及在网页上的动态显示。

1系统硬件整体设计

本系统的硬件主要由3部分组成:上位机PC端、嵌入 式网关(ARM9)和ZigBee无线网络,系统的整体设计框图 如图1所示。

ZigBee无线网络由传感器节点和协调器构成,传感器节 点将采集的信息经协调器发送至网关,同时协调器也可接收网 关发送的指令进而控制节点的打开与关闭。嵌入式网关介于上位机和传感器节点之间,它既要支持TCP/IP协议,允许用户 通过Internet访问,又要实现无线网络和Internet之间的地址 映射、协议转换和路由功能,类似于Internet网关叫 由于嵌 入式网关CPU串口引脚不是标准RS232电平,在ZigBee与网 关之间需加入电平转换电路[4]。PC端即上位机客户端,用户 在上位机通过浏览器输入嵌入式网关的IP地址可进入系统登 录界面,登录后用户经管理系统获取传感器节点采集的数据, 以访问网页的方式实时显示数据信息,并可输入指令实现对下 位机传感器节点的控制。本文重点介绍嵌入式网关Web服务 器的设计,实现温度数据在上位机的动态显示。

基于ARM9的嵌入式Web服务器数据动态显示的实现

2嵌入式Web服务器的搭建

硬件电路采用ARM9微处理器及外围电路,开发环境: MINI2440, Linux_2.6.32.2 内核,虚拟机 Redhat5,交叉编译 版本ARM-Linux-gcc-4.3.2。主要工作包括Linux内核移植、 根文件系统制作、交叉编译工具安装、Web服务器源码分析等。 2.1交叉编译工具安装

交叉编译即在一个平台上编译生成可在另一平台运行的 代码。本设计包括安装Linux系统的宿主机和基于ARM MINI2440的目标板,由于二者处理器体系结构不同,因此需 借助交叉编译工具在宿主机编译生成目标板上可运行的机器 代码。本系统使用交叉编译工具版本为ARM-Linux-gcc-4.3.2,将其拷贝到宿主机系统,把编译器路径加入环境变量保存, 重启系统后在终端输入arm-linux-gcc -v出现交叉编译工具版 本信息,表示交叉编译器安装成功。

2.2 BOA源码分析及安装

Web服务器采用BOA文件生成,它能按照顺序完成用户 请求,支持认证、CGI程序,其可执行代码约60 KB。BOA 服务器的编译与移植如下:进入boa-0.94-13文件夹的src 目录,运行configure配置安装文件,根据Makefiles生成 Makefile文件进行修改,再执行make,生成可执行程序boa 后修改/etc/boa.conf,对boa进行配置编译,与虚拟机etc目 录下mine.types 一起拷贝到目标板var目录,执行./boa,Web 服务器在目标板上即可运行。

3数据动态显示的实现

通过上位机实时显示传感器节点发送给网关的数据是一 个难点,一般采用手动或自动刷新来实现数据更新,但都无法 实现数据的实时动态显示。本设计以采集温度数据为例,在 网页中嵌入JavaScript,采用Ajax技术实现温度信息的动态实 时显示,节约了 CPU资源。

3.1软件流程

在嵌入式网关中,通过串口采集温度信号,每个温度数 据前面带有设备号字符,将不同传感器节点采集的温度信息分 别存储在txt文档中,上位机通过Internet访问嵌入式网关读 取txt文档信息,并在网页上动态显示。采用txt文档存储数据, 一方面有利于在现场直接从网关SD卡中读取信息;另一方面 有利于上位机编程读取数据。其温度动态显示软件流程图如 图2所示。

基于ARM9的嵌入式Web服务器数据动态显示的实现

3.2温度信息处理

协调器将传感器节点采集的温度值通过串口传送到嵌入 式网关,需定义传感器节点的设备号,以实现不同节点采集的 温度值在txt文档中存储,数据格式如表1所列。

把编写好的串口 C程序在宿主机编译后生成的temper文 件,并将temper、CGI程序和js程序拷贝到ARM板服务器 WWW目录下,执行temper,在服务器WWW目录下生成3 个txt文档,实现了温度数据的存储。

表1数据传送格

设备号
温度值(C)
电压值(V)
设备1
温度值1
电压值1
设备2
温度值2
电压值2
设备3
温度值3
电压值3

3.3数据的读取及显示

为了实现温度的动态显示,在温度显示网页(temper. html)中采用JavaScript (js)程序[8],通过加入定时器每隔一 段时间调用CGI程序以获取txt文档的温度值。由于采样数据 不断存储到txt文档,CGI程序采用倒序方法首先读取txt文 档最后一行获取最新数据,从而在网页上动态显示温度。

4结果分析

在IE浏览器中输入目标机的IP地址,登录系统进入到 温度显示页面(temper.html),如图3所示,点击获取按钮, 温度值将显示在页面上,设置温度数据5秒更新一次,当改 变温度传感器采集的温度时,网页显示数据也同时更新,温 度显示页面如图3所示,从图3可以看出,当采集温度数据发 生变化时,页面显示温度值也随之改变,实现了传感器节点采 样数据的动态显示。

基于ARM9的嵌入式Web服务器数据动态显示的实现

5结语

本文通过构建ARM-Linux嵌入式网关,利用BOA服务 器、运用JavaScript, CGI、Ajax技术及HTML语言实现了传 感器节点采集的温度在上位机网页的动态显示,与传统的手 动或自动刷新网页相比,该系统占用服务器CPU资源少,缩 短了用户等待时间,实现了下位机采集的现场数据在上位机实 时动态显示。

20211119_6197b878b28ee__基于ARM9的嵌入式Web服务器数据动态显示的实现

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

甲类电源是一种开关式电源,它通过快速开关来控制电压,使输出电压保持恒定。甲类电源的输出电流波形接近直流,能够提供高效率和高功率输出。

关键字: 甲类电源 线性电源 电源

现在的智能家居越来越受欢迎,市面上出现了各式各样的无线收发模块,功能也各不相同,当然了,大家不能盲目的去采购,这样可能会带来一些不必要的损失。

关键字: 无线收发模块 功耗 网络协议

直流电是指电流方向始终保持不变的电流。在实际应用中,我们经常需要调整直流电的电流大小,以满足不同的需求。本文将从多个方面详细阐述直流电如何调节电流。

关键字: 直流 电流 负载调节

在人工智能的快速发展中,加强AI监管与推动AI技术的进步同等重要。从技术角度来看,可以通过可解释AI等技术手段增强AI的可信度。

关键字: 人工智能 AI 增强AI

随着科技的快速发展,人脸识别技术已经广泛应用于各个领域,如手机解锁、支付验证、门禁系统等。然而,有时我们可能会遇到人脸识别一直失败的情况,这不仅影响了用户体验,还可能引发安全隐患。本文将深入探讨人脸识别失败的原因,并提供...

关键字: 人脸识别 人工智能

随着科技的快速发展,人工智能(AI)逐渐从科幻概念变为现实,其应用广泛渗透到各行各业,为人类社会带来了前所未有的便利与机遇。然而,正如任何新兴技术一样,人工智能的发展也面临着诸多困难与挑战。本文将深入剖析人工智能发展所面...

关键字: 人工智能 AI

在科技迅猛发展的今天,人工智能(AI)已经从一个前沿概念转变为全球范围内的热门话题,深刻影响着我们的日常生活、工作和思维方式。本文将对当前人工智能的现状进行深入分析,从技术发展、应用领域、市场竞争以及挑战与机遇等多个维度...

关键字: 人工智能 AI

在科技的浪潮中,人工智能(AI)已经从一个遥不可及的概念,逐渐转变为影响我们日常生活的现实力量。无论是语音识别、图像识别,还是自动驾驶、医疗诊断,人工智能都展现出了强大的潜力和无限的可能性。那么,未来的人工智能发展前景又...

关键字: 人工智能 AI

在智能家居日益普及的今天,无线开关作为实现家居自动化的重要工具,受到了越来越多消费者的青睐。然而,对于许多家庭来说,如何将现有的普通灯具接入无线开关,实现远程控制,仍然是一个值得探讨的问题。本文将详细阐述普通灯具接入无线...

关键字: 无线开关 智能家居

本文旨在为读者提供一篇详尽的AWVS 13使用教程,从安装配置到实战应用,全面解析这一强大的Web应用安全扫描工具。通过本文的学习,读者将能够掌握AWVS 13的基本操作,提高Web应用的安全性。

关键字: awvs13 Web应用
关闭
关闭