计算机专业 基于smartsnail开发板的温湿度传感器_第1页
计算机专业 基于smartsnail开发板的温湿度传感器_第2页
计算机专业 基于smartsnail开发板的温湿度传感器_第3页
计算机专业 基于smartsnail开发板的温湿度传感器_第4页
计算机专业 基于smartsnail开发板的温湿度传感器_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于smarsnail开发板的温湿度基于smarsnail开发板的温湿度摘 要摘要:无线传感器网络(WSN)是一个智能、独立的测量和控制网络系统,它可以执行特定于环境的任务,由许多小型传感器节点组成,具有通信和计算能力,这些节点位于无人监视的监视区域内许多传感器节点可以通过它们之间的分工,实时检测、监视和收集分布区内受监视对象或环境的信息。无线传感器网络的技术要求与传统网络大不相同,前者侧重于数据,后者侧重于数据传输。smart nail技术源于传感器网络技术的逐渐发展及其应用范围的扩大,以及对低功耗、低成本和更易于使用的无线传感器网络的需求。smart nail是一种短距离无线双向通信技术,

2、具有简单协议、低功耗、高联网能力、高网络容量、短时间、安全性、可靠性和低成本等特性预计它将广泛应用于大众电子、家庭情报、工业控制、医疗设备控制和农业自动化等领域。本文首先介绍了无线传感器网络的基本知识和研究现状;随后对smart nail协议进行了深入分析,并确定了每个级别的功能;随后,设计了smart nail节点模块和温度湿度检测模块,并根据这些硬件设计了具有基本功能的smart snail协议堆栈,提出了一种基于smart nail的网络算法。本文在此基础上设计了一个小型温湿度监测网络系统。最后总结论文并提出今后研究的方向。关键字:smartsnail;温湿度传感器;无线通信;无线温湿度

3、传感器系统AbstractAbstract:Wireless sensor networks (Wireless Sensor Network, WSN) is composed of a large number of ubiquitous,tiny sensor nodes have the ability to communicate with the intensive computing laid in the monitored area unattended constituted able to complete the assigned tasks independently

4、 according to the environment "smart" autonomy and control network system. A large number of sensor nodes through the division of labor between them, real-time sensing, monitoring and gathering information on the distribution area of the object or the surrounding environment. Wireless sens

5、or networks and traditional networks have distinct technical requirements , the former data-centric , the latter for the purpose of transferring data . With the gradual development of sensor network technology, its applications are increasingly widespread , wireless sensor networks are also required

6、 to have a smaller power consumption, cost, and performance is more convenient to use, in this case , smartsnail technology to be shipped born.Smartsnail technology is a short -range wireless two-way communication technology that has the protocol is simple , low power consumption, strong networking

7、capabilities, network capacity, time is short , safe, reliable and low cost, with a path selection, automatic link networks and self-recovery capabilities. It is expected to be widely used in consumer electronic devices, intelligent home , industrial , medical equipment control , automation , and ot

8、her fields of agriculture.This paper introduces the basic knowledge and research of wireless sensor networks ; and in-depth analysis of the smartsnail protocol , given the function of each layer ; then designed smartsnail node module temperature and humidity sensor module , and is designed on the ba

9、sis of this hardware the smartsnail protocol stack has the basic functions , while networking algorithm is proposed based on smartsnail , by scanning channel , networking and the establishment of three steps associated nodes to build a simple network layer , to achieve a wireless sensor network func

10、tion ; on this basis, we design a small temperature and humidity monitoring network system ; Finally, the paper summarizes the proposed future research directions.Key words:smartsnail;Wireless Temperature And Humidity Seneor System;Wireless Communication目录第一章 绪论41.1.课题的提出和意义41.1.1课题的提出41.1.2课题的意义41.

11、2.本课题主要研究内容51.3 论文结构5第二章 整体方案设计62.1.方案设计架构62.2.传感器的选择62.3.1 smartsnail主要特性72.3.2smartsnail网络拓扑结构72.2.3smartsnail网络工作模式82.2.4主要功能82.3程序的编写及验证102.3.1温湿度监测点主程序设计102.3.2温湿度读取程序设计102.4手机与模块的互联12第三章 硬件设计123.1ESP8266核心最小系统123.2.温湿度传感器123.3.OLED显示屏15第四章 软件设计164.1.编译语言和编译思想164.2软件设计17第五章 软硬件的调试195.1.硬件的调试195

