ZigBee与WiFi的双模无线网关设计方案解析

发布者:岭南布衣最新更新时间:2015-03-27 来源: ck365关键字:ZigBee  WiFi  双模无线网关 手机看文章 扫描二维码
随时随地手机看文章
通过分析ZigBee和WiFi协议,结合嵌入式技术,提出了一种实现双模无线网关的方案。借助于ZigBee2007,自定义通信传输协议帧,设计 Linux和CC2530F256串口传输协议。其次,建立通信模型,进行协议解析,实现协议转换。最后设计系统软件,验证双模无线网关可行性。

近年来,随着通信技术的发展,无线信息的传递越来越稳定可靠,其纠错能力和抗干扰能力也越来越强。尤其随着物联网的蓬勃发展,无线通信技术凭借其自身的便捷性,也越来越受人们的青睐与重视。

基于IEEE802.15.4标准的ZigBee协议具有自组织、稳定性好、抗干扰性强、功耗低等优点,主要应用于农业、工业检测、军事和医疗等方面。但其控制中心多是PC,不能适应野外等特殊环境。WiFi作为一种越来越普及的无线通信技术,凭借覆盖范围广、无需布线等优点,广泛存在于人们的生产生活中。以此提出一种适应于复杂环境的双模无线网关设计方案,具有良好的应用性和前瞻性[2]。

1 系统总体结构

系统由ZigBee模块、开发板模块和WiFi模块组成。ZigBee模块中,Coordinator作为ZigBee网络的中心节点,负责控制和监测ZigBee路由节点,每一个路由节点携带一个传感器,负责把传感器采集的数据发送给Coordinator。开发板模块作为协议转换的枢纽,用于解析 Coordinator传输的数据。WiFi模块,将开发板解析的数据封装成WiFi帧。这样就实现双模无线网关的转换,系统结构如图1所示。

图1 系统总体结构

2 无线网关的设计

2.1 ZigBee数据流分析

ZB253002模块是基于TI公司CC2530F256芯片,执行ZigBee2007/PRO协议的 ZigBee模块,它具有ZigBee协议的全部特点。其主要的特点:

①自动组网。所有的模块通电即自动组网,协调器(Coordinator)自动给所有的节点分配地址,不需要用户手动分配地址,网络加入、应答等专业ZigBee组网流程[3]。

②简单数据传输。ZB253002模块可以理解为“无线的 RS232 连接”,通过串行端口即可在任意节点间进行数据传输。ZigBee模块有两种数据的传输方式:数据透明传输,只要传送的第一个字节不是0xFE、0xFD 或0xFC,则自动进入数据透明传输方式;点对点的数据传输方式,数据传输的格式为0xFD(数据传输命令)+ 0x0A(数据长度)+(目标地址)+(数据)。由协调节点传输给开发板的数据添加以0xFE开头的15字节的节点信息,用来提供给 TI Sensor MoNItor,观察网络结构。

Zigbee模块设置命令表如表1所列。

表1 Zigbee模块设置命令表

2.2 通信协调器的设计

Coordinator是整个网关转换和无线传感器网络建立的中心,是数据传输的中心枢纽。因此,Coordinator的设计关系到整个系统的稳定性和可靠性。Coordinator CC2530采用ZigBee2007协议栈。ZStack是TI公司提供的一种轮询式操作系统,借助于Z-Stack,Coordinator上电后,首先进行硬件和网络初始化,然后创建3个任务:①ZigBee网络任务,该任务通过Coordinator与其子节点的“绑定”完成。其绑定的过程,协调器建立网络,创建绑定表,并设定允许绑定模式,子节点发送绑定请求,Coordinator更新绑定表并响应子节点。②串口协议解析任务,该任务用于解析来自开发板和子节点的数据,并将解析后的数据传输给子节点任务或发送给开发板[4]。③子节点任务,该任务主要用于接收子节点返回的数据,并将数据传输给串口协议解析任务。这样ZigBee协议帧的解析就转到开发板端,由Linux操作系统完成,Linux解析完成后,将有效的数据放入指定的共享内存。当 BOA收到外部Web请求,调用相应的CGI获取共享内存中的数据,并经由无线网卡以WiFi的形式传送给用户。[page]

