基于 CC2530 的 ZigBee 物联网系统设计 - IOT

大家好,今天给大家介绍基于 CC2530 的 ZigBee 物联网系统设计

1.1设计背景

无线传感器网络是目前研究的热门领域,它集成 了多门学科的知识,应用领域广泛,因此深受国际社会 的关注。 鉴于传感器网络技术的研究及应用价 值,许多部门、机构、学校等对其开始了基础理论和关键技术的研究,而通过无线方式对环境现场的数据进 行实时采集、传输和后台监控是大量挑战性的研究课 题之一。

无线数据采集是利用无线数据采集模块或设备, 将工业现场的传感器输出的电压、电流等物理量进行 实时采集和处理。 传统的数据采集系统一般采用事先 布线以及人工的方式采集设备的各项数据,而随着生 产力技术的发展,工业生产中的生产设备分布越来越 分散,分布的地域也越来越广,对处于高温和高压等恶 劣环境下的设备进行现场数据采集和维护是比较困难 和危险的,需要投入大量的人力成本和财力资源,这些 状况在很大程度上制约着企业的发展和生产效益的提 高。 对于最新的无线传感器网络技术 Zigbee 而言,它 采用了无线传输方式来构建相应的无线传感器网络, 能够较好地解决人工及有线方式存在的问题。

1.2设计要求

本次设计要求我们熟练使用Linux系统,以及了解Zigbee协议,最终实现IAR软件环境搭建、常用传感器和外设的操作,节点的数据采集以及数据的无线收发。

2.1Zigbee协议

Zigbee是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,Zigbee技术是一种短距离、低功耗的无线通信技术。这一名称(又称紫蜂协议)来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离、低复杂度、自组织、低功耗、低数据速率。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,Zigbee就是一种便宜的,低功耗的近距离无线组网通讯技术。Zigbee是一种低速短距离传输的无线网络协议。Zigbee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。

2.1.1Zigbee协议特点

(1)工作周期短、收发信息功耗较低,并且RFD(Reduced Function Device,简化功能器件)采用了休眠模式,不工作时都可以进入睡眠模式。

(2)低成本。通过大幅简化协议(不到蓝牙的1/10),降低了对通信控制器的要求,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4 KB代码。

(3)低速率、短延时。Zigbee的最大通信速率达到250 kb/s(工作在2.4GHz时),满足低速率传输数据的应用需求。Zigbee的响应速度较快,一般从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms,进一步节省了电能。相比较,蓝牙需3~10S、Wi-Fi需3S。

(4)近距离,高容量。传输范围一般介于10~100 m,在增加RF发射功率后,亦可增加到1~3km。这指的是相邻节点间的距离,若通过路由和节点间通信的接力,扩展后达到几百米甚至几公里。Zigbee可采用星状、片状和网状网络结构。由一个主节点管理若干子节点,最多一个主节点可管理254个子节点。

(5)高可靠性和高安全性。Zigbee的媒体接入控制层(Medium Access Control,MAC)采用CSMA/CA的碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突。Zigbee还提供了3级安全模式,包括无安全设定、使用接人控制清单防止非法获取数据以及采用高级加密标准(Advanced Encryption Standard,AES)的对称密码,以灵活确定其安全属性。

(6)免执照频段。采用直接序列扩频在工业科学医疗(Industrial Scientific Medical,ISM)频段,分别为2.4GHz(全球)、915MHz(美国)和868MHz(欧洲)。

2.1.2Zigbee的网络结构

Zigbee网络分为4层,从下向上分别为物理层、MAC层、网络层、和应用层。其中物理层和MAC层由IEEE802.15.4标准定义,合称IEEE802.15.4通信层;网络层和应用层由Zigbee联盟定义。如图1所示。

2.2CC2530芯片介绍

CC2530 是用于2.4-GHz IEEE 802.15.4、Zigbee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。芯片外观如图2所示。

CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。其引脚分布如图

Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。Linux命令在系统中有两种类型:内置Shell命令和Linux命令。其常见的指令如图

基于CC2530的Zigbee物联网系统的设计方案

2.4.1Zigbee 数据采集系统采集数据的原理

