基于ZigBee的嵌入式网关设计方案

引言
物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化3个重要特征。
随着物联网技术的发展,基于zigbee技术的无线传感器网络己经被广泛的应用到人们的生产及生活当中(如家庭自动化、智慧农业等)。如何将zigbee网络接入到互联网,是人们在应用zigbee技术组网时所面临的一个热点问题。
然而,zigbee协议与互联网中所使用的tcp/ip协议并不兼容,要想把zigbee网络接入到基于ip的互联网,就需要一个设备来完成两个异构网络间数据的转发。因此,提出了网关的概念,由网关来完成两个异构网络之间数据的转发。本文使用pxa270嵌入式平台和cc2430 zigbee模块,基于windows ce6.0嵌入式操作系统和z—stack协议栈,设计了一种嵌入式网关的解决方案。网关工作在两个异构的网络之间,连接着无线传感网络和互联网,其功能包括异构网络之间的数据转发和对zigbee网络的管理。
1 系统整体设计
网关整体设计如图1所示,其总体上包括cc2430zigbee模块、pxa270嵌入式平台、以太网口、电源模块和其他外设模块。
图1:网关整体设计
网关的软件设计基于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所示。
图2:协调节点的程序流程图
协调节点与pxa270平台通信时,需用到z—stack提供的串口应用程序接口函数。其中,haluartinit()用来在设备启动时初始化串口(如设置波特率为115200),haluartopen()、haluart close()用来打开和关闭串口,haluartread()、haluartwrite()用来完成对串口的读写。
2. 2 pxa270嵌入式平台部分
pxa270嵌入式平台作为网关的主要控制模块其功能包括:与zigbee协调节点通信,接收协调节点通过串口转发的数据或将控制命令发送到协调节点;通过基于tcp/ip的流式socket方式与ip网络通信,如上传数据、接收远程命令。pxa270平台的工作流程如图3所示。
图3:pxa270平台的工作流程
本设计中通过两个线程来分别完成上述两个方面的工作,分别是串口通信线程和socket通信线程,两个线程采用互斥机制实现对公共缓冲区的互斥访问。
3 测试结果
对设计方案进行zigbee组网测试和系统整体测试。在zigbee组网测试中,zigbee协议栈的参数配置为默认值(max depth=5,maxrouters=6,max children=20),地址分配方式选择分布式分配机制。将zigbee协调器通过串口直接与电脑的com1口相连,由zigbee协调器通过串口向电脑发送zigbee网络中的节点网络id,通过串口调试助手显示zigbee网络中的节点信息,其测试结果如图4所示。
图4:zigbee组网测试结果
在系统整体测试中,将zigbee协调器通过串口直接与pxa270嵌入式平台的串口相连,由zigbee协调器通过串口向pxa270嵌入式平台发送 zigbee网络中的节点网络id,pxa270嵌入式平台通过c/ssocket通信模型实现网关和互联网客户端的命令和数据交互,其测试结果如图5所示。
图5:系统整体测试结果
4 结论
针对如何把基于zigbee无线网络接入到基于tcp/ip的互联网的问题,本文提出一种基于windowsce嵌入式操作系统和 zigbee协议栈的嵌入式网关的设计方案,对网关的基本功能进行了实现。使zigbee网络采集到的数据能够通过网关转发到基于tcp/ip的网络,通过网关能够完成对zigbee网络的管理,达到了两个异构网络互联互通的目的,具有切合实际的应用价值。
4月8号更有无线通讯技术研讨会线下指导开发,让开发技术难题无忧~!

扬尘噪声在线监测系统解决方案
我国物联网成绩与挑战并存
浪潮存储深入研究数据需求,以不断提升数据价值
三星确认投资智能设备 可穿戴市场竞争加剧
三星S20 Ultra与iPhone 11 Pro Max哪个更耐摔
基于ZigBee的嵌入式网关设计方案
全面解析HDMI2.1在音影播放方面的提升
导电材料提升锂电池性能的创新路径
矽朋微无锡公司团队获评无锡市“太湖人才计划”创业领军人才
行业 | 华为FabricInsight智能运维为运营商迈入智能时代保驾护航
一个非常简单的家庭电话铃声发生器电路
DLT Support in CANape
声控开关带强启线的接线步骤
2010卡塔尔国际建筑、建材博览会/卡塔尔多哈建筑建材展/新
详谈两大智能合约签名验证漏洞分析
如何解决笔记本太重的问题?
三星发布GW1传感 支持6400万像素
“新奔腾”,进取不止!壮大产品矩阵,树立物联网汽车行业典范
前事不忘后事之师,小米6降临前看看小米5的缺点
Qualcomm Snapdragon在无人机领域的应用:Hover Camera