12、.1.1 静态调试195.1.2 动态调试195.2.软件系统的导入195.2.1 监测点调试软件说明205.2.2 温湿度监测节点和汇聚点程序的调试205.2.3 上位机程序的调试205.3.软硬件总体的调试245.3.1 通信成功率测试245.3.2 温湿度数据偏差测试24第六章 总结24致谢26参考文献27第一章 绪论1.1.课题的提出和意义1.1.1课题的提出无线传感器网络是一个智能自主测量和控制网络系统,它能够执行特定的环境任务,由遍布各地的大量具有通信和计算能力的小型传感器节点组成,这些节点被密集地放置在无人监视的监视区内。传感器网络根据smart snail联盟目前的设计,根据该

13、标准生产的相关产品和技术主要应用于智能家居(照明控制、窗帘类型控制、房屋安全、供暖控制、内置家居控制解码器、通用遥控器)、环境检测和控制 工业和房地产自动化、安全监控、工业控制、传感器控制、停车场发票数据传输等。1.1.2课题的意义无线传感器网络由许多具有相同或不同功能的无线传感器节点组成,每个节点包括一个数据采集模块(传感器、a/d转换器)、一个数据处理和控制模块(微处理器、存储器)、一个通信模块(无线发射器-接收器)和一个电源模块(电池、能量转换器)无线传感器网络的组成和使用决定了它必须具有以下特性:(1)低功耗无线传感器网络长期无人值守,与蓝牙等现有无线网络节点相比,网络节点的平均功耗更

14、低。在某些工业监测应用中,装有钮扣电池的传感器必须在几个月甚至几年内不受监测地工作。(2)低成本无线传感器网络包含数千个节点,单节点价格可能会对系统成本产生重大影响。为了降低成本,需要设计简单的网络系统和通信协议,从而降低计算和存储需求。(3)平凡化无线传感器网络的许多应用,如无线行李信号板和集装箱定位系统,都要求这些系统在全球范围内运行。此外,还需要一个全球系统来提高产量和开放市场。(4)网络拓扑经典星形结构包含一个主节点和一个或多个从属节点。通信时,父节点和从属节点可以直接通信,节点之间的通信必须通过父节点进行。星形结构适用于某些较小的网络。(5)安全在某些应用程序中,网络安全性是必需的。

15、无线传感器网络系统资源紧张,需要设计低成本通信协议,但也带来严重的安全问题。一方面,入侵者更容易通过拒绝服务(dos)进行攻击;另一方面,由于无线传感器网络系统资源有限以及节点之间的自主协调,很难实现严格的安全保护。由于成本低,一些无线传感器网络系统只能使用单频通信机制。(6)实时实时可用性是需要协作的无线传感器网络的关键机制。如果移动车辆的速度测量需要计算不同传感器之间的时间差异以检测事件,则声音源位置节点之间的时间同步由线束网络确定。提出了若干时间同步机制,其中RBS、tiny/mini-sync和tpsn被视为三种基本同步机制。(7)情报无线传感器网络系统有组织地执行用户定义的任务。系统

16、必须考虑到环境的变化,并通过节点间的协作生成所需的输出。由于不需要人工干预工作流程,因此网络节点根据感知到的信息协同工作的方式反映了系统的智能。1.2.本课题主要研究内容本文档的目的是从一个协调员和多个路由器和端点创建smart nail网络。smart nail协议软件是根据smart nail v 1.0和IEEE 802 . 15 . 4标准开发的,以满足测量环境温度和湿度的要求。该条的主要任务如下:(1)分析IEEE 802 . 15 . 4和smart nail协议,了解smart nail技术的特点和通信原理,详细分析smart snail协议堆栈框架,并设计和编写具有核心组网络、

