当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:智能家居是当前物联网的主要应用之一,当前采用的技术主要有ZigBee和Z-Wave技术。然而,ZigBee器件成本昂贵,Z-Wave技术是非开发式标准,存在系统的兼容性问题。针对上述问题,文中提出了基于NRF24L01实现智能家居系统的解决方案。同时详细地介绍了智能家居系统的框架和通信协议,并给出了可行的解决方法。最终测试结果表明,使用nrf24L01是一套低成本的智能家居解决方案,可进一步推进智能家居的应用。

引言

随着计算机、通信、自动控制和微电子技术的发展,无线传感网络成为当前研究热点,其主要应用领域涉及工业控制、环境监测和智能家居等。其中,智能家居应用尤为瞩目,旨在建立由家庭安全防护系统、网络服务系统和家庭自动化系统组成的家庭综合服务和管理集成系统,实现全面安全防护、便利通信网络以及舒适的居住环境。目前,在智能家居领域开发应用中,2.4GHz的ZigBee和900MHz频段的Z-Wave两大技术应用最为广泛。

Z-Wave是一种基于射频的低成本、低功耗、高可靠性的短距离无线通信技术,数据传输速率达9.6Kb/s,信号有效覆盖范围室内为30m,室外可超过100m;单一家庭网络最多可支持232个节点,足以满足一般家庭需求。目前,美国市场上已有成品的Z-Wave家居产品销售,包括各种家电控制设备,如Zensys公司推出的远程遥控器、插座等,然而Z-Wave联盟并没有开放其标准,束缚了系统的开发和扩展。

基于IEEE802.15.4协议的ZigBee技术是一种短距离的通信标准,有着近距离、低复杂度、自组织、低功耗、低数据速率的特点。由ZigBee协议标准可知,一个ZigBee网络可容纳65536台设备,有着250Kb/s的高带宽,且节点间通信具备较高的可靠性,再加上ZigBee联盟开放了这一标准,吸引了更多的厂商和研究机构对ZigBee的研究,使得ZigBee在智能家居中成为通行的国际标准。然而,ZigBee的器件成本相对较高,智能家居中无线传感器网络的建立需要一笔巨额费用。

针对上述问题,本文采用2.4GHz这一频段来实现无线数据传输,选用的NRF24L01芯片在此频段上具备较多的频点,能够解决家庭间信道干扰问题,同时搭配成本低廉的STM8S103F3组成智能节点,降低了节点的成本,也降低了开发难度。

1节点硬件设计

节点分为网关节点和普通节点:普通节点带有各类传感器,负责实时采集数据和网络组建;网关节点负责该网段网络的控制和数据的汇总、分析、上传。图1所示为网关节点和普通节点的结构图。

基于nRF24L01的智能家居网络的设计

1.1MCU

STM8S103F3单片机具有用户可调整的16MHzCPU时钟频率,容量为8KB的Flash程序存储器,集成640B真正的数据存储器EEPROM和1KB的RAM,强大的I/O功能,具有16位高级控制定时器(TIM1)、SPI、I2C、UART、窗口看门狗、独立看门狗、ADC、PWM定时器(TIM2)、8位定时器(TIM4)等资源。单线接口模块(SWIM)和调试模块(DM),允许非侵入式、实时的在线调试和快速的存储器编程。STM8S103F3高度集成,精简外部电路可以设计出更小的节点。由于STM8S103F3单片机的这些特点,非常适合应用在无线传感器网络中。

1.2射频收发器件nRF24L01

nRF24L01是一款工作在2.4~2.5GHz世界通用工科医用频段的单片无线收发器芯片,芯片内置晶体振荡器、功率放大器、频率合成器以及调制器等功能模块,工作电压为1.9~3.6V,有多达125个频道可供选择,输出功率和通信信道可以通过软件进行配置。

nRF24L01采用SPI总线接口与外部微控制器通信,最高可达10Mb/s,数据发送传输最快可达2Mb/s。

芯片自动处理字头和CRC,当发送数据时,只需要配置相关寄存器,将发送的数据和接收地址发送给nRF24L01,它会自动完成数据的打包(加字头和CRC校验码)和发送;当接收数据时,nRF24L01自动检测载波并进行地址匹配,接收到正确数据后自动移去字头、地址和CRC校验码,mcu通过SPI读取数据即可。

2通信协议的设计

2.1网络地址的分配

节点的网络地址设置为5字节,前4个字节表示网段地址,最后一字节设置为0表示网关节点,设置为1~190表示传感器节点,191~254表示子网组播地址,255用于局部广播地址。理论上能划分232个网段,在单个网段内,可以容纳1个网关节点,190个传感器节点,划分44个子网。节点的网络地址事先写入MCU的EEPROM中,上电自动获取。

2.2数据传输模式

