当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:智能家居是当前物联网的主要应用之一,当前采用的技术主要有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所示为网关节点和普通节点的结构图。

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不在。

图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所示。

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

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

2.6路由表的初始化和维护

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

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智能家居网络的设计

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

今天,小编将在这篇文章中为大家带来语音识别的有关报道,通过阅读这篇文章,大家可以对语音识别具备清晰的认识,主要内容如下。

关键字: 语音识别 智能家居

一直以来,语音识别都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来语音识别的相关介绍,详细内容请看下文。

关键字: 语音识别 智能家居 智能客服 人工智能

本文中,小编将对语音识别技术予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 语音识别 智能家居 物联网

LED灯作为现代照明领域的重要一员,以其高效节能、环保长寿命等优势,广泛应用于家居、商业、工业等各个领域。然而,在使用过程中,LED灯也可能遇到一些故障。本文将针对LED灯的三种常见故障进行详细分析,并给出相应的解决方法...

关键字: led灯 智能家居

语音识别技术,作为人工智能领域的重要分支,近年来取得了显著的进步。它能够将人类语音转化为计算机可理解的文本或指令,为人们的生活和工作带来了极大的便利。那么,语音识别技术究竟可以做什么呢?本文将从多个角度探讨其应用与价值。

关键字: 语音识别 智能家居

台湾新竹 – 2024年3月26日 – 新唐科技宣布推出基于微控制器的终端AI平台,使AI生态系扩展至微控制器领域。此解决方案是基于新唐全新架构设计的微控制器和微处理器,包括NuMicro® MA35D1、NuMicro...

关键字: AI 智能家居 机器学习

2024年3月25日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售英飞凌CYW20822 AIROC™低功耗蓝牙模块。CYW208...

关键字: 低功耗蓝牙模块 工业物联网 智能家居

随着科技的飞速发展,智能家居、楼宇自动化等概念逐渐深入人心,而作为其中不可或缺的组件之一,双控开关扮演着举足轻重的角色。双控开关,顾名思义,是指可以在两个不同的位置控制同一盏灯或其他电器设备的开关。本文将深入探讨双控开关...

关键字: 双控开关 智能家居

【2024年3月21日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日宣布推出最新款蓝牙模块CYW20822-P4TAI040,在低功耗与覆盖范围等方面实现了新的突破,推动物联...

关键字: 蓝牙模块 智能家居 传感器

Holtek精益求精,宣布推出全新5V宽电压Arm® Cortex®-M0+ 32-bit MCU系列HT32F50431/HT32F50441/HT32F50442/HT32F50452。此系列MCU经多方位升级能满...

关键字: 单片机 智能家居 工业控制
关闭
关闭