1、无 线 传 感 网 络 技 术课 程 实 训温度传感器数据采集及界面开发院 ( 系 ) 名 称 电 子 与 信 息 工 程 学 院专 业 班 级 物 联 网 121 班学 号 120402007学 生 姓 名 薛 红 见指 导 教 师 贾 旭 副 教 授起 止 时 间 : 2015.6.292015.7.17课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:物联网工程学 号 120402007 学生姓名 薛红见 专业班级 物联网 121班课程设计(论文)题目温度传感器数据采集及界面开发课程设计(论文)任务任务要求:1、 建立点对点的无线传感网络;2、 在上位机开发出 GUI 界面
2、;3、 读取温度传感器采集数据;4、 数据经串口在 GUI 界面中显示;5、 采集数据转化为具有实际意义的可用数据。技术要求:1、GUI 界面采用 MATLAB 语言进行开发;2、无线数据通信部分采用 Zigbee 协议;3、系统正常运行,软件界面友好、操作简单。指导教师评语及成绩平时成绩: 答辩成绩: 论文成绩: 作品成绩: 总成绩: 指导教师签字: 年 月 日注:平时成绩占 20%,答辩成绩占 20%,论文成绩占 40%,作品成绩 20%。本科生课程设计(论文)I目 录第 1 章 绪论 .11.1 温度传感器技术应用概况 .11.2 本文研究内容 2第 2 章 温度传感器数据采集总体设计方
3、案 .32.1 传感器信息采集设计方案 .32.2 总体设计方案框图及分析 4第 3 章 基于 MATLAB 温度传感器的设计 53.1 温度传感器的设计理念 53.1.1 温度传感器的定义 .53.1.2 传感器的原理 53.2 传感器 GUI 布局 6第 4 章 温度传感器程序软件及调试 .94.1 编写回调函数 .94. 2 附各按键的程序源代码 .11第 5 章 串口调制及界面运行 .125.1 界面串口选择 125.2 打开串口查看结果 12参考文献 .15本科生课程设计(论文)1第 1 章 绪论1.1 温度传感器技术应用概况随着现代人们生活水平的提高以及我国网络技术应用的普及,我国
4、的网络技术的开发水平已经达到了一定的层次。人们日常生活中对网络的需求也是日益增多,故此,我们在生活的各个方面对传感器网络技术传感器网络技术的开发及应用也被人们所普遍接受,并得到广泛的应用。传感器网络是信息感知和采集的一场革命,也被认为是 21 世纪最重要的技术之一。它将会对人类未来的生活方式长生深远的影响,通过对传感器信息的采集程序的设计思路,传感器将外界的温度等模拟量转变为数字信号,再将收集到的信号通过计算机进一步给予显示、处理、传输与记录,对收集到的自然数据的传达给人类。本次的温度传感器系统设计对温度信息的收集是由温度传感器网络系统来完成的。温度传感器网络是在监测区域内合理的布置大量的传感
5、器节点,并且节点之间通过自组织方式构成网络。传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点,再将所得信息数据传递给控制计算机。如图 1.1 为传感器网络的体系结构图。此图详细的画出了传感器节点之间传递信息的过程。图 1.1 传感器网络体系结构在我们现代日常生活当中,传感器技术应用的十分广阔。从传感器的诞生至今为止,传感器的体积在不断的减小,种类也从单一到现在生产的多种多样,种类及用途本科生课程设计(论文)2在不断的增多,而且传感器的价格也越来越便宜,符合我国大部分人的使用需求。现代的普通传
6、感器的价格十分便宜,而且,质量也随着我国工业能力的不断增强也在不断的上升。我国对现代化传感器的研究也是投入了大量的资金,这大大加快了传感器技术在我国的发展。从小小的收音机到大型的军事通信设备,无不用到传感器技术。传感器技术也为我们的生活和工作提供了很大的方便。温度传感器技术一般应用在对环境的测试中。例如,在我国的深山老林中防火是一件必不可少的事情,但是随着人力资源的短缺以及昂贵的人力劳动来说太过浪费。我们可以使用传感器技术进行防火预警;在一些金属的熔炼过程中对温度的控制是必不可少的,但是人又不能时刻测量温度,在这个过程当中温度传感器就发挥了重要的作用;在我们的生活当中对天气的了解比不可少,但是
7、专业的技术人员和了解自然环境变化的人才也不是太多,这就需要用到传感器技术,不需要很专业的知识就能够对天气进行了解判断并给予通报。1.2 本文研究内容本文研究内容为研究温度传感器信息采集和界面程序的开发。本次程序设计的目的是通过 3 周课程设计的学习,熟练的操作传感器等器件连接以及使用等知识,并熟悉掌握 MATLAB 操作流程。通过传感器将所需的环境温度由 模拟量转变为数字信号,再将收集到的信号通过计算机进一步给予显示、处理、传输与记录,创建 GUI 界面并且进行功能的设置,连接物理装置和调节串口连接后对收集到的自然数据通过设计的界面展示给我们。传感器器件之间信息的传递是由物联网传感器技术来完成
8、的。传感器采集环境信息传后传递控制计算机进行整理后由界面展现出来所测的数据。使得数据采集的质量和效率大大提高,也节省了对硬件设备的投资,为用户节省资金;通过对 MATLAB 的应用,使得软件在数据采集系统的作用越来越大,并且增加本系统设计的灵活性,给我们对传感器技术的使用提供了便利。本科生课程设计(论文)3第 2 章 温度传感器数据采集总体设计方案2.1 传感器信息采集设计方案在我们日常的生活当中到处都充满应用了传感器技术的产品,但是我们对传感器技术信息的采集原理有很多的疑问。为什么这么一个小小的电子设备能够具有收集信息的功能,它是怎么收集信息的,又是怎么将信息传递给显示器,将信息传递给我们的
9、。我们对传感器技术充满了疑惑和憧憬,也使得我更加坚定的学习传感器信息采集和界面开发的信心。通过这三周的学习使我了解了有关传感器信息采集的一些知识,也跟着老师学习了怎样通过 MATLAB 来创建界面和对界面的调试过程。下面我将会利用这三周来学习到的知识和以前所学习的知识来叙述两种采集方案并对这两种方案的自身特点和应用适用的环境进行比较,决定使用哪种方案来设计一种简单、便宜又能够充分利用其采集信息能力的温度传感器信息采集和界面开发程序。方案 1:利用物联网串口连接及应用的方法将传感器通过协调器来连接串口,通过传感器对信息的采集将信息通过适配器传递给控制计算机,调试串口后直接来显示温度传感器所传来的
10、温度信息。此方案的优点是简单、快捷、准确性高,利用很少的设备就可以完成对所在环境信息的测量,并且信息的错误率相当低。但是,这个方案只适用于我们对传感器信息采集的教学方面和一些传感器设备研究的实验室。因为它只能连接很少的传感器,并不能大面积的信息采集,也不能大范围的推广到我们普通人的日常生活当中。如图 2.1 所示,我们可以使用串口调试助手对串口进行调制。图 2.1 串口调试助手界面方案 2:利用 MATLAB 创建一个关于显示传感器所传信息的 GUI 窗口,在窗口上创建有关串口类型及波特率等功的按钮,并对这些按钮的字符大小、颜色和形状进行本科生课程设计(论文)4设置,还要将设置好的按钮位置进行
11、合理的排布并保存。然后在按钮及静态文本框保存后自动弹出 Editor 的 M 文本,对然后对相应的 pushbutton 添加功能函数后运行出有关信息的 GUI 界面来给我们传达信息。这个设计方案加入了界面开发程序,将很大程度上增加可控传感器的数量以及更加方便的扩大我们对大面积地域内我们所需信息的采集能力。不但解除了单个传感器对信息采集面积大小束缚,也提高了我们对一个区域内传感器使用状态的判断能力。通过仔细的比较这两种设计方案,与方案 1 相比,方案 2 用软件对信息的大面积采集更加方便,也扩宽了我们对传感器技术的应用途径。信息处理及显示的信息更加准确,在日常生活或工作中使用更加方便。其结构可
12、靠性更高、制作成本也比较低廉、操作也简单。所以选择方案 2。2.2 总体设计方案框图及分析如图 2.2 所示,本文设计了一种的传感器信息采集及界面开发为基础的应用性界面。利用传感器接收外界的温度信息,通过无线传感器网络技术传递给控制计算机对数据进行整理、分类、总结等处理,然后通过 GUI 界面对整理的信息进行显示,以达到对一定环境内温度测量的目的。次方案操作简单,所需硬件相对来说比较少,节省硬件设施的不必要浪费。图 2.2 总体设计方框图本科生课程设计(论文)5第 3 章 基于 MATLAB 温度传感器的设计3.1 温度传感器的设计理念3.1.1 温度传感器的定义温度传感器是指能够感受温度并转
13、换成可用输出信号的传感器。温度传感器是温度测量仪表的核心部分,种类繁多,按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性可分为热电阻和热电偶两大类。如图 3.1所示,是本文收集到的集中温度传感器本,从图中可以看出传感器的体积有大有小,功能也比较齐全。可以看出传感器应用范围之广。图 3.1 温度传感器3.1.2 传感器的原理虽然传感器种类繁多,功能各异,但是其工作原理却大同小异,可以使用图 3.2来总体概括传感器的工作原理。如图 3.2为传感器的工作原理图。本科生课程设计(论文)6图 3.2 传感器原理图3.2 传感器 GUI 布局通过本次对温度传感器信息采集和界面开发学习。
14、让我们来熟练的掌握有关界面的操作。我们应该了解本文是一个利用 MATLAB GUI设计实现一个图形用户界面的传感器程序。首先我们可以利用 MATLAB创建一个简单地 GUI界面,并熟悉界面上各设置键的不同功能。然后在界面上添加温度传感器信息采集界面所需的按钮,并且对添加好的按钮进行命名、大小调制和颜色选择,最后的步骤是对按钮的位置进行合理的排布,尽量使按钮集中在静态文本框下面。这样能在我们接下来的设置和调制阶段节省很多时间,也不易形成错乱的操作。接下来我们将进入具体的操作过程。(1)如图 3.3所示,打开 Matlab,输入 Guide 回车或者在工具栏上点击图标将会生成一个 GUI界面生成选
15、择的那种 Guide 窗口。通过这个窗口,我们可以发现对 GUI界面的操作类型,创建一个新的 GUI界面或打开一个已经存在的界面图,然后进入下一步骤。图 3.3Guide 窗口(2)如图 3.4 所示,双击“Blank GUI(Default) ”按钮就会出现一个新的 GUI 窗口,这个窗口上具有多个功能键,我们应该熟练的掌握这些按键的功能,并为我们接下来本科生课程设计(论文)7的操作进行基础知识的积累。在操作时注意我们所做的产品应具有哪些功能,不要产生错误的操作。图 3.4 Guide 窗口 (3)如图 3.5 所示,根据温度传感器信息采集和界面开发的需求,在创建好的GUI 窗口上一些所需的
16、按钮,将所需的界面图标都添加到这个窗口上,为下一步的操作打下基础。图 3.5Guide 窗口添加按钮本科生课程设计(论文)8(4)如图 3.6 所示,在添加好温度传感器信息采集和界面开发程序所需的按钮后,根据 GUI 界面上各个按钮的作用不同,分别对各个按钮和图标进行排位以及对他们进行颜色等的设置,以达到一个好的视觉效果。并对其进行仔细的检查,看是否存在错误的设置。图 3.6Guide 窗口按钮设置在温度传感器信息采集和界面开发的最后,对设置好的 GUI 界面进行保存。仔细的记住界面保存的地址,以便于当我们发现错误的时候进行修改,并利于我们对系统功能的添加或删除等。本科生课程设计(论文)9第
17、4 章 温度传感器程序软件及调试4.1 编写回调函数通过这三周有关 MATLAV 界面设计的学习,我们在老师的带领下成功的完成了有关计算机程序的设计和界面的开发,也了解到了有关回调函数的相关知识,回调函数在界面开发方面占据了很大的地位,我们在这个课程设计当中最主要的学习目标是完全掌握有关回调函数的运用和编写有关自己的回调函数的学习,完成上述步骤之后,我们将要进入函数的设计部分,在这里我们将接触到有关在GUI 开发环境下,选择工具栏上的 进入菜单编辑器,分别选择 和 创建主菜单和子菜单。如图 4.1 所示为完成 GUI 界面设计后我们将进入函数设计的截图。图 4.1 结束 GUI 界面设计图完成
18、上图后,我们即将进入有关程序函数编写的过程。在整个温度传感器数据采集和界面开发过程中,函数编写的过程也是最难得。在次过程中,我们可以在图书馆查询相关资料,也可在网络上收集有关的作品。在此过程中我们也会用到编写的框图。如图 4.2 所示为函数编写过程的截图。本科生课程设计(论文)10图 4.2 函数设计图框初始化参数,查看在温度传感器信息采集和界面开发程序运行接收数据时,这个这段代码可以检验是否在运行前勾选了十六进制显示,以免程序接收数据过程发生错误。hasData = false; isShow = false; isStopDisp = false;isHexDisp = false; is
19、HexSend = false; numRec = 0; numSend = 0; strRec = ; 完成对信息的初始化后,将上述参数作为应用数据,存入窗口对象内。setappdata(hObject, hasData, hasData);setappdata(hObject, strRec, strRec);setappdata(hObject, numRec, numRec);setappdata(hObject, numSend, numSend);setappdata(hObject, isShow, isShow);setappdata(hObject, isStopDisp,
20、isStopDisp);setappdata(hObject, isHexDisp, isHexDisp);setappdata(hObject, isHexSend, isHexSend);guidata(hObject, handles);打开和关闭按钮的回调函数及波特率等的设计rates = 300 600 1200 2400 4800 9600 19200 38400 43000 56000 57600 115200;baud_rate = rates(get(handles.rate, value);编写一段函数来获取参数hasData = getappdata(handles.fi
21、gure1, hasData); strRec = getappdata(handles.figure1, strRec); numRec = getappdata(handles.figure1, numRec); 本科生课程设计(论文)114. 2 附各按键的程序源代码把做好的按钮及静态文本框保存后自动弹出 Editor 的 M 文本,对然后对相应的pushbutton 添加功能函数。以下是相应按钮的功能函数。function varargout = serial_communication2(varargin)gui_Singleton = 1;gui_State = struct(gu
22、i_Name, mfilename, .gui_Singleton, gui_Singleton, .gui_OpeningFcn, serial_communication2_OpeningFcn, .gui_OutputFcn, serial_communication2_OutputFcn, .gui_LayoutFcn, , .gui_Callback, );if nargin endif nargoutvarargout1:nargout = gui_mainfcn(gui_State, varargin:);elsegui_mainfcn(gui_State, varargin:)
23、;endfunction varargout = serial_communication2_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;end本科生课程设计(论文)12第 5 章 串口调制及界面运行5.1 界面串口选择在我们完成对温度传感器信息采集和界面开发的程序调制后,我们就可以来运行这个程序。通常我们的控制计算机支持的串口类型为 COM3。选择串口完成后,调制波特率,一般对于我们调制波特率来说都将其调制到最大值,即 115200,然后进行数据显示环节,即选择界面输出数值为十六进制的值。在我们读取数值
24、的时候,我们就可以感受温度传感器信息采集和界面开发技术给我们带来的便捷。如图 5. 1 所示,通过运行界面调制,选择串口类型即 COM3,调制波特率为115200,进制选择十六进制的。图 5.1 运行界面调制波特率等5.2 打开串口查看结果选择完运行程序后,在运行出的界面选择串口类型等操作完成后,点击“打开串口” ,仔细观察本次设计的温度传感器所测量到的波率图。通常情况下,温度传感器数据采集和界面开发程序所输出的数据是不断更新的,而且一般来说,这个系统的准确度比较高。如图 5.2 为次运行的结果截图本科生课程设计(论文)13图 5.2 运行界面结果通过本次实验实现了温度传感器信息采集和界面开发
25、。对 Matlab 的操作有了进一步的认识和了解,通过多次的修改调查做出实验,验证了实验的正确性,大大的提高了我们对 Matlab 功能的认识,培养了我们的兴趣。本科生课程设计(论文)14第 6 章 总结传感器信息采集及 GUI 界面设计是一项设计面非常广泛系统工程,主要分为硬件连接设计和软件设计及调试。 在本次的温度传感器的规划设计与调试的过程,结合所学之知识和专业技能,较为顺利地实施了整个过程。本设计从基于 MATLAB 温度传感器的连接思路、目标、可以选用的硬件及软件技术以及对网络设备的介绍和选择等多方面的论述,使我对设计传感器连接串口有了一个比较深入的了解,温度传感器建设作为一项重要的
26、系统工程,它的所用到的各种技术是多方面的,即有串口连接技术、串口调试技术,也有 GUI 界面的设计及调试等各个方面的知识。传感器技术的发展是永无止境的,在前进的过程中必将有更多的知识需要我去学习与研究,并能将其应用到实际的传感器应用之中。开始学习界面开发时,确实遇到了一些问题,例如设计界面时,总是不知怎么将界面设计的更加有效简单,有时也运行不了,但这也使我锻炼了快速学习的能力,通过网上也使我的知识更加坚实。通过此次课程设计我对自己在温度传感器网络信息采集和界面开发方面的学习有了更深刻的理解更系统地分析并掌握了所学的知识,尤其是对各类串口的特性与用法和配置有了更深的体会专业技能有了很大的提高。虽
27、然此次的设计来源于实际工程类似于实际工程但是它和真正的项目还是有一些差别的,所以在今后的学习中,我会更加注重理论与实践的结合,在理论学习的过程中融会更多的真实案例为将来真正的项目奠基。最后感谢贾旭老师不辞辛苦和耐心教导。本人签字: 本科生课程设计(论文)15参考文献1 贤武,郑霞 ,曲波. 传感器实际应用电路设计M.电子科技大学出版社,1997.2 马海潮. 超高速数据采集技术发展现状J. 测试技术学报, 2003,17(4):287 292. 3 王海龙. 基于 MATLAB 的数据采集系统的研究 J. 中国农学通讯,2007. 4 陈桂芳. 传感器技术教程J. 人民邮电出版社,2012.5 张毅刚. 单片机原理及串口技术J.人民邮电出版社,2008.6 曹文. 传感器设计技术基础M.北京:机械工业出版社,2013.7 吉鹏 ,马云峰等 . 微机原理与接口技术 M. 北京:高等教育出版社,2001.