本次设计中数据传输的模式有单播、广播和组播3种。单播是指从网关节点到传感器节点或者传感器节点到网关节点数据的传输,是点对点通信;广播是指从一个节点到该网段的所有节点的通信;组播是指从网关节点到一组传感器节点的数据传输。

由于nRF24L01具有6个接收地址,将pipe0设置为单播使用,开启nRF24L01的自动应答和重发功能,pipe1设置为局部广播使用,pipe2设置为组播使用,在广播和组播时关闭自动应答和重发功能。

2.3MAC层协议

为了避免节点发送数据和接受数据时导致信道的冲突,在网络的MAC层采用CSMA/CA协议[3]。该协议就是在发送数据帧之前先对信道进行预约。图2所示是节点A-E分布图。图中,第一种情况是节点B、C、E在节点A的无线信号覆盖范围内,而D不在;第二种情况是节点B、A、D在节点B的无线信号覆盖范围内,而C不在。

基于nRF24L01的智能家居网络的设计

图2  两种节点分布图

这样,可将CSMA/CA协议的实现流程分为两个部分,分别解决以下两个问题。

第一,当节点B和节点C都要向节点A发送数据时,会导致发送端数据的冲突。解决的方法可以采用在通信之前,节点设置为接收模式,利用nRF24L01的载波检测(CD)功能监听信道是否空闲。若检测到信道忙碌,则节点随机延迟一段时间后重新监听;若检测到信道空闲,则节点并不立即发送,而是采用一定的退避机制,将信道冲突的可能性降到最低。所以,节点随机退避一段时间后再进行发送。这里采用二进制指数退避算法BEB。

第二,当节点A和节点D都向节点B发送数据时,会导致接受端数据的冲突。解决的方法可以利用RTS/CTS/DATA/ACK握手机制。具体过程如下:

发送节点向接收节点发送前,先通过竞争方式获得信道使用权,再向接收节点发送请求连接帧(requesttosend,RTS)。

接收节点收到发送节点的RTS帧后,向外广播确认帧(cleartosend,CTS),里面包含发送节点地址,建立两者之Add1C1L1间的通信连接。

发送节点收到接收节点的CTS帧后,向接收节点发送数据帧DATA,若没有收到CTS帧,则重新发送RTS帧。

接收节点收到发送节点的DATA帧后,向从站发送数据确认帧ACK。

发送节点收到接收节点的ACK帧后,整个通信过程结束,若没有收到,则重新发送data。

2.4差错控制

在差错控制方面,系统采取数据重发机制与nRF24L01自身CRC校验相结合的方式。发送节点在发送RTS或DATA后,若在一定时间内没有收到接受节点的CTS或ACK,贝憧新发送传输失败的帧,直到接收到回复或重发次数达到设定值。另外,nRF24L01提供对CRC校验的硬件支持,通过设置RF配置寄存器,采取8位CRC校验[4]。当接收的数据CRC校验出错时,nRF24L01会自动丢弃错误帧。

2.5数据帧格式

nRF24L01在增强型ShockBurstTM模式下的数据包格式如图3所示。

基于nRF24L01的智能家居网络的设计

将网络中所有节点的通道都配置为32字节模式,因此,一个数据帧可以发送32字节。其中数据帧的格式如图4所示。

基于nRF24L01的智能家居网络的设计

图4中,Networksegment为4字节,Sendaddress为1字节,Receiveaddress为1字节,Sourceaddress为1字节,CMD为1字节,剩下的24字节为data。Cmd具体含义见表1所列。

基于nRF24L01的智能家居网络的设计

2.6路由表的初始化和维护

在设计中,每个节点都要保存它下一跳的路径,也就是要保存它的邻居节点信息。每个节点的路由表结构图5所示。

基于nRF24L01的智能家居网络的设计

Addi是邻居节点地址,Ci表示该节点与它第i个邻居通信所需要的cost,Li表示节点通过第i个邻居向网关节点发送数据所需要的cost。邻居节点在路由表中的位置按照Li从小到大的顺序排列。L1是节点的mincost。数据发送时按照mincost发送。

3实验测试

笔者制作了7个节点模块,通过软件将网络地址前4个字节统一写为00:FF:EE:FF,最后一位分别写为0,1,2,3,10,12,34,66。将7个节点模块放置在2个房间中,上电组网测试。

通过实验得出:点对点通信时,在无障碍物时距离可以达到30m,有一墙之隔时可传输10m。对于单播和广播通信正常,丢包率不到0.5%。

4结语

本设计采用2.4GHz这一频段来实现无线数据传输,考虑到选用的nRF24L01芯片在此频段上具备较多的频点,能够解决家庭间信道干扰问题,同时搭配成本低廉的STM8S103F3组成智能节点,可降低节点成本,也降低了开发难度。本文阐述了系统中的硬件模块实现,家庭内部无线传感器网络的通信协议及通信数据包的设计方法,最后测试系统的可行性及稳定性。

20211027_617942cbc957c__基于nRF24L01智能家居网络的设计

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