精品温室大棚智能监测系统嵌入式课程设计.docx

上传人:b****9 文档编号:23347380 上传时间:2023-05-16 格式:DOCX 页数:45 大小:3.27MB
下载 相关 举报
精品温室大棚智能监测系统嵌入式课程设计.docx_第1页
第1页 / 共45页
精品温室大棚智能监测系统嵌入式课程设计.docx_第2页
第2页 / 共45页
精品温室大棚智能监测系统嵌入式课程设计.docx_第3页
第3页 / 共45页
精品温室大棚智能监测系统嵌入式课程设计.docx_第4页
第4页 / 共45页
精品温室大棚智能监测系统嵌入式课程设计.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

精品温室大棚智能监测系统嵌入式课程设计.docx

《精品温室大棚智能监测系统嵌入式课程设计.docx》由会员分享,可在线阅读,更多相关《精品温室大棚智能监测系统嵌入式课程设计.docx(45页珍藏版)》请在冰豆网上搜索。

精品温室大棚智能监测系统嵌入式课程设计.docx

精品温室大棚智能监测系统嵌入式课程设计

《嵌入式系统应用与设计》

课程设计报告

题  目温室大棚智能监测系统

班级 2014级计算机科学与技术专升本班

姓名 段娇娇2

 郭小花2

 李珍20149

鲁曼20149

王宛宛2

指导教师 张鹏程肖燕

2015年1月9日

一、课程设计的性质和目的1

二、课程设计的内容及实施案例1

三、课程设计时间地点1

四、课程设计要求1

五、课程设计的实施流程1

六、课程设计的评价标准2

七、课程设计系统实现(学生完成)2

1系统概述3

1.1课题背景3

1.2课题简介3

1.3设计原理3

1。

4课题依据3

1。

5需求分析4

1。

5.1系统功能和结构4

1.5。

2系统主控制硬件平台5

2环境搭建6

2。

1Linux宿主机环境搭建6

2.1。

1VMware虚拟机安装6

2。

1.2Linux操作系统环境搭建要求6

2.1.3Fedora14中文界面显示操作6

2。

3寄生机环境开发板运行环境配置8

2.4开发工具软件安装与配置9

2。

4。

1建立交叉编译环境的原因9

2.4。

2建立交叉编译环境9

2。

4.3vmware—tools工具的安装9

2。

4.3编译内核Linux-2.6。

2110

3设备驱动设计10

3。

1DS18B20驱动设计10

3.1。

1DS18B20温度传感器简介10

3.1.2硬件原理10

3.1。

4温度传感器驱动设计11

3.2摄像头驱动移植15

3.2。

1中星微摄像头简介15

3.2.2配置编译内核16

3.3BOA服务器搭建18

3.3。

1BOA服务器简介18

3.3.2BOA的编译与移植18

4温度监测与视频监控用户界面设计22

4.1HTML网页22

4.1。

1HTML简单介绍22

4.2温度显示界面设计23

4。

3视频显示界面设计24

4.3.1用HTML显示温度界面24

4。

3。

2servfox功能简介25

4。

3.3移植servfox26

5GSM通信用户界面设计28

5.1GSM基本概念28

5。

2GSM与GPRS的区别28

5。

3GSM系统结构29

6程序发布与系统演示29

6.1烧写内核29

6。

2烧写文件系统30

7总结31

参考文献33

嵌入式系统应用与设计课程设计成绩表34

嵌入式系统应用与设计课程设计学习体会35

一、课程设计的性质和目的

《嵌入式系统应用与设计》课程设计是配合其理论课程而设立的设计性实践课程.其教学目的和任务是使学生在学习专业课程理论的基础上,学习和掌握嵌入式系统设计的基本方法与知识,培养学生综合运用所学的专业基础理论、基本技能和专业知识分析问题和解决工程设计问题的能力、培养学生调查研究、查阅技术文献、资料、手册,进行程序设计、电路图纸绘制及编写技术文件的基本能力.

二、课程设计的内容及实施案例

利用ARM11-S3C6410或ARMCortexA9-Exynos4412嵌入式开发平台,设计一款智能环境监测系统,要求具备电源、串口、网口、RS485、GPRS/GSM模块、液晶屏接口等资源,可以外连温度传感器和摄像头等模型,并可通过短信与手机交互,利用QT/HTML开发环境进行用户界面设计,最终构建简单的智能环境监测系统.