Zigbee 网络通常由三个节点构成:协调器(Coordinator) 节点、路由器 ( Router) 节点、传  器 ( End Device)节点。 传感器节点也称为终端设备。

协调器用 来创建一个 Zigbee 网络,并为最初加入网络的节点分 配地址,每个 Zigbee 网络需要且只需要一个协调器; 路由器也称为 Zigbee 的全功能节点,可以转发数据, 起到路由的作用,也可以收发数据,当成一个数据节点,还能保持网络,为后加入的节点分配地址;终端设备通常只周期性地发送数据,不接收数据。

由于本系统是在实验室小范围内进行的实验,因此不设 Zigbee 路由节点。 在实验中,Zigbee 的协调器节点和终端设 备节点形成星型网络拓扑结构,并且在网络中设置了 一个协调器节点和两个终端设备节点。

协调器节点也 称为汇聚节点,将多个终端设备节点置于不同的位置, 它们会按照要求把采集到的数据传给汇聚节点,汇聚 节点先要对数据进行处理,然后才把数据通过串口传 给 PC 机。 文中主要介绍传感器网络采集数据的具体实现,不讨论上位机的用户界面的设计。 系统原理示 意图如图所示。

2.4.2 传感器节点硬件设计

Zigbee 传感器节点的硬件设计与协调器节点的硬 件设计类似,由 CC2530 芯片、电压转换器件、电源电 路、收发器、路灯以及天线组成。 CC2530 处理器可采 集路灯的亮度数据(即电压值),路灯也可以用来显示 节点的网络状态,如:节点是否加入网络。 处理器把采 集到的数据信号经模数转换后由天线发送到协调器 端。 与协调器不同的是,在 Z-Stack 协议栈中,要将编 译好的关于传感器节点的代码下载到终端设备中,终 端设备便可实现采集路灯数据并将数据发送给协调器 的功能。

2.4.3Zigbee 协调器节点建立网络的过程

Zigbee 的网络层(NWK) 能够为应用层提供服务 接口,它也是 Zigbee 协议栈的核心层,NWK 层在概念 上由 NLME 网络层管理实体和 NLDE 网络层数据实体 这两个服务实体构成。

Zigbee 协调器的应用层通过 NLME-NETWORKFORMATION. request 的请求原语向它的网络层发出新 建一个网络的请求,而应用层相对应的程序通过直接 调用
NLME_NetworkFormationRequest 函数来实现这一
 操作过程,如果此函数判定这个设备不具有 Zigbee 协 调器的能力时,就会发起 NLME-NETWORK-FORMA-TION. conform 原语来返回请求原语执行的结果,它的状态值为 INVALID_REQUEST;如果此函数判定这个设备具有 Zigbee 协调器的能力,接着它会继续判断网 络中是否已经有这个设备存在,若判断有此设备存在, 就表明网络在此之前已经建好了,不需要重新建立网 络,若无此设备存在,此函数将通过 MLME-SCAN. request 原语来执行检测信道能量是否有效的操作,

具体操作过程由网络层调用存在于 MAC 层中的 MLMESCAN. request 函数来实现;MAC 层中的 MLME_ScanConfirm 函数会返回信道检测的结果,网络层管理实体 (NLME)将根据检测的结果为新建的网络选择一个合 适的信号传输信道并给该信道分配一个名为 PANId 的网络号,否则 MLME_ScanConfirm 函数会向应用层返 回 STARTUP-FAILURE 建网失败的信息。 若成功建立 网络并且选定了合适的 PANId 网络号,网络层就会通 过 MLME - SET. request 原  将 PANId 号   到 macPANId 的属性中,macPANId 位于 MAC 层中。

若要 运行新建立的网络,则需要网络层向 MAC 层发送请 求,具体由 MLME -START. request 请求原语来实现。 通常建立网络成功会有建网成功的提示信息,否则会 有建网失败的提示信息。

2.4.4系统的软件设计

