如何利用zigBee网络协议做嵌入式网关设计?

描述

针对如何将基于ZigBee的网络接入基于TCP/IP的互联网,提出了一种基于ZigBee的嵌入式网关的设计方案。网关硬件选用PXA270嵌入式平台与CC2430无线模块,基于Windows  CE操作系统和Z—Stack协议栈,来实现网关的数据转发和ZigBee网络管理功能。

引言

物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化3个重要特征。

随着物联网技术的发展,基于ZigBee技术的无线传感器网络己经被广泛的应用到人们的生产及生活当中(如家庭自动化、智慧农业等)。如何将ZigBee网络接入到互联网,是人们在应用ZigBee技术组网时所面临的一个热点问题。

然而,ZigBee协议与互联网中所使用的TCP/IP协议并不兼容,要想把ZigBee网络接入到基于IP的互联网,就需要一个设备来完成两个异构网络间数据的转发。因此,提出了网关的概念,由网关来完成两个异构网络之间数据的转发。本文使用PXA270嵌入式平台和CC2430  ZigBee模块,基于windows   CE6.0嵌入式操作系统和Z—Stack协议栈,设计了一种嵌入式网关的解决方案。网关工作在两个异构的网络之间,连接着无线传感网络和互联网,其功能包括异构网络之间的数据转发和对ZigBee网络的管理。

1 系统整体设计

网关整体设计如图1所示,其总体上包括CC2430ZigBee模块、PXA270嵌入式平台、以太网口、电源模块和其他外设模块。

 

ZigBee

网关的软件设计基于Windows CE6.0嵌入式操作系统和Z—Stack v1.4.3协议栈。Windows   CE6.0系统功能丰富、内核稳定,是高度模块化的系统,具有占先式多任务调度和强大的网络通讯能力。系统支持Winsock网络编程接口,通过C/S Socket通信模型实现网关和互联网客户端的命令和数据交互。Z—Stack v1.4.3协议栈是TI公司开发的完整支持ZigBee   2006的协议栈,该协议栈提供了大量的编程接口函数,方便基于该协议栈进行开发设计。

设计中CC2430 ZigBee模块通过串口与PXA270嵌入式平台连接。Windows   CE和Z—Stack协议栈都提供了对串口通信的支持,调用相应的串口API就可以实现对串口的读写等操作,这样也就方便了PXA270嵌入式平台和CC2430  ZigBee模块之间的串口通信程序的设计。

2 各模块软件的设计

2.1 ZigBee协调器模块部分

ZigBee网络由一个协调节点、多个路由节点和多个终端节点构成,设备类型通常在编译时通过编译选项决定(ZDO COORDINATOR and RTR   NWK)。本设计中与PXA270嵌入式平台通过串口连接的CC2430模块作为整个ZigBee网络的协调节点,其主要作用是:(1)数据收发。接收 ZigBee网络上传的数据,解析并通过串口转发至PXA270平台;转发PXA270平台要发送到zigBee网络中的数据。(2)ZigBee网络管理。包括网络信道和网络ID的选取、网络的启动、节点的加入等。协调节点的程序流程图如图2所示。

 

ZigBee

协调节点与PXA270平台通信时,需用到Z—Stack提供的串口应用程序接口函数。其中,HalUARTInit()用来在设备启动时初始化串口(如设置波特率为115200),HalUARTOpen()、HalUART  Close()用来打开和关闭串口,HalUARTRead()、HalUARTWrite()用来完成对串口的读写。

2. 2 PXA270嵌入式平台部分

PXA270嵌入式平台作为网关的主要控制模块其功能包括:与ZigBee协调节点通信,接收协调节点通过串口转发的数据或将控制命令发送到协调节点;通过基于TCP/IP的流式Socket方式与IP网络通信,如上传数据、接收远程命令。PXA270平台的工作流程如图3所示。

 

ZigBee

本设计中通过两个线程来分别完成上述两个方面的工作,分别是串口通信线程和Socket通信线程,两个线程采用互斥机制实现对公共缓冲区的互斥访问。

3 测试结果

对设计方案进行ZigBee组网测试和系统整体测试。在ZigBee组网测试中,ZigBee协议栈的参数配置为默认值(MAX   DEPTH=5,MAXROUTERS=6,MAX   CHILDREN=20),地址分配方式选择分布式分配机制。将ZigBee协调器通过串口直接与电脑的COM1口相连,由ZigBee协调器通过串口向电脑发送ZigBee网络中的节点网络ID,通过串口调试助手显示ZigBee网络中的节点信息,其测试结果如图4所示。

 

ZigBee

在系统整体测试中,将ZigBee协调器通过串口直接与PXA270嵌入式平台的串口相连,由ZigBee协调器通过串口向PXA270嵌入式平台发送   ZigBee网络中的节点网络ID,PXA270嵌入式平台通过C/SSocket通信模型实现网关和互联网客户端的命令和数据交互,其测试结果如图5所示。

 

ZigBee

4 结论

针对如何把基于ZigBee无线网络接入到基于TCP/IP的互联网的问题,本文提出一种基于WindowsCE嵌入式操作系统和   ZigBee协议栈的嵌入式网关的设计方案,对网关的基本功能进行了实现。使ZigBee网络采集到的数据能够通过网关转发到基于TCP/IP的网络,通过网关能够完成对ZigBee网络的管理,达到了两个异构网络互联互通的目的,具有切合实际的应用价值。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分