2.3 传输协议的实现

本设计经由Linux操作系统完成ZigBee协议的解析和WiFi协议帧的形成,主要的重点在于Coordinator与Linux串口传输协议的设计。串口传输协议自定义帧格式如下:

自定义帧的格式由帧头、功能号、有效数据长度、有效数据和FCS校验5部分组成。帧头定义为0x02;功能号因获取的数据类型不同而异,有关帧格式功能码定义如表2所列;有效数据长度用于标识读取有效数据的长度范围,最大值为255;有效数据存放ZigBee协议帧;FCS校验用于数据段的校验。

表2 协议帧功能码

根据设计中的自定义帧格式,报文中的有效数据被封装成固定格式,通过串口进行传送。开发板和Coordinator通过监听串口数据分别对收到得数据包进行解析。解析流程(以Coordinator为例)如图2所示,具体解析过程如下。

Step1:Coordinator监听串口(以中断的方式),直到串口有数据。

Step2:读取一个字节,判定是否为自定义帧头。若不是,丢弃数据,回到Step1。

Step3:读取两个字节,匹配功能码。匹配失败,置错误标志位,丢弃数据,回到Step1。

Step4:读取一个字节,若该字节数据为0,则直接跳到Step6。

Step5:若读到的数据值为N(0 Step6:读取两个自己数据,对Step1~5读到得数据FCS校验,若无差错,发送N个字节的有效数据给Z-Stack协议栈,由ZStack协议栈发送给子节点。回到Step1。

Step7:若FCS校验错误,置错误标志位,丢弃已读数据,回到Step1。

图2 串口协议解析流程图

3 系统软件设计

3.1 系统软件架构

无线网关软件采用模块化设计,如图3所示,由硬件驱动层、操作系统、网络协议层和应用程序组成。硬件驱动层主要描述网关节点中ZigBee模块、 WiFi模块以及其他外设的一些驱动;操作系统层移植ARM Linux,添加无线网卡驱动模块;网络协议层主要包括ZigBee协议栈和WiFi协议栈;应用程序层主要移植了嵌入式Web服务器(BOA)、嵌入式数据库(Sqlite)、CGIC库和图形化用户界面(Qt)[5]。[page]

图3 系统软件架构图

3.2 系统软件流程

根据系统软件架构图,系统软件数据流详细设计如图4所示。

 

图4 系统数据流图

以ZigBee终端节点发送至异地终端浏览器的数据为例,介绍数据传送的整个过程。当ZigBee协调器接收到来自ZigBee终端节点的数据后,封装成自定义帧的格式经由串口传送给Linux传输协议,经协议解析,将有效数据写入共享内存。当收到外部Web请求时,Web服务器通过CGI实时获取共享内存中的数据,并动态更新网页,经由WiFi无线网卡以无线的形式传送至终端浏览器。

3.3 测试与验证

利用嵌入式技术对两种协议进行解析,完成协议转换,最终利用手机通过WiFi远程访问Web页面,读取ZigBee终端传感器数据,并对ZigBee终端的小灯开关进行远程控制,实现双模网关的基本功能。实验结果如图5所示。

 

图5 实验结果图

结语

本文通过分析ZigBee与WiFi协议栈的特点,提出了一种双模无线网关转换的方案,该方案可以很好地完成ZigBee组网、远程数据采集和远程控制等任务。实验结果表明,基于ZigBee和WiFi的双模网关切实可行,可以实现全无线网络的组建,为网络通信从有线向无线过渡提供了一种解决方案。

关键字:ZigBee  WiFi  双模无线网关 引用地址:ZigBee与WiFi的双模无线网关设计方案解析

上一篇:stm32看门狗和窗口看门狗的区别
下一篇:基于ARM处理器的高效异常处理的解决方案

推荐阅读最新更新时间:2024-03-16 13:56

ZigBee基础实验(七)--AD采集温度串口显示
1、ADC 简介   ADC 支持多达14 位的模拟数字转换,具有多达12 位有效数字位。它包括一个模拟多路转换器,具有多达8 个各自可配置的通道;以及一个参考电压发生器。转换结果通过DMA 写入存储器。还具有若干运行模式。   ADC 的主要特性如下: ● 可选的抽取率,这也设置了分辨率(7 到12 位) ● 8 个独立的输入通道,可接受单端或差分信号 ● 参考电压可选为内部单端、外部单端、外部差分或AVDD5 ● 产生中断请求 ● 转换结束时的DMA 触发 ● 温度传感器输入 ● 电池测量功能 2、ADC 操作   本节描述了ADC 的一般安装和操作,并描述了CPU 存取的ADC 控制和状态寄存器的使用。 2.1
[单片机]
<font color='red'>ZigBee</font>基础实验(七)--AD采集温度串口显示
使用软件定义的调制解调器克服WiFi连接标准的分散
    连入物联网 (IoT) 的设备数量正在迅速增加,而且丝毫没有放缓的迹象。用于物联网连接的通信标准众多,其中蓝牙和 Wi-Fi 是迄今为止最主要的两个。到 2020 年,这两项技术预计将连接 300 亿个设备,而 Wi-Fi 将一马当先。但 Wi-Fi 并不只是一个简单的标准,它有很多风格,而这就带来了挑战:现在如何设计一个可帮助 Wi-Fi 标准在未来几年盛久不衰的 Wi-Fi 解决方案?在这个帖子中,我会介绍一些使用 Wi-Fi 的不断增长的市场,以及如何开发一个低功耗、高性能、能够满足未来需求的 Wi-Fi 解决方案,并将其投放到今天的物联网市场。   智能家居、智能人体:Wi-Fi 在物联网中的应用不断扩大  
[手机便携]
应用在LED路灯控制的ZigBee智能控制系统设计方案
路灯是居民的日常生活中不可缺少的 照明 工具,随着经济和城镇化的快速发展,人们对于路灯的系统做出了改进与优化。传统的路灯照明系统一般是有线连接,其系统建设的花费较高,线路错杂不清,不易扩展移动,且智能化程度不高。为了改进传统路灯的诸多不便,人们将新技术与路灯系统结合起来,采用无线代替有线的控制方式,让路灯更智能、方便。ZigBee 技术是一种新型的无线通信技术,主要应用于短距离内的信息传输,其优点较多,将这种技术与路灯照明系统结合是一种有利的创新。除此之外,为了响应现代可持续发展的需要,我们从节能减排的角度考虑,采用 LED 路灯进行照明。这种基于 ZigBee 的路灯智能控制系统具备了稳定安全、方便高效的优势。    1、Zi
[电源管理]
谷歌出尔反尔 在“家乡”部署WiFi网络
  谷歌在加利福尼亚州芒廷维尤市撑起了一把无线互联网“伞”,使该城市的所有人都能够免费地通过无线方式接入互联网。   谷歌投资100万美元,创建了能够覆盖芒廷维尤31平方公里市区的WiFi网络。谷歌将WiFi天线安装在街灯柱上,在“信号盲区”则与居民合作,在他们的房屋上设立WiFi天线。   据谷歌负责特别项目的官员萨卡称,运营这一网络的成本极低,这一网络符合谷歌“普遍访问互联网和世界上的信息”的理念。他说,这一计划的主要目标之一是促使居民意识到他们在连接方面有其它选择,同时促使企业开发网络。   这一网络还将向在该城市工作的1000名谷歌员工提供试验新技术和服务的机会。萨卡表示,WiFi手机和其它产品厂商已经在与谷歌联系,
[焦点新闻]
嵌入式WiFi技术研究与通信设计
嵌入式WiFi技术是当前无线网络应用的一个热点。本文介绍IEEE802.11b的基本技术,给出一种在 嵌入式环境中的WiFi通信设计方案;通过一个移动监护系统的具体实现,说明方案的有效性。 关键词 IEEE802.11b嵌入式WiFi TCP/IP 移动监护 目前,IEEE802.11无线局域网标准在语音通信、无线办公等领域广泛应用,但主要还是局限在PC机、笔记本电脑等通用平台的无线通信。无线局域网在信息家电、工业控制、移动手持设备等嵌入式环境中的应用需求日益增多。如何在嵌入式系统中整合WLAN宽带通信,成为嵌入式系统应用中的一个热点。 1 IEEE802.11b无线局域网 IEEE802.11系列包括IEEE8
[嵌入式]
WiFi信令测试在研发阶段的作用
1、关于信令测试的故事 在WiFi大规模应用前,多数WiFi产品在开发阶段采用直接嵌入WiFi模块的方式来实现WiFi功能,甚至WiFi芯片厂家也仅粗略测量一下芯片性能即生产出厂。但是,随着WiFi网络的大规模覆盖和应用,对WiFi产品的性能要求越来越高,因此测试WiFi射频指标的要求应运而生。 在业界,许多设计公司、测试实验室、工厂采用非信令方式来测试WiFi产品,这在生产阶段是合适的,但是在研发阶段是否足够?这里却有着一个有趣的信令测试的故事。 2016年的某天,某著名网络产品公司技术负责人致电寻求技术支持:我们的无线路由器遇到了一个困惑:我们某款路由器应用于实际WiFi网络中时,WiFi终端接入非常困难。但是我们使用测试工具
[测试测量]
<font color='red'>WiFi</font>信令测试在研发阶段的作用
关于WiFi 7,你想知道的全在这里
正如我们终于看到大量 Wi-Fi 6 和 Wi-Fi 6E 设备进入家庭和办公室一样,一种新的 Wi-Fi 标准正在出现。它承诺通过带来更高的数据速率、更低的延迟、处理更多连接设备的能力等来改进当前的标准。 我们知道——这个技术你以前可能听说过。但这一次,Wi-Fi 的下一步确实是一个巨大的飞跃,至少在速度方面是这样。新的无线标准称为 Wi-Fi 7,或者,如果您更喜欢经典的 Wi-Fi 技术术语,则称为“802.11be”。它仍在开发中,但它肯定会在推出时产生大量新的路由器、网状系统和客户端设备。 基于这个技术产品的第一次露面可能最快在明年。因此,如果您正在考虑在不久的将来更新您的网络,那么 Wi-Fi 7 应该会引起您
[网络通信]
关于<font color='red'>WiFi</font> 7,你想知道的全在这里
CC2530(zigbee)入门开发: 安装IAR开发环境
一、CC2530与开发环境介绍 CC2530本身是一个51单片机内核,开发过51的搞起来非常容易,也就是多了一个无线射频部分;如果不使用无线射频功能,那么就和一个正常的51单片机一样。要进行CC2530的软件开发,需要先安装IAR开发环境。 IAR的版本比较多,根据支持的微处理器种类区分了许多不同的版本,我们的CC2530使用的是增强型 8051 内核,IAR的版本可以采用这个型号:IAR Embedded Workbench for 8051,直接百度搜索下载就行。 IAR和keil一样都是单片机的集成开发环境,使用起来也差不多,如果用惯了keil的编程风格,可能一时半会还不习惯IAR,风格上有不小的差异。 二、安装IAR集
[单片机]
CC2530(<font color='red'>zigbee</font>)入门开发: 安装IAR开发环境
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved