ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:187.07KB ,
资源ID:3956465      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3956465.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式系统实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统实验报告.docx

1、嵌入式系统实验报告嵌入式系统实验报告公寓环境监测系统实验概述 2实验目的 3实验设计说明 33.1.系统构成及通讯链路 33.2.实验环境 33.3.设计目标 33.4. ZIGBEE节点通讯协议 43.5.软件流程图 53.6.数据结构 6实验问题与解决 74.1.课设中遇到的问题: 74.2.实验中的瑕疵: 8个人感想 8一、 实验概述移动通信网络与无线传感器网络的融合,可把无线传感器网络作为通信网络的延伸网络,为通信网络提供了海量信息来源,并提供了更为丰富的新型业务。基于无线传感网的公寓信息采集系统,实现了温度,湿度,光照信息监测等功能于一体的便捷家居,满足日益增长的便捷居家环境需求。本

2、系统运用无线传感网络,对居家环境信息采集与监测。二、实验目的通过PC、实验箱主板及各无线传感节点构建一个公寓信息监测系统,其结构与功能如下:1.PC机与实验箱主板之间通过RS232接口进行通讯,实验箱主板与各无线传感节点之间分别通过各无线通讯模块进行通讯,2.四个Zigbee无线传感节点模拟四个房间,节点将房间信息传送到PC机。 三、实验设计说明3.1.系统构成及通讯链路系统构成及通讯链路如下图所示3.2.实验环境(1)硬件环境PC机一台,实验箱一个,Zigbee节点4个(2)软件环境WINDOWS 7操作系统,Visual Studio 2010开发环境,C#程序编写3.3.设计目标通过PC

3、、实验箱主板及各无线传感节点构建一个环境监控系统,其结构与功能如下:1、 PC机与实验箱主板之间通过RS232接口进行通讯,实验箱主板与各无线传感节点之间分别通过各无线通讯模块进行通讯。2、 PC机运行监控端软件。3、 实验箱主板作为信息汇总的协调器。4、 四个Zigbee无线传感节点作为检测器分别放在要监测的房间。5、 监控端-协调器-监测点的通信方式如下:图1系统构成及通讯链路3.4. ZIGBEE节点通讯协议无线传感器网络节点要进行相互的数据交流就要有相应的无线网络协议(包括MAC层、路由、网络层、应用层等),传统的无线协议很难适应无线传感器的低花费、低能量、高容错性等的要求,这种情况下

4、,ZigBee协议应运而生。Zigbee的基础是IEEE 802.15.但IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟扩展了IEEE,对其网络层协议和API进行了标准化。Zigbee是一种新兴的短距离、低速率的无线网络技术。主要用于近距离无线连接。它有自己的协议标准,在数千个微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。 ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了R

5、F射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图1给出了这些组件的概况。3.5.软件流程图接收数据开始3.6.数据结构由于对原工程文件中的数据结构理解不是很透彻,为了解决数据解析的问题,我们根据对串口调试工具接收到的十六进制数据进行分析,构造了一套自己的数据结构,这个过程花费的时间比较多。我们对十六进制的分析已经细化到了每一个data所代表的含义,因此我们才能够定义出自己的数据结构。在提交作业的过程中,经老师指点,才发现,与源文件中的数据结构只差一个data,即我们收到的data都是去掉固定首部7E的数据,所以data0从

6、FF开始。详细定义见实验问题分析部分。四、实验问题与解决4.1.课设中遇到的问题:这次课设做的可谓殚精竭虑。过程中我们遇到了各种各样的问题,经过向老师请教、相互讨论与上网搜集资料等方法一一解决,期间收获良多。问题一:我们采用C#语言进行编写,利用C#中的SerialPort 类进行串口通信,经测试可收到一些数据,但均为乱码,不知道数据接收是否正确和完整。解决方案:我们将接收的数据转为16进制数据显示,将其与串口测试程序收到的16进制数据进行比对,发现数据一样没有遗漏。问题二:对收到的数据完全无法解析成我们想要的温度,湿度,光照等有效数据,对数据格式与协议理解完全没有头绪。解决方案:咨询老师后,