17、数据传输等功能的协议堆栈。(2)根据节点的物理特性,选择合适的无线微处理器和传输芯片,形成无线传感器网络节点,包括电路连接、相应的外围电路设计、射频电路设计、温湿度传感器节点设计等。(3)温湿度测量软件、模拟过程描述和全网络测试均可实现预定功能,达到预定性能指标。1.3 论文结构本文主要研究了无线传感网络的特点、结构,分析了smartsnail协议的架构,各层规范及数据格式,在此基础上使用ESP8266 微控制器以及温湿度传感器等外围模块搭建节点,设计与实现了在此硬件基础之上的smartsnail协议栈,并进行了相关的测试。第二章 整体方案设计2.1.方案设计架构采用乐鑫ESP8266 作为控

18、制核心并肩负无线数据收发。无线温湿度监测系统由温湿度监测点和汇聚点组成。温湿度监测点的作用是检测温湿度,并将温湿度数据发送给汇聚点。它由无线收发控制、传感器模块、存储模块构成。汇聚点的作用是接收监测点的温湿度数据,并将数据通过 RS232 串行接口传送到 PC 机。它由无线收发控制、存储模块、MAX3232 构成。 乐鑫ESP8266 是系统的核心,乐鑫ESP8266 为工作在 430/868/915Mhz 频段的高性能单片式无线收发芯片,内置高性能增强型 51 单片机(4 clock),内带 4 路 ADC 12bit 高速采样,单片机全速运行功耗 1mA4M。 乐鑫ESP8266 模块工作

19、在 1.93.6V 低电压工作,待机功耗2uA,全部高频元件集成;最大发射功率+10dBm,高抗干扰 GFSK 调制,速率 100kbps,独特的载波监测输出,避免无线通信碰撞;地址匹配输出,易于点对多点无线通信设计;就绪输出,便于节能设计,满足低功耗设计。 对于 乐鑫ESP8266 而言,其最大的优点是具有载波检测功能。 其系统原理框图如图 2.1所示。 图2.12.2.传感器的选择温湿度传感器采用am 2301。传感器包括负温度因子的热阻测温元件(NTP)和电容湿元件,并连接到高性能的8位单片机。其独特的单线串行接口使系统集成变得简单快捷。传感器体积小,能耗低。盘柜用于存储用户程序。lex

20、in esp 8266的主程序存储在外部串行EEPROM中。当内核开始通电时,外部EEPROM中的固定制造商主程序将通过SPI接口(4 kb空间,主程序没有空间可用作片内的ram)导入lexin esp 8266 ram,然后用于逻辑级别转换的最大值3232。微处理器通过RS232通信将温度和湿度数据传输到上层机器的应用程序,以进行数据处理和显示。2.3.Smartsnail开发板功能2.3.1 smartsnail主要特性smart nail具有低速度、低功耗、低成本、自动配置和灵活的网络拓扑。(1)低功耗:在低功耗睡眠模式下,干电池2节5可支持一个节点6至24个月或更长时间。这对于smar

21、t snail来说是一项重要的优势,相比之下,蓝牙技术可运行数周,而wifi技术可运行数小时。(2)低成本:通过大大简化协议(不到蓝牙的十分之一),减少通信控制器需求,根据预测性分析测量8051的8位微控制器,完全正常运行的主节点需要32 kb代码,辅助节点不到4 kb,smart snail不需要额外开销(3)低速:smart nail运行速度低于20-250 kbps,分别提供250 kbps(2.4 GHz)、40 kbps(915 MHz)和20 kbps(868 MHz)的原始数据速率,以满足低速数据传输应用要求。(4)近距离:传输范围通常在10米至100米之间。射频发射功率增加后,

22、可以增加到1 3公里,这意味着邻居之间的距离。如果使用节点之间的路由和通信中继,传输距离可能会更长。2.3.2smartsnail网络拓扑结构smartsnail协议主要采用了二种组网方式:星状网和网状网,网络拓扑结构如图2-1所示:图2-1 smartsnail二种拓扑结构在以pan协调员为中心的星型网络中,所有设备只能与中心设备的pan协调员进行通信,并且终端设备之间的通信是通过传递pan协调员来完成的,因此形成星型网络的第一步是创建pan协调员。2.2.3smartsnail网络工作模式smart snail网络可分为两种模式:信标(beacon)和非信标(beacon)。标志模式允许网