三、课程设计时间地点

《嵌入式系统应用与设计》课程设计时间:

2015年1月5号~2015年1月9日机房无课的时间.

参加对象:

计算机学院2012级计算机科学与技术1班、2班、3班,2014级计算机科学与技术专升本班。

课程设计地点:

老校区,综合楼10、11层。

四、课程设计要求

1。

分析课程设计题目的要求。

2。

写出详细设计说明。

3。

对系统硬件与软件方案进行详细设计。

4。

对软硬件系统进行联调,并进行脱机操作,最终实现作品发布。

(教师检查)

5。

设计完成后提交课程设计报告(纸质版和电子版)。

五、课程设计的实施流程

1。

嵌入式开发环境搭建

(1)Linux主机环境搭建

(2)安装交叉编译工具及网络、服务器等的配置

(3)编译内核及移植

2.系统硬件设备驱动设计

(1)DS18B20温度传感器驱动设计

(2)摄像头驱动移植

3.温度监测与视频监控用户界面设计

(1)温度监测用户界面设计

(2)视频监控用户界面设计

4。

GSM/GPRS通信用户界面设计

5。

综合实验

在软硬件联调测试后,发布设计作品。

学生完成后由指导教师及课程设计指导小组进行答辩评审。

六、课程设计的评价标准

指标

上课

出勤

课堂

纪律

课堂

互动

完成

任务

熟练

程度

项目

进度

团队

意识

项目

创新

分值

10

10

10

30

10

10

10

10

本次课程设计时间为一周,四个或五个学生一组,主要以项目的完成进度、团队合作意识、项目创新能力为考核点。

具体考核标准如下表所示。

七、课程设计系统实现(学生完成)

1系统概述

1.1课题背景

智能农业基于软件平台的温室大棚智能监测系统,结合当前新兴的物联网技术实现高效利用各类农业资源和改善环境这一可持续发展目标,不但可以最大限度提高农业实现生产力,而且是实现优质、高产、低耗和环保的可持续发展农业的有效途径.

本项目以温室大棚智能监测系统为研究对象,结合嵌入式技术,在硬件方面,介绍了实现环境监测设计得原理及硬件要求,在满足系统设计要求的前提下,选用价格低、功耗低的元器件,达到减低系统成本的目的;在软件方面,结合HTML网页设计以及BOA服务器相关配置等实现对环境温度的检测和实时监控.

1。

2课题简介

利用嵌入式技术与DS18B20数字温度传感器检测温度,设计并实现温度采集功能;在内核中添加摄像头驱动,并重新编译下载内核,实现图像采集和显示。

针对开发板使用的Linux系统移植servfox程序,实现视频的发送,可以在浏览器和开发板界面上显示视频图像并结合GSM/GPRS收发送短信对环境起到实时监控.

1。

3设计原理

利用ARM11-S3C6410核心板,设计一款智能环境监测器,要求具备电源、串口、网口、GPRS/GSM模块、液晶屏接口等资源,可以外连温度传感器和摄像头等模型,并可通过短信与手机交互,构成简单的智能环境监测系统.

1.4课题依据

设计温室大棚智能监测系统,是为了方便和适应现代化的信息管理模式.该系统采用数字化数据采集,模块化处理,便于系统维护以及数据收集。

本次课程设计以DS18B20温度传感器监测温度,中星微摄像头采集数据信息为核心,利用GPRS/GSM

消息发送实现功能,设计了智能温度传感器,重点做了传感器和摄像头驱动移植的任务和硬件、软件以及控制算法的设计与实现。

硬件方面,介绍了系统各个部分的设计思想、原理,并给出了系统各硬件原理图;另外,为了实现系统的低成本和低功耗,在满足设计要求的前提下,尽可能选用了价格低廉和低功耗的元器件。

软件方面,采用了HTML设计网页,希望通过网页显示实时采集的温度数值和图像。

温室大棚智能监测系统为实现对生态作物的健康成长和及时调整栽培、管理等措施提供及时的科学依据,同时实现监管自动化。

1。

5需求分析

1。

5。

1系统功能和结构

智能环境监测系统中的温度传感器能够监测环境温度等参数.中星微摄像头能够准确有效地采集温度图片以及数据信息,能够根据环境参数控制加湿器、通风扇等外围设备的工作,并且可以根据环境参数由语音系统提供实时的报警提示或者建议,具有数据保存的功能。