本系统采用星型网络拓扑结构,网络中设置了一 个协调器节点和两个终端设备节点。 终端设备节点之 间不能通信,只能与协调器节点通信。 协调器节点要 能接收到终端设备节点采集的数据,就得存储由终端 设备节点发来的其在加入网络后所分配到的网络地址 信息,之后协调器端才能成功接收终端设备节点的数 据并控制该节点。 协调器建立网络成功后,终端设备 节点会寻找并加入网络,当加入网络成功后,网络状态 改变事件反馈中的定时器被触发,使得传感器节点定 时采集数据,并发送到协调器端,协调器再通过串口把数据传给 PC 机。系统的软件流程图如图 所示。

基于CC2530的zigbee物联网系统设计方案实施

CC2530单元模块功能及电路设计

(1) CPU 和内存

(2) 时钟和电源管理

(3) 外设

(4) 无线设备

CC2530 具有一个IEEE 802.15.4 兼容无线收发器。RF 内核控制模拟无线模块。另外,它提供了MCU 和无线设备之间的一个接口,这使得可以发出命令,读取状态,自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块。

CC2530的各个引脚与外部连接电路如上图所示,根据其引脚的功能接入不同的传感器采集数据。

3.2 基于CC2530的zigbee物联网系统设计整体电路图

将设计中所用到的各种传感器,如LED,电位器等与CC2530的相应的引脚相连接起来,实现数据的采集。外围电路如图所示。


将设计中所用到的各种传感器,如LED,电位器等与CC2530的相应的引脚相连接起来,实现数据的采集。

3.3 元器件清单

本次设计主要用到CC2530模块以及相关的传感器,通过传感器采集相关的数据,传输到CC2530模块,进行后续处理。所用到的元器件主要如下:

元器件

数量(个)

CC2530模块

2

气体传感器

2

继电器

2

温度传感器

2

热红外

2

脱机下载器

1

天线

2


基于CC2530的zigbee物联网系统设计的硬件制作与调试

下位机电路的连接与调试

1.下位机一共有2块实验版(1个协调器1个终端节点)。终端节点:

用IAR打开\实训资料\实训项目最终版\下位机\节点一\ZStack-CC2530-2.5.1a\Projects\zstack\Samples\GenericApp\CC2530DB\GenericApp

2.协调器:用IAR打开\实训资料\实训项目最终版\下位机\节点二\ZStack-CC2530-2.5.1a\Projects\zstack\Samples\GenericApp\CC2530DB\GenericApp

协调器要插串口将数据传输到主机上,线终端节点的传感器与cc253的连接和跳冒如下图。当三个板子的黄色LED亮时,表明组网成功。

4.2 上位机电路的连接与调试

1.导入工程, 导入需要的jar,建立需要的数据库;将上位机文件目录下的工程文件按照正确的导入方式导入到MyEclipse;实训项目最终版\上位机\SerialportClientMN;将上位机文件目录下的包文件下的jar包导入到前面导入的工程中。把上位机文件目录下的数据库文件夹下的data文件用sqlserver打开,然后点击执行,就会在sqlserver里面建立对应的数据库以及表;把上位文件目录下的win32下的dll文件(此文件是串口通信)放到工程根目录下,如果电脑是64位就用win64文件下的。

2.程序使用。运行程序将会出现登录界面,如果没有账户就点击注册,注册成功后再进行登录;登录成功会将会进入到主控制和操作界面,然后可以先设置自己需要的默认串口以及波特率, 自动刷新的时间,动态图的刷新时间;串口和波特率的设置将会在下次登录生效。(设置不是必须的)在操作界面,首先选择串口以及波特率然后打开串口。可以打开和关闭自动刷新,以及服务器。也可以点击变化图选择需要查看对应的温度,气体, 光强的变化情况(此图没有做数据处理, 当数据两大的时候图将变得相当的密集);如果需要查看当前的采集到的数据,可以点击菜单下的查看历史记录。在历史记录界面下,可以删除(支持批量删除)和修改选择的数据;查询功能不可用。

4.3 基于CC2530的zigbee物联网系统设计的实现

下位机与协调器电路连接调试成功后,将处理后的数据通过串口传递到上位机通过界面显示传输的数据。运行后的界面如下图所示。

the end

评论(0)