23、络上的所有设备进行同步和同步睡眠,以最大限度地减少功耗;非标志模式只允许对终端设备进行定期睡眠。协调员和所有路由设备必须长时间运行。2.2.4主要功能IEEE 802 . 15 . 4物理层主要执行以下任务:打开和关闭发射器-无线接收器、电源检测(ed)、链路质量(lqi)、信道评估(CCA)以及通过物理介质发送和接收数据包。表2-1 IEEE802.15.4的扩频和调制参数物理层工作频率(Mhz)频道数扩频参数传输参数码片率(kchip/s)调制方式传输率(kb/s)数据符号868Mhz物理层868-868.61300三相的相位健控调制(BPSK)20二进制915Mhz物理层902-9281

24、0600二相的相移控件调制(BPSK)40二进制2.4G物理层2400-2483.5162000偏移四相相移控件调制(BPSK)25016 状态组IEEE 802 . 15 . 4物理层将总共27个信道划分为3个频带,范围从0到26。2450 MHz频段有16个频道,915 MHz频段有10个频道,868 MHz频段有1个频道,中央频率和相应的27个频道编号的定义见式2.1。 (2.1)式中k指的是信道号,Fc的单位为MHz。物理层通过固件和无线电硬件提供MAC层和物理无线通道之间的接口。在概念上,物理层还应包括物理层管理实体(plme),以提供调用物理层管理功能的管理服务接口;plme还负责

25、管理物理层泛信息数据库(phypip)。物理层参考模型如图2-3所示。图2-3 物理层参考模型物理层协议(ppdu)数据单元由三部分组成:同步头(SHR)允许接收设备同步和锁定数据流;物理层图像头(phr)包含有关图像长度的信息。有效载荷部分为psdu,其格式见表2-2表2-2 PPDU格式字节数:411可变长度引导序列帧开始符帧长(7位)预留(1位)物理层服务数据单元(PSDU)同步头(SHR)物理层帧头(PHR)物理层有效载荷2.3程序的编写及验证2.3.1温湿度监测点主程序设计 根据温湿度监测点程序流程,对温湿度监测点主程序进行程序编写,源代码如下: void main(void) In

26、it(); LED= 0; Delayms(10); LED = 1; /熄灭 LED while(1) RH();/调用温湿度读取子程序 For(i=0;i+;i<9) TXEN = 1; Transmitter(stri); NRF9E5 数据发送 TXEN=0; Receive Packet(); 2.3.2温湿度读取程序设计 温湿度采集程序源代码如下: void RH(void) P0_ALT &= 0x7F; /设置 P0.7 为通用 IO 口 P0_DIR &=0x7F; /设置 P0.7 为输出 P07=0; /主机拉低 5ms Delayms(5); P0

27、7=1; Delay10us(4); /AM2301 DATA 总线由上拉电阻拉高 主机延时 40us P0_DIR |=0x80; /设置 P0.7 为输入 if(!P07) /判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 U8FLAG=2; while(!P07)&&U8FLAG+);/判断从机是否发出 80us 的低电平响应信号是否结束 U8FLAG=2; while(P07)&&U8FLAG+);/判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 COM();/数据接收状态 U8RH_data_H_temp=U8comdat

28、a; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; P07=1; U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); /数据校验 if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=

29、U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; 2.3.3汇聚点主程序设计 串口初始化程序如下,当晶振频率 16MHz 时本设计的串口波特率 19200。 void uart_init(void) TH1 = 0xE6; / 960016MHz (当 T1M=1 and SMOD=1) CKCON |= 0x30; / T1M=1 (timer clock/4) PCON = 0x80; / SMOD=1 (波特率加倍) SCON =