图1和图2分别为智能环境监测系统功能图和结构图。

图1系统功能图

图2系统结构图

1.5.2系统主控制硬件平台

本次课程设计采用博创科技推出的嵌入式系统教学科研平台UP-CUPIOT-6410—II型开发板,该平台采用基于Samsung公司最新的S3C6410X(ARM11)嵌入式微处理器。

S3C6410X是一款16/32的RISC微处理器,具有低成本、低功耗、高性能等优良品质,适用于移动电话和广泛的应用开发。

为给2.5G和3G的通信服务提供优越的性能,S3C6410X采用64/32位内部总线结构。

其内部总线是由AXI、AHB和APB三部分总线构成.S3C6410X也包含了许多强大的硬件,用于提高任务运行的速度,例如动态视频处理,音频处理,2D图形,显示和缩放等。

它集成了多种格式编解码器(MFC的),支持MPEG4/H。

263/H.264的编码和解码和VC1解码。

H/W型编码器/解码器支持NTSC和PAL模式的实时视频会议和电视输出.三维图形(以下简称3D引擎)是一种3D图形硬件加速器,可以更好地支持openGLES的1.1及2.0.这个3D引擎包括两个可编程着色器:

象素渲染和顶点渲染。

UP-CUPIOT-6410-II型网关部分平台如图3所示。

它可以作为计算机、电子通讯、软件开发等专业开设嵌入式软件课程的教学平台,又可作为广大从事PDA和科研单位的参考设计平台。

图3UP—CUPIOT-6410-I嵌入式开发平台

2环境搭建

2.1Linux宿主机环境搭建

2.1。

1VMware虚拟机安装

需要的软件为VMware-workstation—full-9.0.0-812388安装包,具体步骤如下:

第一步:

双击安装包

第二步:

选择默认安装

第三步:

直到输入序列号,打开序列号记事本,任意复制一个序列号,点击下一步,直至安装完成。

第四步:

重新引导。

2。

1。

2Linux操作系统环境搭建要求

1、在win7系统上安装VMware10.0,对计算机的要求如下:

硬盘空间:

大约20G

内存:

512M

2、Linux系统选用版本:

Fedora14

安装VMware的时注意选择磁盘路径,Fdora14选择默认安装。

2.1.3Fedora14中文界面显示操作

系统语言配置文件/etc/sysconfig/i18n起到整体控制作用,比如当把这个文件改为中文支持的,那么所有的登录用户的桌面环境都是中文的;

系统用户有自己的语言配置,每个系统用户都有各自不同的语言环境;可以在当前用户目录下建一个。

i18n的文件;比如想让fedora这个用户登录中文桌面环境,则要在fedora这个用户下建一个i18n的文件;内容如下:

LANG="zh_CN。

UTF-8”

SYSFONT="latarcyrheb—sun16”

SUPPORTED="zh_CN.UTF-8:

zh_CN:

zh”

退出保存;然后重启,第二次登录桌面环境就能看到中文。

FedoraNFS的配置:

#yuminstallportmapnfs-utils

#vi/etc/exports加上/*(rw)

新建/home192。

168。

1.*(rwasyncno_root_squash)

保存并退出

重新启动

setup里serviceconfiguration里选中FedoraNFS服务,去掉iptables,和ipchains.

#/etc/init。

d/iptablesstatus暂时关闭防火墙

#/etc/init.d/iptablesstop禁止防火墙在系统启动时启动

#/sbin/chkconfig-—level2345iptablesoff

#/etc/init.d/iptablesrestart重启iptables

#/etc/rc。

d/init。

d/nfsrestart

ShuttingdownNfsmountd:

[FAILED]

ShuttingdownNfsdaemon:

[FAILED]

ShuttingdownNfsservices:

[FAILED]

Startingnfsservices:

[OK]

Startingnfsquotas:

[OK]

Startingnfsdaemon:

[OK]

Startingnfsmountd:

[OK]

[root@localhostetc]#/etc/rc.d/init.d/nfsrestart

Shuttingdownnfsmountd:

[OK]

Shuttingdownnfsdaemon:

[OK]

Shuttingdownnfsservices:

[OK]

Startingnfsservices:

[OK]

Startingnfsquotas:

[OK]

Startingnfsdaemon:

[OK]

Startingnfsmountd:

[OK]

在开发板上#mount–tnfs–otcp,nolock192。

168。

1。

8:

/home/tmp

