
基于nRF24L01P的智能家居无线组网方案的设计
李增雷
【摘 要】本文提出并设计了一种基于nRF24L01P的智能家居无线组网方案、对网络整体模型和节点的物理层、链路层以及网络层进行了较为详细的设计与说明。该组网方案专11针对智能家居应用而设计,具有简单实用,成本低等优点。
【期刊名称】《电子技术与软件工程》
【年(卷),期】2013(000)010
【总页数】3页(P76-78)
【关键词】智能家居;无线组网;nRF24L01P;多跳路由
【作 者】李增雷
【作者单位】广东松山职业技术学院电气工程系,广东省韶关市512126;
【正文语种】中 文
【中图分类】TP393.1
随着物联网技术的发展,智能网络和信息家电已越来越多地出现在人们的生活当中,如何建立一个高性能、低成本的智能家居系统也已成为当前研究的一个热点问题。目前,这一领域的国际标准尚未成熟,无线组网方案也没有统一。其中,基于Wi-Fi和zigbee技术的无线组网方案受到较多的关注。然而,这些技术在协议栈层面并未专门针对智能家居应用进行有效的功能剪裁和优化,因而具有较大的软硬件资源开销和成本代价。如zigbee协议栈应用了 AODVjr和Cluster-Tree相结合的路由算法[1][2],以满足各种复杂的动态网络拓扑结构,这对于智能家居中大多数节点位置相对固定,网络拓扑结构相对稳定的实际情况来说,较为冗余。本文设计了一种专用于智能家居领域的无线组网方案,以达到简单实用的目的。
1 网络整体模型
1.1 节点类型
在本设计中,智能家居网络由三种类型的节点构成:房间父节点(以下简称父节点)、房间子节点(以下简称子节点)和自由节点。一个房间内安置至少一个父节点和若干个子节点,它们不具备或仅具备有限的移动性,如各种灯节点、插座节点、自动窗(帘)节点、安防节点等。处于一个房间内的任意两个节点,相互之间处于对方的网络信号覆盖范围内,因而可以直接进行通讯。不同房间的两个节点之间,空间距离较远,加之有墙壁阻挡等原因,不能保证网络信号相互覆盖,因而需要采用一定的路由机制进行通讯。
图1 :智能家居无线网络拓扑
父节点相比子节点,具有更大的无线发射功率,可以直接与相邻房间内的其他父节点进行通讯。父节点还具有多跳路由的功能,能够转发来自其子节点、其他父节点或自由节点的报文。父节点一般可以指定为房间的主灯节点。不同于上述父节点和子节点,自由节点具有很大的移动性,不局限于某个特定的居室空间,如便携式智能家居控制终端、智能拖地机等。这种节点必须依靠其网络信号覆盖范围内的某个父节点作为路由,才能与其他节点进行通讯。
1.2 网络拓扑
整个智能家居无线网络的拓扑结构如图1所示。
从图中可以看出,本智能家居无线网络可以认为是一种双层网状网结构:所有父节点和自由节点组成上层网状网,每个父节点和其子节点组成下层网状网。
1.3 寻址机制
在本智能家居网络中,每个父节点或子节点均处于一个特定的房间内,因而,如果我们将房间进行编号,再将房间内的每个节点进行编号,则可以唯一的访问每个节点。自由节点不属于任何一个房间,可以认为它们的房间号为0。我们同时约定,父节点的节点号为0。房间号和节点号均为0的地址,留作广播地址,不能赋予任何节点。
一般家庭的房间数不会大于16个,如“四室两厅一厨两卫”的户型结构,总房间数为9个,用半个字节的数据结构则可以完全满足房间编号的需求。对于节点号,考虑到每个房间可能有多盏辅灯、多个安防节点,因而采用一个字节来表示节点号就较为合理。不同的家庭可能均采用本组网方案,因而需要引入“家庭网络号”来区分不同的网络,只有具有相同家庭网络号的节点之间才能通讯。
图2 :节点分层模型及相应的传输数据格式
1.4 节点模型
从OSI参考模型的角度分析,本网络中的节点由物理层、链路层、网络层和应用层组成。每一层使用下层提供的服务,并向上层提供服务。其中,物理层和链路层主要由nRF24L01P芯片实现,提供了单个节点的无线收发以及相邻节点之间的数据帧通讯。网络层提供了路由功能,实现了网络中任意两个节点之间的报文传输。同时,我们规定了应用端口服务作为应用层框架,实现了节点之间服务和资源的共享。每一层传输的数据格式如图2所示:
图中,物理层数据帧的同步域由nRF24L01P芯片发送数据时自动生成,能够实现各个接收节点的数据帧同步。在链路层数据帧中,接收房间号和节点号是数据帧需要到达的目的地址,可能是报文传输的目的地址,也可能是中间路由节点的地址。包控制域和CRC校验域也是由nRF24L01P芯片发送数据时自动生成,前者提供报文长度计数和数据重传相关功能,后者用来确保数据的完整性。
网络层报文中目的房间号和节点号是报文传输的目的节点地址,源房间号和节点号是报文产生的源头节点地址。应用层报文中,端口号对应不同的端口服务,每种端口服务接收相应的参数用来指导服务的执行过程。应用层的实现由各节点生产厂商根据节点的实际情况进行设计。以下仅对物理层、链路层和网络层进行简要分析与设计。
2 物理层和链路层设计
物理层和链路层主要由nRF24L01P芯片硬件实现。nRF24L01是由NORDIC公司生产的工作在2.4GHz全球免申请ISM频段的单片无线收发器芯片。该芯片具有126个通讯频道,支持2Mbps、1Mbps和250kbps的空中数据传输速率,发射功率可设置为0dBm、-6dBm、-12dBm和-18dBm,内置增强型ShockBurst基带协议引擎,支持自动应答及重发,内置地址及CRC数据校验模功能。该芯片通过SPI接口与MCU连接,最高通信速率可达10MHz。
为了实现完整的物理层和链路层,我们还需要对该芯片进行软件设置。本设计默认采用2Mbps的空中数据传输速率,3个字节的地址长度,2个字节的CRC校验模式,使能动态数据包长度。对于SPI传输速度等设置,均可以根据实际情况由厂商进行出厂设置或由用户
借助人机交互节点进行在线设置,此处不再详述。现主要对三个方面进行简单介绍:信道选取,功率限制和冲突退避。
图3 :Wi-Fi和Zigbee所占用的信道
2.1 信道选取
因为Wi-Fi、蓝牙、zigbee等常用无线通讯技术均使用2.4 GHz网络,因而在本设计中的信道选取上,需要考虑到与这些网络的共存。其中,蓝牙通讯采用跳频技术,占用某个特定信道的时间和概率很小,因而可以忽略其与智能家居网络之间的相互干扰。Wi-Fi将2.4 GHz频段划分为11个直扩信道,系统可选定其中任一信道进行通信,信道带宽为22MHz,Zigbee则把该频段划分为16个信道,每个信道带宽为2MHz。图3 显示了Wi-Fi和Zigbee所占用的信道。图中用红色突出显示的是Wi-Fi和Zigbee之间已经冲突的信道。
更多推荐
节点,进行,网络,信道,无线,地址,房间,服务
发布评论