30、0x52; /串口模式, 使能接收 TMOD = 0x20; / Timer1 8 位自动重装 TR1 = 1; / 启动 timer1 P0_ALT = 0x06; / 选择 P0.1 和 P0.2 的第二功能,即串行接口 P0_DIR = 0xAA; / P0.1 (RxD) 输入 下面是串口发送 1Byte 程序: void PutChar(char c) while(!TI) ; /等待直到串口发送结束 TI = 0; /清除中断标志位 SBUF = c; /发送一个字节 下面是串口发送字符串程序: void PutString(const char *s) while(*s != 0

31、) PutChar(*s+); 2.4手机与模块的互联SyncML(SynchronizatfonMarkuPLanguage,同步标记语言),是一种开放性工业设计规范,是由国际标准化组织 OMA(Open Mobile Alliance)制定的国际工业标准。它是一组以映射表示核心各数据源独立维护更新记录不限定冲突处理机制,对数据模式,传输技术和具体实现中立的通用同步协议。可以让用户在不同的终端设备上(如手机,PDA)记录的数据能够进行数据更新与同步。 开发 SyncML 的目的就在于使终端设备开发商,基础设施开发商,数字内容提供商,应用软件开发商和最终用户一起协同工作,实现在所有的终端设备上

32、都可以不受平台限制地自由任意访问网络上的信息和数据,是一种唯一的行业通用的数据同步协议。第3章 硬件设计3.1ESP8266核心最小系统选用的是ESP8266 12E功能模组,最小系统板的制作很简单,基本上就是从模组上引出IO就可以了,首先查看使用模组的手册查看IO口的顺序,引出来的IO口应该就是以下几个:RST(不是必须)、EN、IO0、IO15、IO2、VCC、GND。但是实际使用中IO2的高低电平并不影响下载和启动,需要注意的是ESP8266对电源的要求很高,用USB转TTL的下载器直接供电,有的时候启动不起来,可以直接用两节干电池进行单独供电,同时使能EN引脚。3.2.温湿度传感器 调

33、试接口运行专用的双线程串行接口来调试内部电路。此调试界面用于清除整个闪存、控制允许的振荡器、停止和启动用户程序、执行8051内核提供的指令、设置代码断点以及一步调试内核中的所有指令。这些技术有助于正确调整内部电路和编程外部闪存。设备包含用于存储程序代码的闪存。闪存存储可以使用用户软件和调试界面进行编程。flash控制器可管理嵌入式flash存储的写入和清除。flash控制器允许清除页面和4字节编程。MAC计时器(计时器2)专为支援IEEE 802 . 15 . 4 MAC位址或软体中的其他时间位置而设计。定时器具有一个可配置的循环和一个8位溢出计数器,用于保持跟踪的循环数。16位捕获日志还用于

34、记录发送或完成传输的起始图像描述符的确切时间,16位输出比较日志可以生成不同的常规选择命令(起始rx、起始tx等)。)到无线模块。随机数生成器使用16位LFSR生成可由CPU读取或直接由选定的常规命令管理器使用的伪随机数。例如,为了安全起见,可以使用随机数生成随机密钥。AES加密核心可让使用者使用128位元金钥的AES加密和解密资料。此内核支持IEEE 802 . 15 . 4 MAC安全性、smart snail网络层和应用层所需的AES操作。内置的监视犬使esp 8266能够在固件挂起时进行重置。当软件激活计时器时,应定期清洗;否则,设备将在超时后重置。也可以将其设置为32 khz常规计时

35、器。ESP8266 内置温度传感器为模拟温度传感器,测量内置温度传感器温度计算方法。如表3-1所示:表3-1 ESP8266 温度传感器的运算方法参数测试条件最小 典型 最大单位在25输出使用集成ADC测量,(使用内部带隙基准电压参考和最大分辨率)148012位ADC温度系数4.5/10电压系数1/0.1V未校准的初始精度±10使用1点校准的精度(整个温度范围)±5使能对的电流消耗(不包括ADC电流)0.5mA通过把ESP8266 射频芯片、电感、电阻、晶振、电容和天线集成在一起组成射频模块电路,如图3-3所示:图3-3 ESP8266 射频模块电路图射频模块在信号发射时,

36、通过设置频率和模式等参数,将用户输入的数字信号传输到esp 8266芯片,esp 8266芯片本身具有a/d转换功能,用户输入的数字信号被转换为模拟信号,最终由天线在接收时发送 天线根据预定频率接收节点的模拟信号,并通过芯片模块转换将其传递给用户。(1)将esp 8266射频模块连接到主控制电路。射频模块通过22针连接主控制电路,如P1 _ o 7、po _ 0 7、p2 _ 0 2和reset _ n、vdd、gnd等。从esp 8266获得射频模块3v电源,并能实现射频模块发射接收信号到主控制电路的传输。如图3-4所示:图3-4 与主控电路连接的ESP8266 引脚示意图(2)无线传感器网