2.3寄生机环境开发板运行环境配置

打开“超级终端”,并对其进行配置,具体步骤如下图:

点击“应用"后并“确定”,即完成开发板运行环境配置.

2.4开发工具软件安装与配置

2。

4.1建立交叉编译环境的原因

嵌入式系统多采用交叉编译的方式,在本机编译好的程序是不能在本机运行的,需要通过特定的手段(例如烧写、下载等)安装到目标系统上执行。

交叉编译的实现克服了嵌入式系统目标平台存储空间和运算能力有限的缺点,完善的工具链可以保证项目开发的进度和质量,是嵌入式开发的第一步,也是关键的一步.

2.4.2建立交叉编译环境

第一步:

在D盘中新建一个文件夹share

第二步:

拷贝物联网平台软件资料至共享文件夹,并改名称为soft

第三步:

进入虚拟机,打开终端输入命令进行交叉编译环境的配置。

2.4。

3vmware—tools工具的安装

第一步:

进入VM并点击installvmwaretools

第二步:

打开终端,将vmwaretools压缩包复制到home

#mkdirvmware-tools

#tarxvfVMwareTools—9。

2.0-799703.tar。

gz

#cdvmware—tools—distrib/

#。

/vmware—install.pl

第三步:

配置IP地址后,重新登录系统(不必重启机器,开始—>logout即可),使以上设置生效,在命令行输入arm-linux—gcc–v,会出现如图4所示。

图4交叉编译环境

2。

4.3编译内核Linux—2.6。

21

进入到Fedora14目录下,然后进入内核目录,执行解压命令:

#cd/UP—CUP6410/SRC/kernel/linux—2.6.21

#make

最后会在arch/arm/boot目录下生成zImage,将镜像文件烧写到实验箱。

3设备驱动设计

3。

1DS18B20驱动设计

3.1.1DS18B20温度传感器简介

DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器.与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式.可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而使用DS18B20可使系统结构更趋简单,可靠性更高。

它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。

本系统利用DS18B20进行测温,基于嵌入式操作系统,利用温度传感器DS18B20硬件电路简单、控制精度高(误差在-0。

5~+0.5摄氏度范围内)、功能强、体积小、价格低、简单灵活等优点,可以应用与控制温度在—55摄氏度到+125

摄氏度直接按的各种场合,可以实现温度的实时采集、显示与控制功能,是一种较理想的智能化控制系统.

3.1.2硬件原理

DS1820数字温度计提供9位温度读数,指示器件的温度信息经过单线接口送入DS1820或从DS1820送出因此从中央处理器到DS1820仅需连接一条线和地读写和完成温度变换所需的电源,可以由数据线本身提供而不需要外部电源。

如图5、表1所示。

分别为DS28B20芯片封装结构和DS18B20芯片详细明。

图5DS28B20芯片封装结构

表1DS18B20详细引脚说明

3.1。

4温度传感器驱动设计

第一部分:

DS18B20测温原理

DS18B20测温原理如图6

所示。

图中低温度系数晶振的振荡频率受温度影响小,用于产生固定频率的脉冲信号送给计数器1;高温度系数晶振随温度的变化其振荡频率明显改变,其所产生的信号作为计数器2的脉冲输入。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1预置值减为0,温度寄存器值加1,计数器1的预置重新被装入,计数器1重新开始对低温系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0,停止温度寄存器累加,此时温度寄存器中的数值即为所测温度。

图6温度传感器DS18B20测温原理图

第二部分:

DS18B20初始化时序

DS18B20的所有通信都由复位脉冲组成的初始化序列开始。

该初始化序列由主机发出,后跟由DS18B20发出的存在脉冲.DS18B20初始化时序图如图7所示。

图7DS18B20初始化时序图

第三部分:

DS18B20“读”时序

DS18B20只有在主机发出读时隙后才会向主机发送数据。

所有的读时隙必须至少有60us的持续时间,DS18B20输出的数据在下降沿产生后15us后有效,因此,释放总线和主机采样总线等动作要在15us内完成.DS18B20读时序图如图8所示.

图8DS18B20读时序图

下面是DS18B20读时序的对应代码:

unsignedchartmrbyte(void)//对应DS18B20时序图中的“读时序"

unsignedchari,u=0;

for(i=1;i〈=8;i++)

s3c_gpio_cfgpin(B,B_out);

s3c_gpio_setpin(B,0);

udelay

(1);

u>>=1;

