首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 基于ARM9的实时温度监控系统设计(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于ARM9的实时温度监控系统设计(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-6-28 14:51
|
只看该作者
基于ARM9的实时温度监控系统设计(2)
监控系统
,
硬件
2 系统硬件设计
2.1 测温显示部分设计
测温显示部分的硬件电路如图2所示。本系统的温度传感器采用DALLAS公司的DS18B20该传感器具有测温范围广(-55~125℃)、精度高(分辨率为0.062 5℃)的特点,而且使用简单,无需其他电路,可直接输出温度值。由于本系统内嵌Linux2.6内核,因此在使用硬件时必须编写驱动程序,应注要遵循严格的工作时序和通信协议。测温时,首先对18B20进行初始化,然后调用驱动程序,再通过其内部的AD转换器将模拟量转换成16位的数字量,最后通过DO引脚将温度值送给2410的GPIO引脚。
显示部分采用移位寄存器74LS164和数码管组成。将传感器采集到的温度转换成十进制数输出,通过移位寄存器将温度值送给数码管显示。
2.2 以太网通信设计
DM9000是一款高性能和低功耗的自适应10/100M bpsCMOS芯片,完全兼容IEEE802.3u,支持10/100 M bit/s单工和双工模式的以太网传输,支持IEEE802.3x全双工流控制,具备载波多路访问和碰撞检测(CSMA/CD)机制,具备4k双字SRAM的接收缓冲区。支持与处理器之间的8 bit,16 bit,32 bit接口方式。
S3C2410通过扩展一片DM9000来实现以太网通信,其连接电路如图3所示。将S3C2410的数据线DATA0-DATA15连接DM9000的SD0-SD15,读写控制信号IOR和IOW对应连接连接S3C2410的nOE和nWE,CS片选信号由nGCS2给出。
3 系统软件设计
3.1 Boa服务器在Linux下的移植及配置
目前在Linux下的WEB服务器主要有boa和httpd等。httpd是一个简单的web Server,对认证以及CGI都不支持;而boa较httpd更为完善,尤其Boa源码开放且性能较高。本系统选择Boa作为Web服务器,但是Linux内核中不包含Boa的源代码,因此要想存本系统中实现Boa服务器,需要完成Boa源代码的下载、修改和交叉编译。之后再对boa.conf和mime.tyPes这两个文件进行配置才能实现,其修改和配置过程如下:
1)创建目录
即在root目录下通过mkdir创建服务器目录。
2)配置Web服务器的根目录路径(SERVER_ROOT)
可通过使用命令行boa-c/root/&,的方式来指定服务器根目录。或者还可以在boa/src/目录下,修改define.h头文件中的#define SERVERROOT“/root”语句来指定。
3)配置boa.conf文件。
4)最后将boa.conf文件和mime.types文件复制到web服务器的根目录
定义默认首页路径以及CGI程序库所在路径,即Directory Idexindex.html以及ScriptAlias/cgi-bin/root/www/cgi-bin/
配置完成后进行交叉编译,将编译后得到的可执行文件复制进Linux服务器的文件系统中,最后运行Boa服务器./Boa&。
3.2 CGI编程
CGI(Common Gateway Interfac)中文解释为通用网关接口,通过这种接口可以使Web服务器执行外部请求再将结果转回给应用程序,这种从用户处接受和返回的方法实现了客户端和Web服务器之间交互。CGI程序的语法格式要求很严格,原因是CGI主要通过HTTP协议实现的客户端与服务端之间的通信,每次当用户从客户端向服务端发送请求消息时,该消息会处理用输入的CGI扩展程序的URL地址的真实值,当CGI扩展程序在处理结束之后才将HTTP响应消息返回给客户端。因此,CGI程序的输出数据得语法格式必须和相应消息的语法格式一致,才能保证正确处理。
CGI程序的调用方法有2种:1)直接输入地址方式。用户在浏览器地址中直接输入正确的URL地址,经Web服务器解析完URL后调用正确的CGI程序。2)在CGI程序中使用FROM表单样式实现调用。CGI程序使用HTTP协议完成的,在HTTP表单元素中ACTION属性值用来指定URL地址,MET HOD属性值用来指定请求方式为GET或POST。
CGI程序可以用任何程序设计语言编写,而且C语言的平台无关性很好,因此本系统选择择用C来编写CGI程序。另外,本系统将温度数据保存到文件wendu.txt中,CGI是通过读取文件来获取数据。
3.3 客户端AJAX控件开发
AJAXl~f即“Asynchronous Java Script and XML”(异步Java Script和XML),AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术AJAX的核心理念在于使用XMLHttpRequest对象发送异步请求。
在传统的JavaScript编程中,如果要从服务器上的文件或数据库中得到任何的信息,或者向服务器发送信息的话,就必须利用一个HTML表单向服务器GET或POST数据,同时用户还需要单击“提交”按钮来发送/获取信息,等待服务器的响应,然后一张新的页面会加载结果,这样就使得传统的web应用程序变得运行缓慢,且越来越不友好。而通过AJAX,可以用XMLHttpRequest对象来直接与服务器进行通信,即可以在不重载页面的情况与Web服务器交换数据。客户端可以停留在同一个页面,用户不会注意到脚本在后台请求过页面,或向服务器发送过数据。本系统需要用户在客户端看到采集温度的实时动态变化折线图,因此选择AJAX技术开发空间。
首先打开连接,读取wendu.txt中的字符串,用split函数截取温度数据存入字符数组中。
其代码如下:
然后编写绘制温度时间折线图函数,将保存温度的字符数组作为参数传入函数中来绘制图像。页面每秒刷新一次,即可实现实时绘制图像。运行结果如图4所示。
1)在页面引入画图需要的Javascript文件。
2)在HTML页面onload方法中调用function(x,y),x是时间数组,y是温度数组。
4 结论
经测试,本地客户可通过一台上网的计算机,即可以灵活方便实现对远程温湿度的采集与监控,还可以配置GSM模块实现无线监控。此系统工作稳定,扩展性强,配置灵活,功能丰富,具有良好的移植性、通用性并在测量与控制领域有广阔的应用前景。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议