37、络各节点要求实现互连,通过天线收发信号。天线(antenna)是一种转换器,它将在输电线路上传播的制导波转换为在不受限制的介质(通常在自由空间)上传播的电磁波,或反之。(3)晶体振动电路。晶体振动电路的目的是为单片机正常工作提供稳定的时钟信号。射频模块具有32 MHz和32.768 khz晶体振荡。32m Hz晶体振动电路包括32m Hz x1振荡器和两个27pf负载电容(c17和C18)。32.768 khz晶体振动电路包括32.768 khz x2晶体振动和两个15pf负载电容器(c19和C20),用于睡眠功耗极低和闹钟精确的应用。3.3.OLED显示屏OLED(organic light

38、 emission display)是OLED手机上的新产品,被称为梦显示。与传统液晶显示器不同,OLED显示技术不需要背光,它使用非常薄的有机涂层和玻璃底座,在有电流时会发光。此外,OLED显示器可以更轻、更薄,视角更广,能耗更低。与传统液晶显示器不同,OLED显示技术不需要背光,它使用非常薄的有机涂层和玻璃底座,在有电流时会发光。此外,OLED显示器可以更轻、更薄,视角更广,能耗更低。第4章 软件设计通过向聚合节点发出建立无线网络的指令,传感器节点随后被添加到网络中,并最终在每个传感器节点和聚合节点之间进行无线传输。esp 8266芯片中有一个温度传感器,本课题研究温度的应用来监测环境。传

39、感器节点将RF模块收集和处理的温度信息传输到聚合节点,然后聚合节点通过串行端口连接计算机,直接将信息传输给用户。esp 8266芯片程序是使用IAR嵌入式工作台软件开发的。交叉c/c+编译器和IAR embedded work bench调试器(ew)是世界上最全面、最易于使用的专业嵌入式开发工具。ew为不同的微处理器提供了相同的直观用户界面。该软件能够编译c/c+和编译语言应用程序,并实现嵌入式系统开发调试软件,IAR软件包括管理器、编译器、调试器等功能。,以满足本文档中的要求。此外,smart RF flash programmer程序可下载到esp 8266芯片上,以实现该程序的功能。4

40、.1.编译语言和编译思想在设计软件时,系统要有完善的思路,充分考虑到不同传感器和发射机无线接收机之间的时序问题,不仅要使程序简单,而且要尽量降低无线数据传输中的编码误差,提高对干扰的抗御能力本系统的温湿度监测点和收敛点软件编程为C5-1,在楔环境下运行。wedge是51台单片机的标准集成开发环境。可以编译软件(ASR十六进制编译),也可以使用仿真模块进行硬件仿真。为了便于操作过程中的双向信号管理,软件采用实时操作系统rt 51。rt 51是德国楔体为MCS 5单核系列开发的实时多任务操作系统,可简化复杂软件的设计并缩短项目周期。此系统的顶层计算机(PC端)软件是以visual basic 6.

41、0(VB 6.0)编写的,VB 6.0提供的开发环境与windows 9x、windows nt 4.0或windows 2000完全兼容,因此易于使用。它的代码效率达到了c+视觉水平。在面向对象的编程方面,VB版本6.0支持面向对象的编程,包括数据抽象、封装、对象和属性、类和成员、继承和多态性。visual basic 6.0允许开发人员创建驻留在客户端或服务器上或在n层分布式环境中运行的强大应用程序。visual basic 6.0是一种快速应用程序开发工具,可用作单独的产品,也可以是visual studio 6.0软件包的一部分。4.2软件设计无线传感器网络包括聚合节点和传感器节点。聚

42、合节点负责建立网络(网络构建后充当路由),传感器节点只能发送和接收数据。建立网络后,子节点、父节点不再存在,聚合节点的网络构建功能完成,节点像网关和PC一样进行通信。打开聚合节点后,将形成网络,其他节点将自动发现并连接到网络。图4-1 汇聚节点程序流程图图4-2 传感器节点程序流程图要创建的网络包括一个聚合节点和两个传感器节点。第一步是收集节点以初始化功能程序,如串行端口和网络操作系统。第二步是扫描IEEE 802 . 15 . 4 2.4 GHz频带中的通道,并扫描其中16个通道中的非活动通道以建立新网络。最后,分析自由通道后,通过调用函数创建阵列。应用程序使用clkconcmd、sleep

