基于smarsnail开发板的温湿度(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
随着传感器网络技术的逐步发展,它的应用也越来越广泛,无线传感器网络也被要求有更小功耗,更低成本,以及更方便使用的性能,在这种情况下,smartsnail技术应运而生。乐鑫ESP8266 的主程序存放在外部的串行 EEPROM 中,当芯开始上电时,其内部固化的厂家引导程序通过 SPI 接口,将外部 EEPROM 中的主程序导入 乐鑫ESP8266 的 RAM 中(4K 字节空间,没有被主程序占用的可
摘 要
摘要:无线传感器网络(Wireless Sensor Network,WSN)是由大量无处不在的,具有通信与计算能力的微小传感器节点密集布设在无人值守的监控区域而构成的能够根据环境自主完成指定任务的“智能”自治测控网络系统。大量传感器节点通过相互之间的分工协作,可实时感知、监测和采集分布区域内的监测对象或周围环境的信息。无线传感器网络有着与传统网络明显不同的技术要求,前者以数据为中心,后者以传输数据为目的。随着传感器网络技术的逐步发展,它的应用也越来越广泛,无线传感器网络也被要求有更小功耗,更低成本,以及更方便使用的性能,在这种情况下,smartsnail技术应运而生。smartsnail技术是一种短距离无线双向通信技术,该技术拥有协议简单、功耗低、组网能力强、网络容量大、时延短、安全、可靠及成本低等优点,具有路径选择、自动连结网络及自我恢复等功能。预计将在消费类电子设备、家庭智能化、工控、医用设备控制、农业自动化等领域获得广泛应用。
本文首先介绍了无线传感器网络的基础知识和研究现状;然后深入分析了smartsnail协议,给出了各层的功能;之后,设计了smartsnail节点模块和温湿度传感模块,并在此硬件基础上设计了具有基本功能的smartsnail协议栈,同时提出了一种基于smartsnail的组网算法,通过扫描信道、建立网络和建立节点间的关联三个步骤构建了一个简单的网络层,实现了无线传感器组网功能;在此基础上本文设计一个小型的温度湿度监控网络系统;最后,对论文进行总结,提出今后的研究工作方向。
关键字:smartsnail;温湿度传感器;无线通信;无线温湿度传感器系统
Abstract
Abstract: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 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 sensor 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 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 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 other 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 basis 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 function ; 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
目录
无线传感器网络是由大量无处不在的,具有通信与计算能力的微小传感器节点密集布设在无人值守的监控区域而构成的能够根据环境自主完成指定任务的“智能”自治测控网络系统。无线传感器网络是一种特殊的Ad-Hoc网络,与传统的网络相比,它是一种以数据为中心的自组织无线网络。根据smartsnail联盟目前的设想,根据该标准和技术生产的相关产品主要适用于:智能家居(照明控制、各类窗帘控制、家庭安防、暖气控制、内置家居控制的机顶盒、万能遥控器)、环境检测与控制、自动读表系统、烟雾传感器、医疗监控系统、大型空调系统、工业和楼宇自动化、安全监控、工业控制、传感器控制、停车计费数据传输等诸多领域。
无线传感器网络是由许许多多功能相同或不相同的无线传感器节点组成,每一个传感器节点由数据采集模块(传感器、A/D转换器)、数据处理和控制模块(微处理器、存储器)、通信模块(无线收发器)和供电模块(电池、DC/AC能量转换器)等组成,无线传感器网络的组成及使用决定了它应该具备以下多项特点:
(1)低功耗
无线传感器网络长期在无人值守的状态下工作,要求网络中节点的平均能耗比现有无线网络(如Bluetooth)中节点的能耗更低。在一些工业监控应用中,装备纽扣电池的传感器需要在无人值守的情况下工作几个月甚至几年。
(2)低成本
无线传感器网络由成千上万的节点构成,单个节点的价格将极大地影响系统的成本。为了达到降低成本的目的,需要设计对计算和存储能力要求较低的简单的网络系统和通信协议。
(3)通用性
无线行李标牌、集装箱定位系统等无线传感器网络的许多应用需要系统能够在世界范围内正常工作。此外,为了扩大生产规模、开拓市场,一个能在全球范围内正常运转的系统也是必要的。
(4)网络拓扑
传统的星形结构包含一个主结点,一个或多个从节点。在通信时,主结点与从节点可以直接通信,从节点间的通信需要依靠主节点转发。星型结构适合在一些小规模网络中使用。
(5)安全
在一些应用中,网络的安全是必需的。无线传感器网络系统具有严格的资源限制,需要设计低开销的通信协议,但同时也会带来严重的安全问题。一方面,入侵者可以比较容易的进行服务拒绝攻击(Denial Of Service,DOS);另一方面,无线传感器网络系统的资源严格受限以及节点间自组织协调工作的特点使其难以实现严密的安全防护。由于低成本的限制,一些无线传感器网络系统只能采用单频率通信机制【3】。
(6)实时性
实时性是需要协同工作的无线传感器网络系统的一个关键机制。如测量移动车辆速度需要计算不同传感器检测事件时间差,通过波束阵列确定声源位置节点间的时间同步。目前已提出了多个时间同步机制,其中RBS,TINY/MINI-SYNC和TPSN被认为是三个基本的同步机制。
(7)智能性
无线传感器网络系统通过自组织的方式来完成用户指定的任务。系统需要感知环境变化,通过节点间的协同工作来产生需要的输出。由于在工作的过程中无需人为干预,因此,网络节点这种根据感知的信息协同工作的方式体现了系统的智能性。
本文的设计目标是通过一个协调器和若干个路由器和终端节点,搭建一个蔟型的smartsnail网络,其中采用的smartsnail协议软件基于smartsnailV1.0与IEEE802.15.4标准自行开发,达到测量环境温湿度的要求。本文的主要工作如下:
(1)分析IEEE802.15.4和smartsnail协议,理解smartsnail技术的特性和通信原理,详细分析smartsnail协议栈构架,并能设计编写具有基本组网,数据传输等功能的协议栈。
(2)根据节点的物理特性,选择合适的微处理器和无线传输芯片,组建无线传感器网络节点,包括电路连接,相应外围电路设计,射频电路设计,温湿度传感器节点的设计等。
(3)测温湿度软件、仿真过程的叙述及整个网络的测试,能完成预期设定的功能并能达到预定的性能指标。
1.3 论文结构
本文主要研究了无线传感网络的特点、结构,分析了smartsnail协议的架构,各层规范及数据格式,在此基础上使用ESP8266 微控制器以及温湿度传感器等外围模块搭建节点,设计与实现了在此硬件基础之上的smartsnail协议栈,并进行了相关的测试,各章安排如下:
第一章(即本章)介绍了无线传感器网络的概念、特点、国内外发展概况。
第二章介绍了smartsnail协议的基本构架,分析了物理层、数据链路层、网络层及应用层的功能、规范、数据格式等。
第三章设计了网络系统的硬件平台,重点进行节点的硬件设计,包括器件的选择、节点的结构设计以及硬件电路设计。
第四章无线传感器网络通信系统的软件设计,实现了无线传感器网络系统的基本组网和数据采集以,包括程序的基本流程,所用函数的编写。
第五章对本文进行了总结。
采用乐鑫ESP8266 作为控制核心并肩负无线数据收发。无线温湿度监测系统由温湿度监测点和汇聚点组成。温湿度监测点的作用是检测温湿度,并将温湿度数据发送给汇聚点。它由无线收发控制、传感器模块、存储模块构成。汇聚点的作用是接收监测点的温湿度数据,并将数据通过 RS232 串行接口传送到 PC 机。它由无线收发控制、存储模块、MAX3232 构成。 乐鑫ESP8266 是系统的核心,乐鑫ESP8266 为工作在 430/868/915Mhz 频段的高性能单片式无线收发芯片,内置高性能增强型 51 单片机(4 clock),内带 4 路 ADC 12bit 高速采样,单片机全速运行功耗 1mA@4M。 乐鑫ESP8266 模块工作在 1.9~3.6V 低电压工作,待机功耗2uA,全部高频元件集成;最大发射功率+10dBm,高抗干扰 GFSK 调制,速率 100kbps,独特的载波监测输出,避免无线通信碰撞;地址匹配输出,易于点对多点无线通信设计;就绪输出,便于节能设计,满足低功耗设计。 对于 乐鑫ESP8266 而言,其最大的优点是具有载波检测功能。 其系统原理框图如图 2.1所示。

图2.1
温湿度传感器采用 AM2301。该传感器包括一个负温度系数的热敏电阻(NTC)测温元件和一个电容式感湿元件,并与一个高性能 8 位单片机相连。其特点单线制串行接口,使系统集成变得简易快捷。该传感器的体积小、功耗低。 存储模块用于存储用户程序。乐鑫ESP8266 的主程序存放在外部的串行 EEPROM 中,当芯开始上电时,其内部固化的厂家引导程序通过 SPI 接口,将外部 EEPROM 中的主程序导入 乐鑫ESP8266 的 RAM 中(4K 字节空间,没有被主程序占用的可作为片内 RAM 使用),接着执行跳转指令,开始主程序的运行。MAX3232 用于逻辑电平转换。微处理器将温湿度数据通过 RS232 通讯传给上位机应用程序用于数据处理及显示。
2.3.Smartsnail开发板功能
2.3.1 smartsnail主要特性
smartsnail显著的特点就是低速率、低功耗、低成本、自配置和灵活的网络拓扑结构。
(1)低功耗:在低耗电待机模式下,2节5号干电池可支持1个节点工作6~24个月、甚至更长。这是smartsnail的突出优势,相比较,蓝牙能工作数周、WiFi可工作数小时。
(2)低成本:通过大幅简化协议(不到蓝牙的1/10),降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且smartsnail免协议专利费,每块芯片的价格大约为2美元。
(3)低速率:smartsnail工作在20~250kbps的较低速率,分别提供250kbps(2.4GHz)、40kbps(915MHz)和20kbps(868MHz)的原始数据吞吐率,满足低速率传输数据的应用需求。
(4)近距离:传输范围一般介于10~100m之间,在增加RF发射功率后,亦可增加到1~3km,这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。
smartsnail协议主要采用了二种组网方式:星状网和网状网,网络拓扑结构如图2-1所示:

图2-1 smartsnail二种拓扑结构
在星状网中,以PAN协调器为中心,所有设备只能与中心设备PAN协调器进行通信,终端设备之间的通信通过PAN协调器的转发来完成,因此在星型网络的形成过程中,第一步就是建立PAN协调器。
smartsnail网络的工作模式可以分为信标(Beacon)和非信标(Non-Beacon)两种模式,信标模式实现了网络中所有设备的同步工作和同步休眠,以达到最大限度的功耗节省,而非信标模式则只允许终端设备进行周期性休眠,协调器和所有路由设备必须长期处于工作状态。
IEEE802.15.4物理层主要完成以下几项任务:开启和关闭无线收发信机、能量检测(ED)、链路质量指示(LQI)、信道评估(CCA)和通过物理媒体收发数据包。
表2-1 IEEE802.15.4的扩频和调制参数
|
物理层 |
工作频率(Mhz) |
频 道 数 |
扩频参数 |
传输参数 |
||
|
码片率(kchip/s) |
调制方式 |
传输率(kb/s) |
数据符号 |
|||
|
868Mhz物理层 |
868-868.6 |
1 |
300 |
三相的相位健控调制(BPSK) |
20 |
二进制 |
|
915Mhz物理层 |
902-928 |
10 |
600 |
二相的相移控件调制(BPSK) |
40 |
二进制 |
|
2.4G物理层 |
2400-2483.5 |
16 |
2000 |
偏移四相相移控件调制(BPSK) |
250 |
16 状 态组 |
IEEE802.15.4物理层在三个频段上共划分了27个信道,信道编号为0~26。2450Mhz频段上划分了16个信道,915Mhz频段有10个信道,868Mhz频段有1个信道,27个信道的中心频率和对应的信道编号定义如式(2.1)所示。

(2.1)
式中k指的是信道号,Fc的单位为MHz。
物理层通过射频固件和硬件提供MAC层与物理无线信道之间的接口。从概念上说,物理层还应该包括物理层管理实体(PLME),以提供调用物理层管理功能的管理服务接口;同时PLME还负责维护物理层PAN信息库(PHY PIB)。物理层参考模型如图2-3所示。

图2-3 物理层参考模型
物理层协议数据单元(PPDU)由三部分组成:同步头(SHR)允许接收设备同步并锁定数据流;物理层帧头(PHR)包含的是帧长信息;有效载荷部分为PSDU,其格式如表2-2所示:
表2-2 PPDU格式
|
字节数:4 |
1 |
1 |
可变长度 |
|
|
引导序列 |
帧开始符 |
帧长(7位) |
预留(1位) |
物理层服务数据单元(PSDU) |
|
同步头(SHR) |
物理层帧头(PHR) |
物理层有效载荷 |
||
根据温湿度监测点程序流程,对温湿度监测点主程序进行程序编写,源代码如下:
void main(void)
{
Init();
LED= 0;
Delayms(10);
LED = 1; //熄灭 LED
while(1)
{
RH();//调用温湿度读取子程序
For(i=0;i++;i<9)
{
TXEN = 1;
Transmitter(str[i]); NRF9E5 数据发送
TXEN=0;
}
Receive Packet();
}
}
温湿度采集程序源代码如下:
void RH(void)
{
P0_ALT &= 0x7F; //设置 P0.7 为通用 IO 口
P0_DIR &=0x7F; //设置 P0.7 为输出
P07=0; //主机拉低 5ms
Delayms(5);
P07=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=U8comdata;
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_tem
p); //数据校验
if(U8temp==U8checkdata_temp)
{
U8RH_data_H=U8RH_data_H_temp;
U8RH_data_L=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; // 9600@16MHz (当 T1M=1 and SMOD=1)
CKCON |= 0x30; // T1M
更多推荐


所有评论(0)