7、查看原程序中主板ARM工程中的user_parse.c 文件,仔细查看其数据存储格式,针对数据中的各个关键数据和索引页值进行条件判定,从而做出大的框架进行数据解析。问题三:对问题二虽有了逻辑上的理解,但实施起来并未成功,没有进展。解决方案:无可奈何之下,我们试着将自己程序接收到得数据逐个与user_parse.c里的数据顺序进行比对。赫然发现:从data2开始,我们的数据比起源文件的数据,在data 数组里的位置总是多1。 比如:源文件中data2代表节点类型,但我们接到的数据中data3才代表节点类型,data0与data1为固定首部“7E”“FF”,data2始终为“01”,意义不明但明显

8、不具备表示节点类型的功能。 因此我们接到的数据存储结构详细意义为(以我们接受的路由器节点为例):data0=7E /固定首部data1=FF /固定首部data2= 01 /意义不明data3=02 /节点类型data4 data11 /路由器的物理地址data12data13 /路由器的网络地址 data14data23 /意义不明data24 /节点中的传感器个数(共8个传感器,但我们只需其中四个)data25 /甲类传感器标识,index索引页初值data26data29 /甲类传感器对应的数值,四字节16进制表示的浮点数data30 /乙类传感器标识data31data34 /乙类传感

9、器对应的数值,四字节16进制标识的浮点数data35 /丙类传感器标识data36data39 /丙类传感器对应的数值,四字节16进制标识的浮点数data40 /丁类传感器标识data41data44 /丁类传感器对应的数值,四字节16进制标识的浮点数data45 /戊类传感器标识data46data49 /戊类传感器对应的数值,四字节16进制标识的浮点数&注意: 虽然节点中的传感器个数共8个,但我们接收到的数据中只有五类传感器的数值。本例中的房屋信息采集系统采用了其中除“有无震动”外的四种传感器数据。问题四:虽然已找到节点中传感器在data中的对应标识位,但对其后的4字节16进制表示的浮点数

10、总是解码错误,得出不符合液晶显示板上的数值。解决方案:在这个问题上前后花费了数个小时的时间,一度让我们的实验进度停滞不前,陷入窘境。而且在源程序中也找不到对应的转换方式(源程序采用联合体,不知怎么就得出了正确的浮点数值)。就在一个偶然的情况下,我们想到,会不会是这四个16进制字节排列的顺序原因,抱着试一试的心态,将收到的对应传感器数值的四个字节,从尾到头排列进行浮点数转换,居然得出了正确的与液晶显示屏相符的数值!4.2.实验中的瑕疵:程序如今已可正确接收传感网传来的数据,并显示在相应地点,准确测量各房间温度,湿度及光照等信息,但还是有很小的概率会解码出错误数值,原因不明,猜想可能是因为串口通信

11、质量问题出现了数据断层,漏接现象,导致解析出错误的数值。5、个人感想这次嵌入式的课设,从方案提出到最终的实现,可谓经历了重重的困难,回首整个课设的制作过程,还是有许多可讨论之处。方案提出这一环节我觉得其实是这一开发过程中较难的一个环节,因为它涉及到一个可行性的问题,万一最后实现不了,再另起方案,损失肯定是无法弥补的。 其次,就我们的方案而言,涉及到两个重要方面,一个是串口通信,在此基础上就是协议的解读。其中,协议的解读最重要,由于我们对协议中数据结构的一些问题认识不够深入,结果导致我们走了很多弯路,比如说,在接收串口数据时候,我们没有意识到次序问题,把数据倒过来读了,结果输出数据完全对不上号,

12、花费了多个小时,终于找出原因所在,虽然这花费了我们更多的时间,但也未必是件坏事,在解决这个问题的过程中,我们在网络上搜集各种资料,从中收获了许多知识,这比起一路顺顺利利地做完,要收获得更多!整个制作过程大概花费了四五个晚上,包括白天的一些时间,一直都是在修改再测试。虽然辛苦,但确实收获颇多。其中,遇到了问题,就去图书馆查阅书籍,网上搜索,或者请教老师,在这个过程中,收获很大。对嵌入式这门课程而言,我们所学习到的仅仅只是些皮毛而已,而且还没有掌握很好,只是知道个大概。经过在实验室的多次实验,也只是对传感器、传感网等有了一些初步的认识,真正的嵌入式编程,我们基本没有涉及,更别说去独立开发一些工程!最近一些招聘面试,经常会问到嵌入式编程这一块,应对起来还是力不从心,还有很多要学习的东西。而且,现在的科技设备越来越倾向于移动化,智能化,网络化,愈来愈多地要在嵌入式平台上开发产品,所以,我们要走的路还很长,要学习的东西还有很多!

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

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