基于nRF2401智能家居的自组织网络节点设计

时间:2022-05-14 10:07:27

基于nRF2401智能家居的自组织网络节点设计

摘要:该文介绍了一种基于atmega16l单片机和nRF2401射频收发器的无线智能家居节点,并将无线自组织思想应用其中,改进了DSR路由协议的规范,利用RREQ、RREP和RERR等协议帧进行路由查找和维护,实现网络自组织和数据的多点跳传。

关键词:智能家居;nRF2401;DSR;自组织路由

中图分类号:TP18文献标识码:A文章编号:1009-3044(2010)07-1693-3

A Self-organizing Network Node Design of Smart Home on nRF2401

LI Min, ZHANG Yi

(Chongqing University of Posts and Telecommunications, Chongqing 400065, China)

Abstract: In this thesis, a kind of nodes of Smart Home network was designed with MCU Atmega16l and radio frequency transceiver nRF2401 was studied. And the wireless self-organizing technology was applied in the system. According to the DSR Route protocol specification, uses RREQ、RREP and RERR frames to discover and maintain routing.So the network was self-organization and data transmited multi-hop.

Key words: Smart Home; nRF2401; DSR; self-organizing routing

针对现在家庭网络的组网不灵活,扩展性不好,无法自动识别新入网的设备,也无法实时得知已离开网络的设备,而且当目的设备节点与控制节点距离超过可靠通信距离,或者天线功率不足时,会导致某些节点设备脱离网络等弊端,本设计将自组织网络技术应用于智能家居系统,从而实现设备之间的自组多跳传输,使得网络更加的灵活,可靠,而且成本低,易于开发。

1 系统概述

随着无线通信技术的发展,无线网络比有线网络具有通信范围不受环境条件限制、网络建设周期短、施工成本低、易于维护、可扩展性好等优点,逐渐取代了有线网络,成为智能家居网络系统组网的首选。[1]

比较目前存在的各种各样的无线接入方式,射频无线技术可以实现点对多点的连接,对通信的方向无限制,传输距离较大,成本低,而且性能高。所以本文的智能家居系统采用无线射频技术。

该智能家居系统是一个基于nRF2401[2]的小型无线控制系统,是采用标准化、模块化和系统化的设计,将各个无线终端和主机管理终端通过通信网络为纽带,组成的管理控制系统,该系统灵活配置,组态方便,具有自适应性等特点。

系统结构如图1所示。

在各节点都有一个透明的协议实现智能适应性组网,节点之间建立无线链路,实现节点互连,而且节点之间通过自组网协议互相识别,协同工作。

每个终端节点不仅仅可以作为通信的终端,还可以作为通信的中间节点,对信息进行转发,使得整个网络具有自组织性,并可实现多跳路由,从而增加了网络节点,扩展了网络铺盖范围,即使某个节点发生故障,其他节点也能实时感知,并进行相应的路由调整。

当节点收到主控发送的命令后,该节点首先查询其路由表,找到目的节点的路由信息,并添加到命令帧中直接发送。当目的节点的路由信息不存在时,该节点作为源节点开始路由查询,直到接收到目的节点返回的路由请求响应帧,从而就可以建立从主控端到目的节点之间的通信链路,添加其返回的目的节点的路由信息到命令帧,然后发送。

当一个新的终端节点加入网络中时,在上电初始化后,就广播其路由请求,获得该节点到主控端的路由信息,并存储起来,此时,就实现了新节点的入网。

2 终端节点的硬件结构设计

终端无线通信节点既是普通节点,又具有中继节点的功能,在主控端通信距离之内时,可直接与主控端进行通信,当距离太远,则需要其他在通信范围内的节点作为中继节点,转发实现通信。

节点构成图如图2 ,它包括处理器与无线传输模块。

2.1 单片机部分

本设计采用的是Atmel公司的atmega16l[3]单片机,用于对无线终端节点设备的控制、任务调度以及功能协调。

Atmega16l是一种高性能、低功耗的8位AVR微处理器,具有以下优点:1) 接口丰富;2) 速度快:由于AVR绝大部分的指令是单周期指令,所以几乎可以获得1MIPS的指令速度;3) 支持IAP:即系统自编程,方便系统远程升级、维护;4) 一般都内置EEPROM,便于调电存储;5) 中高档芯片调试方便:使用了简化的JTAG协议,可以用支持的JTAG仿真器在线仿真,能够真实的反映系统情况。

2.2 无线通信模块