43、 cmd、per CFG、uocsr、uogcr、uobaud、clk consta、ieno、uodub、ADC cc onl、ADC con 3、ADC ch、ADC l等注册表运行。协调员完成网络创建后,您可以打开终端传感器节点加入网络。创建网络后,传感器节点可以打开并加入创建的网络。初始化节点的操作系统和串行端口后,您可以通过启动网络连接请求来加入网络,然后连接传感器节点和聚合节点。第五章 软硬件的调试5.1.硬件的调试5.1.1 静态调试 当电路板加工好以后,对电路板进行仔细检查,看看是否有无断裂,过桥或其它不可靠之处,尤其是集成电路引线与焊盘之间的走线,很容易与焊盘短路,这些都需要

44、认真检查,一旦焊上,再排除这些故障就比较困难。在元器件的插座焊接到电路板以后,同样要查看焊接是否牢固,有无虚焊或与其它短路。 在完成以上叙述的工作后,可用万用表检查电路板,看一看应该开路的地方是否开路,应该短路的地方是否短路,地线,电源线是否已经接好。焊上插座以后,不插元器件,测量电源到地是否有短路现象。加上电源电压,测量该有电的地方是否有电,如果有异常,找出错误原因。然后将芯片插到电路板上去,对电路板焊接。 5.1.2 动态调试 在做好上叙述的工作后,就对电路进行动态分析,把程序加载进去。观察动态测试及温湿度监测节点和汇聚点数据通信情况,是否能够达到系统的目的。这一步是本次设计重中之重的一点

45、,它关系着系统最后是否实现题目的要求。 5.2.软件系统的导入编写好各个子程序和主程序后,就要对程序进行调试。温湿度监测节点和汇聚点程序的调试是在 Keil 软件中进行的。对于单独的程序调试,只能检测出语法错误,而对程序所要实现的功能还是没办法检测出。上位机的程序调试是在 VB6.0 中进行的。 5.2.1 监测点调试软件说明wedge是由wedge software在美国生产的51系列单芯片c语言软件开发系统。它提供c语言编译和编写环境,检查编写程序中的语法错误,并就错误的位置提供建议。它为用户提供了大量的库功能和强大的集成开发和调试工具、可在编译后生成的编译代码、高度有效的键51生成的目标

46、代码以及非常紧凑且大多数指令都易于理解的编译代码。最重要的是,它可以与Proteus结合使用,以模拟程序并查看它是否产生预期的结果。5.2.2 温湿度监测节点和汇聚点程序的调试 在编写好各子程序后,把各子程序和主程序放在一起,共同放在 Keil 软件中进行调试。这也没有多大难度。经常出现的问题是,由于程序比较多,所以会在分支程序中使用一些相同的分支名称,例如:多次使用 NEXT 一词。这些问题都比较简单,但在调试时一般都会出现这种问题。 总体来说,单独的程序调试,不会有太大的麻烦。但在软件设计中,最大的工作量还是程序的编写设计,而程序和硬件的结合仿真能否实现自己所要达到的目的,这才是设计的难点

47、和重点。 5.2.3 上位机程序的调试 程序中的典型错误类型 A 类:语法错误。 B 类:编译错误。 C 类:属性设置错误。 D 类:逻辑错误。 调试方法 方法一:利用“MSDN 帮助菜单” “MSDN 帮助菜单”是一个很好的自学工具,对于出现调试对话框的菜单来说,可以按下“帮助”按钮查看错误原因。 对于一些不是很清楚的函数格式、保留字的作用,也可以借助“帮助菜单”。 方法二:逐过程检查 主要检查代码是否写对,位置有没有错误,关键是要确定一段代码是在哪个事件控制下的。 不妨先在脑海中把整个程序过一边,想一想究竟会有哪些事件发生(有些事件是人机互动的,例如:鼠标点击;而有些是机器自己执行的,这时

48、要想到计时器的作用);然后想一想每一件事发生后有什么效果。我们代码所编写的一般就是事件发生后的这个效果,那么以此事件来决定代码所写的位置。 方法三:逐语句检查(顺序、语义) 主要检查每一句代码的顺序是否写对,语义是否正确。 把整个代码从头至尾地读一边,仔细思索每一段子过程什么时候执行,以及每一子过程中的每一句代码什么时候发生,必要时可以在程序段中插入 Print 语句分段查看;也可用注释语句的方法加“”或“rem”进行调试。 方法四:属性设置检查 通过观察现象来判断。可以先检查常见的几种错误。例如: 运行时找不到窗体或控件,则可以判断有 form 或其他控件的“visible”属性被设为“fa