s3c_gpio_setpin(B,1);

//udelay(12);

s3c_gpio_cfgpin(B,B_in);

if(s3c_gpio_getpin(B))

u=u|0x80;

udelay(60);

}

//printk(”alreadyread!

\n”);

return(u);

}

voidDS18B20PRO(void)

{inta,b;

tmreset();

//printk("tmresetissucceful\n”);

udelay(120);

tmwbyte(0xcc);//跳过Rom

tmwbyte(0x44);//温度转换

mdelay(2000);

tmreset();

//printk("tmresetissecondsucceful\n”);

udelay(200);

tmwbyte(0xcc);//跳过序列号命令

tmwbyte(0xbe);//发送读取命令

a=tmrbyte();//读取低位温度

b=tmrbyte();//读取高位温度

sdata=a/16+b*16;

//printk("dataisrecive!

\n”);

第四部分:

DS18B20“写”时序

主机在写时隙向DS18B20写入数据,并在读时隙从DS18B20读入数据。

在单总线上每个时隙只传送一位数据。

在主机产生写时隙后,DS18B20会在其后的15到60us的一个时间窗口内采用单总线,采样窗口内,如总线为高电平,主机回向DS18B20写入1;如果总线为低电平,主机会向DS18B20写入0。

DS18B20写时序如图9所示。

图9DS18B20写时序图

下面是DS18B20写时序的对应代码:

voidtmwbyte(unsignedchardat)//对应DS18B20时序图中的“写时序”

unsignedcharj;

s3c_gpio_cfgpin(B,B_out);

for(j=1;j<=8;j++)

s3c_gpio_setpin(B,0);

udelay

(1);

if((dat&0x01)==1)

{

s3c_gpio_setpin(B,1);

else

{

s3c_gpio_setpin(B,0);

udelay(60);

s3c_gpio_setpin(B,1);

udelay(15);

dat=dat>〉1;

}

s3c_gpio_setpin(B,1);

//printk("alreadywrite!

\n”);

}

3.2摄像头驱动移植

3。

2。

1中星微摄像头简介

摄像头(CAMERA或WEBCAM)也叫电子眼、电脑相机、电脑眼等,它是一种视频输入设备,它被广泛的运用于视频会议、远程医疗以

及实时监控等方面.人们也可以通过摄像头在网络中相互进行有影像、有声音的交谈或者沟通。

此外,人们还可以将它用于当前各种潮流的数码影像,影音处理等。

摄像头的实时监控,可以通过主控模块实现这个功能,也可通过远程监测实现这个功能。

本次课程设计采用中星微ZC301PL摄像头(如图10所示)完成对环境周边视频的采集与记录.

图10中星微ZC301PL摄像头

3。

2.2配置编译内核

打开解压的开发板内核源文件目录,然后执行makemenuconfig命令:

[root@localhostlinux—2。

6。

21]#makemenuconfig

然后点击进入 DeviceDrivers-——>

进入<*〉Multimediasupport——->

进入 [*]Videocaptureadapters(NEW)—--〉

进入  [*]V4LUSBdevices(NEW)———> 

进入  <*>GSPCAbasedwebcams—-->

选择最后一项ZC3XXUSBCameraDriver,然后保存退出,即完成了内核的配置和修改.

再执行make命令,编译完成后将/arch/arm/boot目录中zImage烧写到开发板,这样即完成了开发板对ZC301摄像头的支持.

3。

3BOA服务器搭建

3。

3.1BOA服务器简介

BOA服务器是一个运行于Unix或Linux下的小巧、高效的Web服务器,并且是一个适合于嵌入式系统的单任务服务器.具有源代码开放、性能高的特点.

3。

3.2BOA的编译与移植

第一步:

编译BOA服务器

第二步:

BOA服务器的移植

1、解压:

#tarxzfboa-0.94.13。

tar。

gz

2、修改文件

3、修改src/log.c

4、修改src/boa.c

生成Makefile文件

5、进入boa—0.94。

13目录下的src

#cdboa-0。

94。

13/src

#。

/configure

6、修改Makefile,并编译生成可执行文件boa

为生成的二进制文件boa瘦身,可发现boa的大小前后差距很大,这样就节省很大的空间。

第三步:

BOA的配置(这一步的工作也在电脑主机上完成)

在boa—0.94。

13目录下有一个示例boa.conf,可以在此基础上进行修改,修改部分如下

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1