其中的无线通信模块选择使用Nordic公司推出的无线收发一体芯片nRF2401[1]用于节点间的数据收发,它具有电路简单,通信速率高,通信质量可靠稳定、成本低,开发周期快、短、而且没有复杂的通信协议,对用户透明,而且同种产品之间可以自由通信、组网灵活等优点。

而且nRF2401只需要通过CS、CLK1和DATA三个引脚完成所有配置工作的,设计简单,易于编程。

3 软件设计

3.1 通信协议

应用于自组织网络[4]中的路由算法,主要可以分为驱动路由算法,如目的序号距离矢量算法、无线路由协议等;按需驱动路由算法,如Ad hoc按需距离适量算法、临时排序路由算法、动态源路由算法、基于关联性的路由算法、动态源路由算法等。

本文选用DSR路由协议,这是一种重要的按需路由协议,针对智能家居网络比较稳定,可移动性较差的特点,对DSR协议进行了简化和改进。

改进后的DSR 路由协议定义了三种消息类型: 路由请求RREQ, 路由应答RREP, 路由错误RERR。改进后的帧格式如图3~5所示。

底层nRF2401的数据帧格式如图6所示。

其中,PRE-AMBLE段为数据包头, ADDRESS段为接收方通道硬件地址段,只有符合本机硬件地址的数据帧才会被接收,CRC段为数据校验段,PAYLOAD段为待发送数据段。

3.2 程序设计

3.2.1 底层无线数据收发软件设计[5]

在发送数据时, CE置为高电平且CS为低电平,系统为数据发送状态,将数据按时序的规定输入,待所有的数据输入完成后,将CE置为低电平,nRF2401对输入的数据根据设置的要求进行调制,添加CRC校验和前导码,并且从天线端发送出去。其发送代码流程如图7所示。

在接收数据时,工作使能管脚CE置为高电平,等待数据的到来,节点开始对空中的信号进行自动捕捉,当收到与本节点地址相同的数据时,接收数据,并自动校验CRC,如果数据准确无误,这些数据就被存放在nRF2401的接收缓冲区中,然后控制中断引脚DR1,使之置1,通知MCU可以接收数据。这时,MCU就可以根据时规定从nRF2401中读出数据。其接收代码流程如图8所示。

3.2.2 路由部分程序设计

DSR协议自组织互联[6]的具体实现过程,可分为路由发现过程和路由维护过程:

1) 路由发现过程:某节点要向目的节点发送数据,查询该节点到目的节点的路由信息,如果没有,则广播发送路由请求帧,每个收到路由请求帧的节点作为中间节点将自己的地址加入到路由请求帧的中继节点地址里,重新广播,直到路由请求帧到达目的节点,这时,目的节点就得到了到达请求节点的完整路由。然后,目的节点将所得到的路由信息包含在路由响应帧,沿着反向路由,将路由相应帧发送回请求节点。该请求节点在收到路由响应帧以后,将路由信息存入路由存储器中,添加到发送数据命令的头部。

2) 路由维护过程:在数据逐跳传输过程中,如果发现链路失效,中继节点向源节点发送路由错误帧,源节点收到路由错误帧以后删除失败路由,重新进行路由发现。

节点通信流程为:新节点入网上电初始化后,发送路由请求到目的节点,如果没有收目的节点的路由应答,则该节点广播路由请求,当网络中的其他节点接收到路由请求帧后,如果没有超过规定的跳数,则返回路由响应帧给源节点,新节点在接收到路由响应帧后,就建立起了从新节点到目的节点的路由。当路由无效时,节点就会收到路由错误帧,然后删除路由表,并开始新的路由请求,建立新路由。

流程图如图9所示。

4 结束语

在本设计中,将DSR协议进行了改进简化,将其应用于智能家居系统中,实现了家电互连,扩展了网络铺盖范围,节点自行组网,提高了网络的扩展性和健壮性。

参考文献:

[1] 李善仓,张克旺.无线传感器网络原理与应用[M].北京:机械工业出版社,2008.

[2] Single chip 2.4GHz Transceiver nRF2401,June 2004.

[3] 三恒星科技.AVR单片机原理与应用实例[M].北京:电子工业出版社,2009.

[4] Anipakala Suresh Performance Analysis of Ad hoc On-demand Distance Vector routing (AODV)using OPNET Simulator,Communication Networks University of Bremen,11th April 2005.

[5] 喻金钱,俞斌.短距离无线通信详解[M].北京:航空航天大学出版社,2009.

[6] 陈林星.移动Ad Hoc网络[M],北京:电子工业出版社,2006.

上一篇:Web访问特征模型建模 下一篇:改造敏捷模型在高校软件开发中的实践