双模无线网关转换方案设计
Ofweek 2022-09-09

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

  1 系统总体结构

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

基于ZigBee和WiFi的双模网关设计方案

  图1 系统总体结构

 2 无线网关的设计

  2.1 ZigBee数据流分析

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

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

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

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

基于ZigBee和WiFi的双模网关设计方案

 表1 Zigbee模块设置命令表

  2.2 通信协调器的设计

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

  2.3 传输协议的实现

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

基于ZigBee和WiFi的双模网关设计方案

  串口传输协议自定义帧格式

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

基于ZigBee和WiFi的双模网关设计方案

  表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。

基于ZigBee和WiFi的双模网关设计方案

  图2 串口协议解析流程图

  3 系统软件设计

  3.1 系统软件架构

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

基于ZigBee和WiFi的双模网关设计方案

  图3 系统软件架构图

  3.2 系统软件流程

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

基于ZigBee和WiFi的双模网关设计方案

  图4 系统数据流图

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

  3.3 测试与验证

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

基于ZigBee和WiFi的双模网关设计方案

  图5 实验结果图

  结语

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

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 物联网
  • 蓝牙
  • WIFI
  • LoRa
  • 水质测量系统的参考设计

    Circuits from the Lab®参考设计Analog Devices公司的Circuits from the Lab®参考设计是Analog Devices公司熟练的工程师为各个领域最终产品而制作的包含基板、布局在内的全部设计信息、软件...

    2024-12-09
  • 使用手势传感器制作钥匙锁认证系统

    手势传感器用例子 – 钥匙锁认证系统 作为代替机械按钮和开关的新用户界面,手势传感器正在受到关注。但是,很多人不知道手势传感器实际上适用于哪个应用。将手势传感器用作用户界面的优势应用...

    2024-12-09
  • 智能家居的传统居住功能

    智能家居是未来发展趋势,在喜爱科技化的小伙伴家中,智能家居也是必不可少的组件。为增进大家对智能家居的认识,本文将对智能家居、智能家居系统的安装予以介绍。如果你对智能家居具有兴趣,不妨和小编一起继续往...

    2024-07-23
  • 工业物联网应用层如何实现所感知信息的应用服务?

    物联网" target="_blank">工业物联网的应用具有实时性、自动化、嵌入式(软件)、安全性、和信息互通互联性等特点,在上篇文章中,小编对工业物联网感知层、现场管理层、网络层有所阐述。为增进大家对工业物联网的认...

    2024-07-08
  • 物联网安全性:建立单独网络的重要性

    物联网IoT这个概念,已经发展了好多年了,想必大家对于物联网这3个字早已不再陌生了。为增进大家对物联网的认识,本文将对提升物联网安全性的10个技巧予以介绍。如果你对物联网或是本文内容具有兴趣,不妨继续往下...

    2024-07-08
  • 云存储的三大分类和两个隐患

    存储是各电子设备均存在的组件或者能力之一,通过存储,能够帮我们存储运行过程中产生的数据。依据存储的不同,可分为对象存储、文件存储等。目前,最火热的存储方式之一,便是云存储。为增进大家对云存储的认识,...

    2024-06-21
  • 云存储的3大类型

    云存储作为目前最火热的存储方式之一,自然受到不少人的关注。上篇文章中,小编对云存储的分类以及云存储的版本、隐私问题有所阐述。本文中,为增进大家对云存储的认识,将对云存储的选择、云存储的一些弊端予以介...

    2024-06-21
  • 云存储的优势及文件管控

    前两篇文章中,小编对云存储分类、云存储版权问题、云存储的选择以及云存储的弊端有所阐述。为增进大家对云存储的认识,本文将对云存储的优势以及云存储文件管控予以介绍。如果你对云存储具有兴趣,不妨继续往下阅...

    2024-06-21
  • BLE抗干扰的几种解决方案

    蓝牙作为常用技术,早已被现代居民所接受。但是,大家想过一个问题吗?蓝牙为什么被称为蓝牙呢?蓝牙的命名缘由是什么?本文中,小编将对该问题予以探讨。此外,小编还将介绍蓝牙技术存在的几个问题,以及蓝牙抗干扰的...

    2024-06-21
  • AGV远程控制及工作环境实时监控的实现

    1 总体方案设计 物流中心自动引导小车(AGV)控制系统由AGV智能控制模块、监视模块、及无线网络通讯模块等三大部分组成。工作过程是通过接入互联网的手机或者微机客户端通过无线网络向远程的AGV发送控制指令代码,期...

    2024-06-14
下载排行榜
更多
评测报告
更多
广告