49、lse”;对于控件,也可能是其层次关系有错误。 对象在窗体界面上成隐性,则可以判断程序运行前有“Enabled”属性被设置为false”。 如果无法产生动画效果,首先要检查计时器 timer 的“Enabled”和“Interval”属性的设置。 其中,有些错误是同学在修改属性时不经意所犯的错误,如把对象的某些行为属性修改了,使之在程序运行时无效。 针对这样的错误,可以添加一个同样的新控件,把这两个控件的属性进行对比,便可查出哪一个被改过了。 方法五:设计测试程序数据 对于运用数据量较大的程序,可以给出一组测试数据来进行调试,这些数据应覆盖程序中可能出现的所有情况。每组数据被输入后,程序的输出

50、结果都应该正确,如果其中一组数据输入后不对,则说明程序中存在错误。 方法六:用“单步跟踪方法”调试 单击集成开发环境的视图菜单,移动光标到工具栏子菜单,再移动光标到“调试”,屏幕上显示调试工具栏。 把鼠标指针移到“逐语句”按钮,单击该按钮,启动程序。 屏幕上显示程序窗体,单击该程序窗体,屏幕上显示代码窗口 代码窗口中的黄色光标条指示下一条要执行的语句。不断单击调试工具栏上的逐语句按钮,程序就一条一条语句的执行。 通过单步跟踪可以看到,程序中是否所有的分支语句都被执行到。 方法七:用“监视表达式值方法”调试 这是通过判断关系表达值的真假,逐句检测程序的调试方法。 在代码窗口中选择关系表达式。 单

51、击调试工具栏上的快速监视按钮,把所选的关系表达式添加到监视窗口中。 单击调试工具栏上的逐语句按钮,启动程序单步运行。 单击调试工具栏上的“监视窗口”按钮,打开监视窗口,从监视窗口中可以检查变量及表达式的值的对错。 方法八:使用“立即窗口”和 Stop 语句调试 适用于在循环语句中判断每次循环的正确与否。 温度和湿度监控节点每2秒收集一次数据,在处理数据之前,个人计算机会收到数据的完整图像。如果个人计算机可以在接收下一帧中的数据之前处理数据,则接收缓冲区中只有一个数据帧,最多只有两个数据帧,接收缓冲区的大小不会影响实时监视效果(“接收缓冲区”)4字节),然后可以进行实时监视或控制;如果个人计算机

52、无法处理数据,则在数据处理完成之前,接收缓冲区中存在两个以上的数据图像,并且工作时间越长,缓冲区被阻塞的时间就越长,并且数据收集和之间的时间间隔也越长当接收缓冲区已满时,时间延迟不再增加,而是固定为某个值,并且无法在接收缓冲区中及时收集某些数据。发生数据丢失时,个人计算机的实际工作情况和处理结果可能会造成很大的时间延迟,不利于实时监控和控制。在这种情况下,接收缓冲区的大小可能会影响实时监视效果。因此,接收缓冲区配置不能太大而无法保证数据处理的实时外观。5.3.软硬件总体的调试本系统主要做了两个测试,一是通信的成功率测试,另一个是温湿度数据偏差测试。 5.3.1 通信成功率测试 测试结果见表 5.1。 5.3.2 温湿度数据偏差测试 测量值比对数据如图 5.1 所示。 由图 5.1 测量温湿度数据表明测量温湿度数据与当前环境温湿度偏差较小,温度绝对偏差最大为 0.09,湿度绝对偏差最大为 2.8 %RH,测量结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论