- 2.26 MB
- 2022-04-21 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
智能家居中压力传感器的数据实时采集与存储密级公开学号1.毕业设计(论文)题目智能家居中压力传感器的数据实时采集与存储2.任务起止日期:2012年2月20日至2012年6月8日3.毕业设计(论文)的主要内容与要求智能家居(smarthome)是以住宅为基础平台,综合建筑装潢、网络通信、信息家电、设备自动化等技术,将系统、结构、服务、管理集成为一体的高效、安全、便捷、环保的居住环境。由于其成本、技术、安全等问题无法成为家居消费的主体。采用ZigBee无线技术组网的智能家居系统有短距离、低成本、低速率、低时延、低功耗等优点,装修时工程量小、成本低,并能有效地控制家具设备,满足人们拥有智能化家居的生活。通过串口助手程序与压力传感器的连接,实现实时采集数据并存储。因此本课题有着良好的应用前景、对实现智能家居有着重要的现实意义。本题目主要是对智能家居中的压力模块进行开发,重点是通过串口对压力传感器进行实时的数据采集,主要包括:通过压力传感器测量压力值,数据采集是将其压力值通过串口助手实时显示在屏幕上,根据压力值的范围进行相应的数据反馈,用户可根据自身需要对采集的数据进行存储等功能。其作用是通过模拟监测家庭中的天燃气管道的压力情况,用实时数据的反馈来确保家庭日常生活的安全性。首先,收集国内外关于智能家居,ZigBee技术,CC2430芯片等相关资料,通过学习了解其有关的文档及相关技术。其次,安装软件IAREmbeddedWorkbench、MicrosoftVisualStudio2008,配置相关的环境,并学习软件的使用。熟悉硬件的整体结构,即课题的硬件核心是智能三项传感器节点模块和CC2430多功能仿真器;编程开发串口助手程序。然后,应用串口助手调试得出结论并完成扩展功能,最终实现该压力传感器的数据实时采集与存储的所有功能要求。工作内容:n智能家居中压力传感器的数据实时采集与存储u搭建开发环境IAREmbeddedWorkbench、MicrosoftVisualStudio2008,并熟悉软件的使用。u压力传感器数据实时采集与存储的需求分析、总体方案制定、详细设计和功能规划、编程实现、调试等。u综合运用知识、搜集和运用资料、方案分析与设计、功能规划、外语阅读及翻译、编程及软件测试等方面的能力将会得到培养和训练。提高学生专业知识综合应用能力和实践能力。设计要求:要认真完成系统设计各环节,提高理论知识应用于实践的能力、分析问题、解决实际问题的能力。设计要求:u应该在进度计划所规定的时限内完成相应的工作内容。u笔译约2万英文字符的外文文献(约合5000汉字译文),文献内容应与毕业论文课题相关。u毕业设计(论文)的框架及字数、格式、撰写要求要严格按照《北京石油化工学院2012届毕业设计(论文)工作相关管理规定》进行。应提交的成果:u开题报告(含电子文档)一份。u外文资料原文与中文译文(含电子文档)各一份。u设计出的应用软件(光盘或软盘)一套。u毕业论文(含电子文档)一份。u其他资料一套(含题目审批单、任务书等)一份。u学生毕业设计日志一份。4.主要参考文献[1]李世荣,智能家居控制系统的设计与实现研究[D],同济大学,2008.[2]昌治安编著,ZigBee网络原理与应用开发[M],北京航空航天大学出版社,2008.n智能家居中压力传感器的数据实时采集与存储[3]瞿雷,刘盛德,胡咸斌编著,ZigBee技术及应用[M],北京航空航天大学出版社,2007.9[4]北京奥尔斯电子科技有限公司,压力传感节点-设计说明v1.04-091217-r.doc.[5]曾超群.VisualC#窗体之间数据传递浅析[J].科技资讯.2009(13)[6]赵军,袁中凡,杨春生.利用VisvalC++下MSComm开发的串口通信软件[J].中国测试技术.2006(06)[7]ZigBeeAlliance.ZigBeeSpecificationVersion1.1[S].2005.[8]ZigBeeAlliance.VersionfortheHome[R].November,2006.[9]TexasInstruments.CC2430_DataSheet.http://www.chipcon.com.[10]吴昊天,张燕林.基于MSComm控件的PC与AVR串口通信实现[J].计算机与数字工程,2010,38(4):82-85.[11]南忠良,孙国新.基于ZigBee技术的智能家居系统设计[J].电子设计工程,2010,18(7):117-119.[12]崔晶晶.基于嵌入式技术智能家庭网络系统的研究与设计[D].湖南大学,2007.[13]马永强,李静强,冯立营.基于ZigBee技术的射频芯片CC2430.单片机及嵌人式系统应用,2007(1).[14]李继武,彭德林,等.C#语言程序设计[M].中国水利水电出版社.[15]李丹妮,刘金辉,姜应战.基于VisualC++的数据采集与处理软件设计与实现[J].微计算机信息.2007(22)[16]夏敏捷,等.VisualC#.NET开发技术原理与实践教程[M].电子工业出版社.[17]余银娟,李翊.VisualC#多线程程序参数传递的实现[J].科技资讯.2008(04)5.进度计划及指导安排日期工作内容具体要求2月20日—3月11日(1周-3周)调研、外文翻译、撰写开题报告通过调研、咨询、图书馆、网上等多种方法和渠道,了解题目所涉及的内容,收集资料、文献,并进行归纳、整理研究,进行外文翻译,并撰写开题报告。3月12日—3月18日(4周)提交报告修改并整理开题报告,上交外文翻译(2万英文字符)及开题报告。3月19日—4月1日(5周-6周)需求分析、方案设计进行需求分析并制定总体方案,完成软、硬件环境配置。n智能家居中压力传感器的数据实时采集与存储4月2日—4月15日(7周-8周)熟悉软件使用、了解相关知识熟悉IAR、VS2008等软件的基本用法及相关知识。搭建硬件平台,进一步了解软件并进行基础实验的操作流程。4月16日—4月29日(9周-10周)详细方案设计基本完成总体设计,进行功能模块设计。进行串口助手的开发,按照总体方案设计进行实施。4月30日—5月13日(11周-12周)编程、调试根据程序设计的进度,调整毕设的内容、方法和策略。提出改进、完善的方法,调试程序。5月14日—5月20日(13周)测试、完善进行测试,记录结果,并做出相应修改。进一步完善程序。5月21日—5月27日(14周)撰写论文按照《北京石油化工学院2011届毕业设计(论文)工作相关管理规定》撰写论文5月28日-6月3日(15周)检查代码熟悉代码,代码检查。6月4日-6月10日(16周)提交论文提交论文,检查各项工作完成情况,文档完整性等。6月11日-6月17日(17周)答辩准备PPT,进行答辩。任务书审定日期年月日系(教研室)主任(签字)任务书批准日期年月日教学院(系、部)院长(签字)任务书下达日期年月日指导教师(签字)计划完成任务日期年月日学生(签字)n毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名: 日 期: 指导教师签名: 日 期: 使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: n学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日n指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神□优□良□中□及格□不及格2、学生掌握专业知识、技能的扎实程度□优□良□中□及格□不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力□优□良□中□及格□不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性□优□良□中□及格□不及格5、完成毕业论文(设计)期间的出勤情况□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)指导教师:(签名)单位:(盖章)年月日n评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日n智能家居中压力传感器的数据实时采集与存储教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□优□良□中□及格□不及格2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格评定成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)教研室主任(或答辩小组组长):(签名)年月日In智能家居中压力传感器的数据实时采集与存储教学系意见:系主任:(签名)年月日In智能家居中压力传感器的数据实时采集与存储摘要智能家居是以住宅为基础平台,综合建筑装潢、网络通信、信息家电、设备自动化等技术,将系统、结构、服务、管理集成为一体的高效、安全、便捷、环保的居住环境。智能家居中压力传感器的数据实时采集与存储是压力传感器通过USB与PC机相连,通过串口助手程序准确、方便、快捷、高效、清晰地把测量压力触点产生的压力值进行实时采集和存储,并显示在屏幕上。本文首先概述了智能家居的意义及其应用前景,重点以CC2430作为传感器节点核心处理器、I/O与AD转换、PC通讯接口的硬件设计与串口助手程序的软件设计相结合。采用MicrosoftVisualStudio2008、IAREmbeddedWorkbench开发工具进行系统编码。主要是在压力传感器上通过CC2430多功能仿真器进行嵌入式的编译与移植,再通过VS2008进行软件的编译环境设置、工程的建立,用C#窗体设计串口助手程序。本文主要介绍以这种方式来模拟监测家庭中天燃气管道的压力情况,通过实时数据的反馈来确保家庭日常生活的安全性。关键词:压力传感器,CC2430,C#,串口助手,数据采集In智能家居中压力传感器的数据实时采集与存储AbstractTheSmartHome,alsoknownasthesmartthehome,itisgenerallybasedontheresidentialbaseplatform,buildingdecoration,networkcommunications,informationappliances,equipment,automationtechnologies,systems,structures,services,managementintegrationasoneoftheefficient,safeandconvenientenvironmentally-friendlylivingenvironment.Thepressuresensorinthesmarthomereal-timedataacquisitionandstorageisapressuresensorisconnectedviaUSBwiththePCthroughtheserialassistantapplicationisaccurate,convenient,fast,efficientandclearlymeasurepressurecontactpressurevaluedisplayedonthescreen.ThispaperfirstsummarizesthesignificanceandProspectofintelligenthomefurnishing,focusesontheCC2430asthecoreprocessor,sensornodesI/OandADconversion,PCcommunicationinterfacehardwaredesignandsoftwaredesignofserialassistantprogramcombination.UsingMicrosoftVisualStudio2008,IAREmbeddedWorkbenchdevelopmenttoolsforcodingsystem.MainlyonthepressuresensorthroughtheCC2430multifunctionsimulatorforembeddedcompilerandtransplantation,throughVS2008softwarecompilerenvironmentsettings,engineeringconstruction,withtheformdesignC#serialassistantprogram.Thispapermainlyintroducesinthiswaytosimulatemonitoringfamilytransitgaspipelinepressure,throughtherealtimedatafeedbacktoensurethatthedailylifeofthefamilysecurity.Keywords:pressuresensors,CC2430,C#,serialassistant,dataacquisitionIn智能家居中压力传感器的数据实时采集与存储目录第一章引言11.1引言11.2设计思想11.3相关技术介绍2第二章项目概述42.1IAREmbeddedWorkbench42.2MicrosoftVisualStudio200842.3驱动程序5第三章系统分析与概要设计63.1可行性分析63.2系统需求分析63.3系统架构设计7第四章详细设计与实现114.1系统流程114.2界面及核心代码144.3压力传感器工程核心代码24第五章系统实现与测试265.1软件测试265.2运行环境27第六章结论28参考文献29致谢30声明31In智能家居中压力传感器的数据实时采集与存储第一章引言1.1引言随着通信技术的普及和发展,各种新技术的综合应用打破人们传统的生产、生活方式,给人类社会带来了巨大的变化。人们通过便捷的通讯手段将家庭中的各种电器设备连接在一起,通过家庭网络把各种信息设备和住宅设备有机结合,并通过一定的控制策略调节彼此的工作状态,从而构成便捷、舒适、安全的信息化家居,满足人们在家中的生活、工作、娱乐、交流的需要,同时还能起到安全防护、物业管理的功能。这就是智能家居,又称为smarthome。智能家居,它一般是以住宅为基础平台,综合建筑装潢、网络通信、信息家电、设备自动化等技术,将系统、结构、服务、管理集成为一体的高效、安全、便捷、环保的居住环境。采用ZigBee技术的智能家居系统有短距离、低成本、低速率、低时延、低功耗等优点,装修时工程量小、成本低,并能有效地控制家具设备,满足人们拥有智能化家居的生活。为了更好地了解智能家居,我就其中一个模块—压力传感器进行数据采集,通过模拟测量家庭天然气管道的压力值,来达到其安全性的测试。1.2设计思想本系统的设计思想是压力传感器通过USB与PC机相连,通过串口助手程序实时、准确地把测量压力触点产生的压力值显示在屏幕上。系统主要是对智能家居中的压力模块进行开发,重点是通过串口对压力传感器进行实时的数据采集,主要包括:压力传感器测量压力值,通过串口助手进行数据收集、反馈和存储来应用到日常生活中,通过模拟监测家庭中的天燃气管道的压力情况,用实时数据的反馈来确保家庭日常生活的安全性。本系统满足串口助手所需的基本功能,还添加了存储数据的功能。具有简单的操作性和有效地实用性。软件采用VS2008、IAR开发工具进行系统编码。通过CC2430多功能仿真器进行嵌入式的编译与移植,通过VS2008进行软件的编译环境设置、工程的建立,用C#窗体设计串口助手程序。-33-n智能家居中压力传感器的数据实时采集与存储1.3相关技术介绍1.3.1ZigBee技术ZigBee技术是一种新兴起的低功耗、传输距离短、数据传输速率低、复杂度低、成本低的无线网络技术,它的基础标准是IEEE802.15.4。这是IEEE无线个人区域网PAN[1](PersonalAreaNetwork)工作组的一项标准。伴随着MEMS技术、传感器技术和无线通讯技术的飞速发展,无线传感器网络在军事生产、工业控制、医疗、教育、生活、科研中有了更广泛的应用。1.3.2CC2430芯片CC2430是第一款符合ZigBee标准的2.4GHz系统单芯片(SystemOnChip,SOC),适用于各种ZigBee或者类似ZigBee的无线网络节点,包括路由器、协调器和终端节点。芯片延用了CC2420的架构,在单个芯片上整合了内存、微控制器及ZigBee射频(RF)收发器。在休眠模式时,集成了定时器等大量的片上资源。1.3.3API函数API的英文全称是ApplicationProgrammingInterface,Win32API是MicrosoftWindows32位平台的应用程序编程接口。Windows程序设计领域处于发展的初期时,Windows程序员能使用的编程工具唯有API函数。这些函数是Windows提供给应用程序与操作系统的接口,他们像“积木”一样,可以搭建出各种功能灵活,界面丰富的应用程序。所以可以想象API函数是构筑整个Windows框架的基石,它的下面是Windows的操作系统核心,而它的上面则是所有的Windows应用程序。但是,那时的Windows程序开发是比较复杂的工作,程序员必须熟记大量常用的API函数,而且还得对Windows操作系统有很深的了解。随着软件技术的不断发展,在Windows平台上出现了许多优秀的可视化编程环境,程序员可以通过“即见即所得”的编程方式来开发具有功能强大和精美用户界面的应用程序,如VB、VC++、DELPHI等。在这些工具中提供了各种控件和大量的类库,它们替代了API的神秘功能,事实上这些控件和类库都是构架在Win32API函数的基础之上,是封装的API函数集合。它们把常用的API函数组合在一起成为一个控件或类库,并赋予其简单、方便的使用方法,所以大大的加速了Windows应用程序开发的过程。-33-n智能家居中压力传感器的数据实时采集与存储1.3.4C#(CSharp)语言C#(CSharp)是微软为.NETFramework量身订做的程序语言,微软公司在2000年6月发布的一种新的编程语言。C#不仅拥有C/C++的强大功能、VisualBasic简易使用的特性,还是第一个组件导向(Component-oriented)的程序语言,和C++、Java一样都是对象导向(object-oriented)程序语言。C#语法表的现力强,而且简单易学。C#的语法使任何熟悉C、C++或Java的人都可以立即上手。了解上述任一语言的开发人员通常在很短的时间里就可以开始使用C#语言高效地进行工作。C#语法除了简化了C++的诸多复杂性,C#支持泛型的方法和类型,从而提供了更好的类型安全和性能。C#还提供了迭代器,允许集合类的实施者定义自定义的迭代行为,以便容易被客户端代码使用。C#作为一种面向对象的语言,支持继承、封装和多态性的概念。所有的变量和方法,包括应用程序的入口点(Main方法),都封装在类定义中。可能类直接从一个父类继承,但是它可以实现任意数量的接口。在C#中,结构类似于一个轻量类,它是一种堆栈分配的类型,可以实现接口,但不支持继承。C#的生成过程要比C和C++更简单,比Java更为灵活。没有单独的头文件,也不要求按照特定顺序声明类型和方法。C#源文件可以定义任意数量的类、结构、接口和事件。1.3.5.NETFramework.NET框架是一种采用系统虚拟机运行的编程平台,它以通用语言运行库(CommonLanguageRuntime)为基础,支持多种语言C#、VB、C++、Python等的开发。同时,.NET也为应用程序接口API提供了新功能及开发工具。这些革新使程序设计员可以同时进行Windows应用软件、网络应用软件及组件和服务(web服务)的开发。.NET还提供了一个新的反射性且面向对象程序设计的编程接口。.NET的设计足够通用化,从而使许多高级语言都得以被汇集。.NETFramework中的所有语言都提供基类库(BCL)。C#程序是在.NETFramework上运行的Windows一个不可或缺的组件,它包括一个称为公共语言运行时(CLR)的虚拟执行系统和一组统一的类库。CLR是Microsoft对CommonLanguageInfrastructure(CLI)的商业实现。CLI是一种国际标准,它是用于创建语言和库在其中无缝协同工作的开发环境和执行的基础。-33-n智能家居中压力传感器的数据实时采集与存储第二章项目概述2.1IAREmbeddedWorkbenchIAREmbeddedWorkbench(简称EW)是一套完整的集成开发工具集合:包括高度优化的IARAVRC/C++编译器、AVRIAR汇编器、通用IARXLINKLinker、IARXAR库创建器和IARXLIBLibrarian、一个强大的编辑器、一个工程管理器、IARC-SPYTM调试器和一个具有世界先进水平的高级语言调试器。它和各种仿真器、调试器紧密结合,使用户在开发和调试过程中,仅仅使用一种开发环境界面,就可以完成多种微控制的开发工作。IARSystems的C/C++编译器可以生成高效可靠的可执行代码,并且应用程序规模越大,效果明显。IAREmbeddedWorkbench被认为是一款稳定可靠的开发工具,它提供连续的工作流,使开发者可以专心于项目的开发,提高开发效率。嵌入式IAREmbeddedWorkbench适用于大量8位、16位以及32位的微处理器和微控制器,使用户在开发新的项目时也能在所熟悉的开发环境中进行。它为用户提供一个易学和具有最大量代码集成能力的开发环境,以及对大多数和特殊目标的支持。嵌入式IAREmbeddedWorkbench有效提高用户的工作效率,通过IAR工具,用户可以大大节省工作时间。我们成这个理念为:“不同架构,同一个解决方案”。 2.2MicrosoftVisualStudio2008VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。MicrosoftVisualStudio2008于2007年11月发布,是第一款用于WindowsPresentationFoundation(WPF)的拥有可视化设计器的应用程序,它带有对齐线和事件选项卡,允许进行RAD风格的程序开发。它还通过用于Outlook和Fluent菜单的设计器来支持开发人员在2007MicrosoftOfficeSystem中进行程序开发。对于多专业团队,VisualStudioTeamSystem提高了可伸缩性,包括支持连续集成。它还为Web开发人员提供了CSS格式化工具,使开发人员能够使用ASP.NETAJAX进行编码,并提供针对JavaScript的IntelliSense-33-n智能家居中压力传感器的数据实时采集与存储支持。引入的语言集成查询(LINQ)功能允许在VisualBasic和C#中进行高级数据操作和处理。为了提高应用程序性能,VisualStudio2008提供了代码分析工具,包括可在代码中识别低效或其他问题区域的代码度量。集成的构建系统还具有对构建和调试的多线程支持功能。2.3驱动程序2.3.1CP210X驱动程序USB编程电缆或USB接口产品是通过将电脑的USB接口模拟成传统的串行口(通常为COM3),从而使用现有的编程软件或通信软件,通过编程电缆与PLC等设备的传统接口进行通信。功能:(1)支持的操作系统Windows2000/XP/Vista/Win7(2)完全兼容USB2.0规范(3)USB总线供电、或USB总线供电与PLC的编程口同时供电(4)波特率:300bps~1Mbps自动适应(5)每台PC只支持一个USB接口转换2.3.2ChipconSRF04EBChipconSRF04EB为ZigBeeCC2430仿真器的驱动程序,电脑必先安装IAREmbeddedWorkbenchfor8051,因为仿真器的驱动程序在软件里面。当仿真器与电脑相连接,电脑就会自动检测到硬件ChipconSRF04EB,选择驱动程序的路径后确认安装,就能通过仿真器将程序代码烧进压力传感器中。-33-n智能家居中压力传感器的数据实时采集与存储第三章系统分析与概要设计3.1可行性分析3.1.1技术可行性技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,软、硬件能否满足开发者的需求等。智能家居中压力传感器的数据实时采集与存储的设计,主要是在压力传感器上进行嵌入式的编译与移植、软件的编译环境设置和工程的建立,C#窗体设计串口助手程序。其中应用的技术主要有:嵌入式技术、CC2430芯片仿真、编译、调试等。要实现智能家居中压力传感器的数据实时采集与存储,首先,收集国内外关于智能家居,ZigBee技术,CC2430芯片等相关资料,通过学习了解其理论、特性、功能、有关的文档及相关技术。其次,安装软件IAREmbeddedWorkbench、MicrosoftVisualStudio2008,配置相关的环境,并学习软件的使用。熟悉硬件的整体结构,即课题的硬件核心是智能三项传感器节点模块和CC2430多功能仿真器;编程开发串口助手程序。然后,根据所实现串口助手的基本功能完成扩展功能。经过反复测试,最终实现该压力传感器的数据实时采集与存储的所有功能要求。3.1.2经济可行性经济可行性分析主要是分析项目的基本效益。采用ZigBee技术的智能家居系统有短距离、低成本、低速率、低时延、低功耗等优点,装修时工程量小、成本低,并能有效地控制家具设备,满足人们拥有智能化家居的生活。通过串口助手程序与压力传感器的连接,实现实时采集数据并存储。因此本课题有着良好的应用前景、对实现智能家居有着重要的现实意义。这不仅保证了系统的技术可行性,还保证了系统的经济可行性。3.2系统需求分析-33-n智能家居中压力传感器的数据实时采集与存储智能家居中压力传感器的无线通信主要用于实现家居中天然气、自来水等管道的压力数据采集、处理、实时监控等功能。传统的压力传感器设备,已广泛的应用于汽车、工业与医学电子领域。然而由于传统的压力传感器无线通信没有或无法解决设备自动感应压力,从而实现实时大数据量收集、反馈、远程通信,或者其成本等原因,应用受到很大的限制。随着网络通讯技术、嵌入式技术、无线传输以及物联网的快速发展,智能家居的无线压力传感得到越来越广泛的应用,其所面临的巨大市场潜力为智能家居提供了广阔的发展前景。研究报告显示中国经过30年的高速发展,居民的生活水平和消费能力有了很大提高,人们生活水平、居住条件的不断提高,人们对家庭住宅需求观念有着翻天覆地的变化,传统的家居环境在满足人们最基本的需求的同时,也逐渐凸显出其局限性。本题目主要是对智能家居中的压力模块进行开发,重点是通过串口对压力传感器进行实时的数据采集,主要包括:通过压力传感器测量压力值,数据采集是将其压力值通过串口助手实时显示在屏幕上,根据压力值的范围进行相应的数据反馈,用户可根据自身需要对采集的数据进行存储等功能。其作用是通过模拟监测家庭中的天燃气管道的压力情况,用实时数据的反馈来确保家庭日常生活的安全性。3.3系统架构设计3.3.1硬件方案设计硬件结构以CC2430为核心,支持压力传感器,提供必要的接口电路,是无线传感器网络的节点设备。整个系统包括MCU/RF,电源管理,微型传感器和外部接口。整体框架如下图:图3-1硬件结构整体框架图-33-n智能家居中压力传感器的数据实时采集与存储1.CC2430及外围电路MCUCC2430是本系统的核心处理器,也是2.4G射频无线收发器。处理器外部配有32MHz和32.768KHz两个晶振;6个LED指示灯,2个按键;整个核心部分通过DC3.3V进行供电,内部产生DC1.8V供电。系统原理图如下:图3-2系统原理图2.压力传感器本压力传感器采用微型封装的精制压敏电阻硅传感元件FS-1500。通过TLV2370对压力信号进行放大,在通过MCU内部的AD进行数据采集。MCU使用P0.0接口,每秒中采集数据10次,AD采用精度为12bits,电压基准为3.3V。3.硬件模块介绍智能触力传感节点,支持压力传感器,支持2.4G无线组网,配备按键输入和LED输出,支持电池工作,并配套电池充电功能。其他配套设备:包括程序下载器,下载线,串口线,并口线,JTAG板,WSN供电器等配套设备,如下图所示。-33-n智能家居中压力传感器的数据实时采集与存储图3-3智能触力传感节点模块图3-4通用调试模板-33-n智能家居中压力传感器的数据实时采集与存储图3-5无线网络电源充电模块3.3.2软件方案设计本课题需要实现个部分:一部分是硬件设备与电脑连接,通过CC2430仿真器把编码成功烧进芯片中;一部分是通过MicrosoftVisualStudio2008进行编程开发串口助手程序;还有一部分是将压力传感器与串口助手SerialPortAssistant连接,实现实时采集数据与存储的功能。图3-6软件功能模块图-33-n智能家居中压力传感器的数据实时采集与存储第四章详细设计与实现4.1系统流程4.1.1压力传感器工作流程压力传感器的工作流程:首先进行端口初始化,就是等待晶体振荡器起振并稳定,将其模式设为UART模式,波特率设为115200,并开启接收数据功能,开启总中断,接收中断,完成初始化串口,初始化ADC的工作。其次是当按压压力触点产生压力值是通过A/D转换完成的数据转换,如果没转换成功就重新初始化ADC转换。最终将转换的数据通过串口发送出去,此工作循环往复的进行以达到实时的功能。图4-1压力传感器流程图-33-n智能家居中压力传感器的数据实时采集与存储4.1.2串口助手流程串口助手的工作流程:首先启动程序,初始化界面。Message文本框中会显示当前检测到串口是否与电脑连接及连接后的串口名。用户可根据不同的情况设置相应的参数设置,参数设置包括:串口号、数据位、波特率、停止位、校验位。本文中只需将波特率设为115200即可,其余为默认值:串口号为COM3,数据位为8位,停止位为1,校验位为NONE。其次点击“打开串口”按钮,软件会检测压力传感器电源是否打开且是否与电脑相连,如不是则弹出“串口未打开”的提示,如是则开始接收数据,数据会在Message、Receive文本框中会显示。数据可以显示为10进制与16进制,用户可以通过选择不同的方式观察到不同形式的数据。再次,用户可根据自己的需求,在接收数据的同时进行清屏,清除计数,导出文件等功能。清屏功能是指将显示在Message与Receive文本框中的数据清空,然后继续接收数据。清除计数功能是指将状态栏中接收数据的个数清零。导出文件功能是指用户根据自己的需要,手动将此次就收数据清单保存起来,保存文件类型默认为.txt格式,文件名和路径均有用户决定。最后,当要结束接收数据时,需点击“关闭串口”按钮,软件将停止接收数据,关闭串口。点击“Exit”按钮,则结束程序,关闭软件。-33-n智能家居中压力传感器的数据实时采集与存储图4-2串口助手流程图-33-n智能家居中压力传感器的数据实时采集与存储4.2界面及核心代码4.2.1初始界面及其核心函数OpenSerialPor()打开串口时所调用的是OpenSerialPor()函数,此函数的作用是根据在点击打开串口按钮前,用户在参数设置栏中设定的串口号、波特率、数据位、停止位、校验位的值,当用户点击“打开串口”后,串口助手能通过选择的参数值,正确的显示实时收集的压力传感器数据值。#region打开串口//////打开串口OpenSerialPor()函数/// protectedvoidOpenSerialPort(){if(cB_PortNum.Text.ToString()!=""){serialPort.PortName=cB_PortNum.Text.ToString().Trim();try{if(!serialPort.IsOpen){serialPort.Open();}lb_PortState.Text=serialPort.PortName+"已打开!";if(cB_BaudRate.Text.ToString()!=""){serialPort.BaudRate=int.Parse(cB_BaudRate.Text.ToString());}if(cB_DataBits.Text.ToString()!=""){serialPort.DataBits=int.Parse(cB_DataBits.Text.ToString());}if(cB_StopBit.Text.ToString()!=""){switch(cB_StopBit.Text.ToString()){case"1":serialPort.StopBits=StopBits.One;//停止位1、1.5、2-33-n智能家居中压力传感器的数据实时采集与存储break;case"1.5":serialPort.StopBits=StopBits.OnePointFive;break;case"2":serialPort.StopBits=StopBits.Two;break;}}if(cB_Parity.Text.ToString()!=""){switch(cB_Parity.Text.ToString()){/*Even、Mark、None、Odd、Space*/case"Even":serialPort.Parity=Parity.Even;break;case"Mark":serialPort.Parity=Parity.Mark;break;case"None":serialPort.Parity=Parity.None;break;case"Odd":serialPort.Parity=Parity.Odd;break;case"Space":serialPort.Parity=Parity.Space;break;}}btn_send.Enabled=true;btn_CloSerPort.Enabled=true;btn_OpeSerPort.Enabled=false;tSSL_state.Text=serialPort.PortName+":"+serialPort.BaudRate+":"+serialPort.DataBits+":"+serialPort.StopBits+":"+serialPort.Parity;}catch(Exceptione2){-33-n智能家居中压力传感器的数据实时采集与存储lb_PortState.Text=e2.Message;tSSL_state.Text=e2.Message;MessageBox.Show("此串口不存在");serialPort.Dispose();}}else{lb_PortState.Text="请选择串口!";MessageBox.Show("请检查此串口");}}图4-3初始界面--压力传感器未连接或未开电源-33-n智能家居中压力传感器的数据实时采集与存储图4-4提示串口不存在图4-5初始界面--压力传感器已连接4.2.2打开串口接收数据及接收数据核心代码-33-n智能家居中压力传感器的数据实时采集与存储通过添加serialPort控件,使用它的serialPort_DataReceived事件响应来接收数据。在这个事件中,接收的数据保存在字节数组buffer中,通过safeAddtrText()函数,将转换的数据显示在界面中,并记录对接收的数据计数。#region串口接收数据事件响应privatevoidserialPort_DataReceived(objectsender,System.IO.Ports.SerialDataReceivedEventArgse){try{byte[]buffer=newbyte[this.serialPort.BytesToRead];if(this.serialPort.BytesToRead>0){this.serialPort.Read(buffer,0,buffer.Length);if(this.cB_Ishex.Checked){stringtxt=Init_File.hextostr(buffer);safeAddtrText(txt);//数据显示在Message和Receive框中receive=txt.Length+receive;this.tSSL_renum.Text=receive.ToString();}if(!this.cB_Ishex.Checked){stringtxt=ConvertByteArrayToString(buffer);safeAddtrText(txt);receive=txt.Length*2+receive;this.tSSL_renum.Text=receive.ToString();}}}catch(Exceptionexp){MessageBox.Show(exp.ToString());}}privatevoidsafeAddtrText(stringtext){if(this.InvokeRequired){_SafeAddtrTextCallcallALL=delegate(strings){tB_recei.AppendText("rn"+s);-33-n智能家居中压力传感器的数据实时采集与存储SetMSG("收到数据:"+s+"rn");};this.Invoke(callALL,text);}else{tB_recei.AppendText("rn"+text);//效果相当于text+=text;SetMSG("收到数据:"+text+"rn");}}protectedvoidSetMSG(stringmsg){ShowMSgDelegateshowmsgDelegate=newShowMSgDelegate(SetmsgDelegateTargetFun);if(tB_message.InvokeRequired){tB_message.BeginInvoke(showmsgDelegate,msg);}else{if(tB_message.Text.Length>1024*512){tB_message.Text=string.Empty;}tB_message.AppendText("rn"+DateTime.Now.ToString("yyyy-MM-ddHH:mm:ss.fff")+":"+msg+"rn");//日期格式化从左至右分别为-年-月-日时:分:秒.毫秒}mutual.WaitOne();//阻止当前线程,直到当前的Mutex收到信号。mutual.ReleaseMutex();//释放一次Mutex}#endregion-33-n智能家居中压力传感器的数据实时采集与存储图4-610进制接收数据图4-710进制数据显示图4-816进制接收数据-33-n智能家居中压力传感器的数据实时采集与存储图4-916进制数据显示4.2.3数据存储及其核心代码串口助手的存储功能用的控件是saveFileDialog,通过这个控件的基本用法实现了当点击“导出文件”按钮后,会弹出“保存导出数据的按钮”,文件会以默认类型.txt格式进行存储,文件名与路径由用户自己决定。//设置栏--存储功能privatevoidbtn_dcfile_Click(objectsender,EventArgse){try{this.saveFileDialog.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";//对话框显示文件筛选器this.saveFileDialog.Title="保存导出数据";this.saveFileDialog.DefaultExt="*.txt";this.saveFileDialog.InitialDirectory=@"f:daochu";if(this.saveFileDialog.ShowDialog()==DialogResult.OK){stringpath=saveFileDialog.FileName;//手动起名stringcontent=this.tB_message.Text;FileStreamfs=newFileStream(path,FileMode.OpenOrCreate,FileAccess.Write);StreamWriterwrite=newStreamWriter(fs);write.Write(content);write.Flush();write.Close();fs.Close();-33-n智能家居中压力传感器的数据实时采集与存储MessageBox.Show("数据成功导出");}}catch(Exceptionexp){MessageBox.Show(exp.ToString());}}图4-10导出文件-33-n智能家居中压力传感器的数据实时采集与存储图4-11保存数据成功4.2.4清除功能图4-12清屏Message、Receive图4-13计数功能图4-14清空计数-33-n智能家居中压力传感器的数据实时采集与存储4.3压力传感器工程核心代码4.3.1UartTX_Send_String()串口发送字符串函数此函数入口参数为数据(data)和数据长度(len),无返回值。函数作用就是将字符串依次发送,U0DBUF有了值以后,硬件就会自动启动发送,无须软件插手,U0DBUF数据发送完成会引发中断标志位UTX0IF置位,软件可通过查询UTX0IF的状态来判断数据是否发送完。voidUartTX_Send_String(char*Data,intlen){intj;for(j=0;j2))UartTX_Send_String(abcdata,16);//显示It'stooheavy!elseUartTX_Send_String(adcdata,8);//串口送数,包括空格0000mg-33-n智能家居中压力传感器的数据实时采集与存储第五章系统实现与测试5.1软件测试表5-1打开串口测试用例测试项目打开串口用例编号01预置条件已设置相应参数测试步骤1、压力传感器与电脑连接且打开电源2、压力传感器未与电脑连接或未打开电源预期结果1、接收数据2、提示“串口未打开”测试结果符合预期结果备注表5-2就收数据测试用例测试项目接收数据用例编号02预置条件压力传感器与电脑连接且打开电源,已设置相应参数测试步骤1、不选中16进制2、选中16进制预期结果1、不选中16进制,则以10进制方式输出,数据是这种方式“0xxxmg”2、选中16进制,则以16进制输出,数据为16位测试结果符合预期结果备注表5-3记录接收数据个数测试用例测试项目记录接收数据个数用例编号03预置条件压力传感器与电脑连接且打开电源,已设置相应参数测试步骤打开串口,软件接收数据预期结果状态栏中实时更新数据个数值-33-n智能家居中压力传感器的数据实时采集与存储测试结果符合预期结果备注5.2运行环境1.操作系统:WindowsXP/Windows732位2.IAR软件:IAREmbeddedWorkbench是一套完整的集成开发工具集合:包括从代码编辑器、工程建立到C/C++编译器、连接器和调试器的各类开发工具。它和各种仿真器、调试器紧密结合,使用户在开发和调试过程中,仅仅使用一种开发环境界面,就可以完成多种微控制器的开发工作。3.MicrosoftVisualStudio:VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。4.C#:C#(CSharp)是微软(Microsoft)为。NETFramework量身订做的程序语言,微软公司在2000年6月发布的一种新的编程语言。C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。5.驱动:ChipconSRF04EB、CP210X驱动程序。-33-n智能家居中压力传感器的数据实时采集与存储参考文献[1]李世荣,智能家居控制系统的设计与实现研究[D],同济大学,2008.[2]昌治安编著,ZigBee网络原理与应用开发[M],北京航空航天大学出版社,2008.[3]瞿雷,刘盛德,胡咸斌编著,ZigBee技术及应用[M],北京航空航天大学出版社,2007.9[4]北京奥尔斯电子科技有限公司,压力传感节点-设计说明v1.04-091217-r.doc.[5]曾超群.VisualC#窗体之间数据传递浅析[J].科技资讯.2009(13)[6]赵军,袁中凡,杨春生.利用VisvalC++下MSComm开发的串口通信软件[J].中国测试技术.2006(06)[7]ZigBeeAlliance.ZigBeeSpecificationVersion1.1[S].2005.[8]ZigBeeAlliance.VersionfortheHome[R].November,2006.[9]TexasInstruments.CC2430_DataSheet.http://www.chipcon.com.[10]吴昊天,张燕林.基于MSComm控件的PC与AVR串口通信实现[J].计算机与数字工程,2010,38(4):82-85.[11]南忠良,孙国新.基于ZigBee技术的智能家居系统设计[J].电子设计工程,2010,18(7):117-119.[12]崔晶晶.基于嵌入式技术智能家庭网络系统的研究与设计[D].湖南大学,2007.[13]马永强,李静强,冯立营.基于ZigBee技术的射频芯片CC2430.单片机及嵌人式系统应用,2007(1).[14]李继武,彭德林,等.C#语言程序设计[M].中国水利水电出版社.[15]李丹妮,刘金辉,姜应战.基于VisualC++的数据采集与处理软件设计与实现[J].微计算机信息.2007(22)[16]夏敏捷,等.VisualC#.NET开发技术原理与实践教程[M].电子工业出版社.[17]余银娟,李翊.VisualC#多线程程序参数传递的实现[J].科技资讯.2008(04)-33-n智能家居中压力传感器的数据实时采集与存储声明本人郑重声明:所呈交的学位论文(毕业设计说明书),是本人在导师指导下,独立进行研究(设计)工作的总结。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。签名:日期:-33-n智能家居中压力传感器的数据实时采集与存储学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。学位论文作者(本人签名):年月日学位论文出版授权书本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。论文密级:□公开□保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议)作者签名:_______导师签名:______________年_____月_____日_______年_____月_____日-33-n智能家居中压力传感器的数据实时采集与存储独创声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。 作者签名:二〇一〇年九月二十日 毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定) 作者签名:二〇一〇年九月二十日-33-n智能家居中压力传感器的数据实时采集与存储致谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。-33-n智能家居中压力传感器的数据实时采集与存储最后,我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。-33-