使用树莓派实现支持ZigBee的物联网设备的快速访问
摘要
随着物联网(IoT)技术的发展,物联网的应用日益广泛。与此同时,如何实现各类物联网设备的快速接入,特别是大规模物联网设备的接入,已成为物联网系统发展中的重要挑战。为解决这一问题,本文提出了一种支持ZigBee的物联网设备快速接入协议,其中注册的物联网设备中嵌入的ZigBee模块可通过相关协议实体之间的信令交互,自动获取个人区域网络(PAN)地址并即时接入目标ZigBee无线网络。随后,基于ZigBee通信对已接入的物联网设备进行操作与控制。为评估该协议的有效性与效率,开发了一个原型系统。实验与分析结果也通过与现有接入方法的对比,展示了该协议的性能表现。
关键词 :物联网, ZigBee, 快速接入, 有效性与效率
1 引言
物联网(IoT)作为互联网的延伸,是一种利用传感设备,按照特定协议实现任意物体之间互联互通,并实现智能识别、定位、跟踪、监控与管理的网络[1]。目前,随着物联网技术的发展以及无线通信模块成本的降低,越来越多的普通物理对象可通过嵌入或集成特定的无线通信模块(如Wi-Fi、蓝牙、ZigBee等)接入无线网络,以实现数据采集、操作、控制等多种目的[2]。然而,随着物联网系统的广泛应用,试图接入网络的物联网设备数量正经历快速增长[3]。因此,如何实现大规模物联网设备的快速网络接入——这是物联网系统发展的前提条件——并实现互联互通,已成为关键的挑战性问题。
最近,大量研究集中在设计有效且高效的网络接入策略。现有物联网设备网络接入技术中的常用方法可总结如下[4, 10]。(1)方法-1:通过将物联网设备直接连接到计算机,以直接方式配置物联网设备。(2)方法-2:在带有触摸屏或键盘的物联网设备上,可通过输入服务集标识符(SSID)和密码实现网络接入。(3)方法-3:通过接入点(AP)向物联网设备广播SSID和密码。AP可以是手机或计算机。接收方物联网设备随后使用获取的SSID和密码接入网络。(4)方法-4:物联网设备向网关设备广播网络接入请求。目标网关设备向物联网设备返回网关响应,包含SSID和密码,物联网设备则使用获取的SSID和密码接入网络。
尽管承认现有方案在某些特定情况下已被证明有效,但这些方案仍存在一些局限性,例如增加了物联网设备的成本和体积、操作复杂繁琐以及用户体验较差。特别是随着试图接入网络的物联网设备数量的快速增长,现有方案难以应对大规模物联网设备的接入请求。
受先前研究成果的启发,本文提出了一种支持ZigBee的物联网设备快速接入方法,以应对这些挑战。
本文的其余部分组织如下。第2节介绍了所提出的快速接入协议。为了评估该协议的有效性与效率,在第3节中开发了一个原型系统。第4节讨论了实验与分析结果。最后,我们在第5节对本文进行总结和结论。
2 提出的快速接入协议
为实现支持ZigBee的物联网设备的所提出的快速接入协议,需要以下实体。同时,各相关实体对应的功能描述如下。
- 物联网设备 :内置ZigBee通信模块,具有接入需求。
- 移动树莓派设备 :是一种在树莓派平台上开发的移动设备,用于与手机客户端和ZigBee协调器交互,以完成物联网设备的关键接入操作。目前已有许多研究探讨使用树莓派的物联网应用。文献[5]研究了在多种无线通信场景(如Wi-Fi和ZigBee)下利用树莓派实现客户端-服务器通信。文献[6]开发了一种安全报警系统,可在检测到移动时进行监控并发出警报。
- ZigBee协调器 :用于与尝试接入目标ZigBee无线网络(也可称为注册的物联网设备)的物联网设备中嵌入的ZigBee模块进行交互,以完成PANID、信号信道和PAN地址的配置。
- 手机客户端 :是一种定制软件,用于输入注册的物联网设备的信息。
- 树莓派网关 :是一种基于树莓派平台开发的网关设备,用于与ZigBee协调器交互,实现对已接入物联网设备的控制和操作。除了树莓派之外,还有许多方案使用其他微控制器(例如Arduino)作为网关[7, 8]。在[7]中提出了Arduino服务接口编程(ASIP)模型,并探讨了Arduino在物联网系统中的应用。在[8]中提出了一种使用基于Android的智能手机应用的家庭控制与监控系统。此外,还有很多方案将树莓派和Arduino结合使用。在[9]中针对环境监测进行研究,开发了一个使用Arduino和树莓派的无线传感器网络系统。
- 服务器 :用于存储有关ZigBee无线网络和接入的物联网设备的信息。
所提出的快速接入协议的详细实施步骤如下所述,其中,接入操作的示意图如图1所示,相关实体之间的信令交互如图2所示。
(1) 移动树莓派设备通过串行端口连接到ZigBee协调器。同时,它通过嵌入式Wi-Fi模块连接到网络,并将信息(如设备类型、MAC地址和IP地址)发送到服务器。服务器接收到信息后,向手机客户端发送提示消息。
(2) 在手机客户端收到提示消息后,用户登录服务器以查询目标ZigBee网络的相关信息,例如PAN ID和信号信道。之后,用户通过手机客户端为注册的物联网设备配置相关信息,例如目标ZigBee网络的PAN ID、信号信道、设备类型和设备描述。并将信息发送到移动的树莓派设备。
(3) 在接收到关于注册的物联网设备的信息后,移动树莓派设备提取其中的PAN ID和信道信息。此时,注册的物联网设备中嵌入的ZigBee协调器和ZigBee模块处于出厂设置状态,并工作在相同的信道上,因此,移动树莓派设备通过ZigBee协调器向嵌入式ZigBee模块发送设置PAN ID和信道的消息。
(4) 在接收到设置消息后,注册的物联网设备将完成对嵌入式ZigBee模块的PAN ID和信道设置操作。
(5) 使用计算机通过串行端口连接ZigBee协调器,并通过设置与注册的物联网设备中嵌入的ZigBee模块相同的PAN ID和信道,完成ZigBee协调器的初始化。
(6) 初始化的ZigBee协调器为注册的ZigBee模块分配一个PAN地址。随后,注册的ZigBee模块完成复位操作,并使用相同的PAN ID加入目标ZigBee网络。
(7) 再次通过串行端口将初始化的ZigBee协调器与移动树莓派设备连接。移动树莓派设备通过ZigBee协调器向新接入的物联网设备发送MAC地址和PAN地址查询消息。在接收到请求的信息后,移动树莓派设备将这些信息连同手机客户端先前输入的相关信息一并发送至服务器。服务器为该物联网设备添加新的接入记录后,所有接入流程即告完成。
(8) 在将初始化的ZigBee协调器与树莓派网关连接后,通过ZigBee通信,所有已接入物联网设备的操作和控制均可通过树莓派网关进行。
3 原型系统
为了评估所提出快速接入协议的有效性与效率,开发了一个原型系统,如图3所示。关于所使用的ZigBee模块和树莓派设备的相关参数介绍如下。
- ZigBee :CC2530F256 SOPC芯片,8051 CPU核心,S-RAM:8 KB,工作电压:DC 3.0v∼5.5v,工作电流:< 30 ma,中断控制器包含18个中断源,支持 IEEE 802.15.4控制协议,发射功率:4.5 dBm,工作频率:2400∼2500 MHz,最大传输距离:250米,最大传输速率:250 KB/s。
- 树莓派II :CPU:博通BCM2836 4核ARM Cortex-A7,基础频率:900 MHz,VideoCore IV双核GPU,支持OpenGL ES 2.0、OpenVG硬件加速、1080p30 H.264高清解码器,内存:1 GB,10/100自适应网卡,4个USB接口,工作电压:DC 5v,工作电流:<700 ma,操作系统:支持 Linux和Windows 10,尺寸: 17 × 56 × 85mm。
4 实验与分析
在本节中,为了定性分析和评估所提出的协议,实验基于开发的原型系统精心设计,并选取第1节中讨论的现有网络接入方法进行对比研究。实验中,通过不同数量的注册物联网设备,统计分析接入丢弃率以评估有效性,并统计每个物联网设备接入目标ZigBee网络的时间开销以评估效率。
接入丢弃率的比较结果如图4所示。由于方法-1和方法-2中的接入操作均以直接方式进行,因此接入丢弃率几乎为零,这两种方法具有最优的网络接入可靠性。在方法-3和方法-4中,通过广播模式,接入操作由接入点或物联网设备自身触发,注册的物联网设备将对广播信道资源产生激烈竞争,导致随着注册物联网设备数量的增加,接入丢弃率显著升高。PAN ID和信道的配置以及PAN地址的分配在所提出的协议中更为明确,从而提升了网络接入可靠性。尽管随着注册物联网设备数量的增加,因信道冲突导致部分接入请求被丢弃,但总体接入丢弃率仍处于相对可接受的水平。
平均接入时间开销的比较结果如图5所示。由于方法-1和方法-2中的接入操作均以直接方式进行,当注册物联网设备的数量较少时,其平均接入时间开销小于其他方法。然而,随着注册物联网设备数量的增加,所采用的接入模式导致平均接入时间开销呈线性增长。在方法-3和方法-4中,广播信道资源的激烈竞争产生了严重的负面影响,在平均接入时间开销方面,随着注册物联网设备数量的增加,资源竞争更加激烈,平均接入时间开销的性能变得更加不可接受。在所提出的协议中,当注册物联网设备数量较少时,由于涉及的协议实体之间的信令交互,平均接入时间开销高于方法-1和方法-2。然而,由于所提出的协议具有相对稳定和可靠的接入操作,因此适合处理批量的网络接入请求,且无论注册物联网设备的数量如何增加,平均接入开销都相对稳定。
5 结论
本文针对物联网应用系统发展中注册的物联网设备数量急剧增长这一现实挑战,提出了一种支持ZigBee的物联网设备快速接入协议。通过相关协议实体之间的信令交互,注册的物联网设备中嵌入的ZigBee模块能够自动获取PAN地址并即时接入目标ZigBee网络。同时开发了一个原型系统以评估该协议的有效性和效率,实验与分析结果通过与现有网络接入方法的比较验证了所提出的协议的性能,表明该协议可被广泛应用于ZigBee物联网应用系统的开发,并可提高开发效率。

被折叠的 条评论
为什么被折叠?



