微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Android与ZigBee的远程控制无线网关设计

Android与ZigBee的远程控制无线网关设计

时间:01-18 来源:互联网 点击:


3.2.2 TCP/IP协议栈
从协议分层模型方面来将,TCP/IP由4个层次组成:链路层、网络层、传输层、应用层。每一层都呼叫它的下一层所提供的网络来完成自己的需求。实际上,TCP/IP协议可以通过链路层连接到任何网络上,例如IEEES02局域网。TCP/IP协议栈框架如图6所示。

3.2.3 网关系统协议模型
在网关系统层的ZigBee协议栈和TCP/IP协议栈之上添加一个应用地址适配层和应用协议层。应用地址适配层的作用在于将ZigBee地址(MAC值或短地址)、以太网地址(IP地址)与应用层地址形成映射关系,即将不同类型的网络地址适配到应用地址上来,使得节点在应用层同属于一个网络;应用协议层是在应用地址适配层的基础上通过制定统一的应用协议,规范节点间数据交换的格式,从而实现ZigBee网络与IP网络之间的数字信息交换功能,即实现ZigBee网关的功能。
无线网络中的ZigBee节点接收指令将数据打包,简单封装后向上发送给本地ARP,通过ARP解析出该节点的网络MAC地址,确定要发送的以太网地址;然后向上发送给网关应用程序,经分析后发送到对应的以太网UDP或TCP处理,向下发送到以太网端口MAC地址。这样就完成了数据从ZigBee网络向以太网协议的转换过程。网关系统协议模型如图7所示。


3.3 网关应用程序
网关应用程序主要指的是在网关应用协议层的规范基础上,传递的信息数据以Android任务的形式组织运行,在以太网与ZigBee网络的数据通信中,信息是以数据包的形式发送和接收的,数据包发送流程如图8所示。
在无线WiFi网络中,通过以太网与无线AP相连接的PC机是服务器端,而无线网关作为Android客户端通过TCP/IP协议与PC服务器建立网络连接,通过Socket通信,可以在实现服务器和客户端网络连接的基础上,完成数据的转发、传输和接收。
因此,无线网关应用程序要实现下面的功能:
①建立客户端(无线网关)和服务器(PC机)的Socket,网络连接,为他们之间的数据交换提供必要条件。
②将无线ZigBee模块接收到的来自ZigBee网络的数据读进缓冲区,然后写入USB无线网卡,USB无线网卡会将数据打包成WiFi协议格式,送入无线WiFi网络。
Android客户端应用程序实现流程如图9所示。



4 灯光控制功能的实现
ZigBee将应用划分为不同的域,每个应用域都有自己的ProfiIe,ZigBee Profile为这个应用域提供标准的接口和设备定义,使得不同生产商生产的针对同一应用领域的ZigBee设备之间能互通。ZigBee在智能家居、家庭自动化中采用的Profile是ZigBee Home Automation Pub lic Appliation Profile。通过该Profile及ZCL(ZigBee Cluster Library)的引入,实现了对ZigBee灯光家电设备的控制。例如网关对灯光进行开关控制,只需调用zelGeneral-SenclOnOff_CmdToggle()函数。应用程序、Profile及ZCL与其他层的接口的层次框图如图10所示。



结语
本文研究了基于Android系统和ZigBee技术的无线网关,该网关体积小,功耗低,使ZigBee网络和以太网以及WiFi网络融合为一体,在ZigBee近距离无线通信和以太网远程控制之间搭建了一座桥梁。实现了无线传感网与无线互联网之间的数字信息交互,可以广泛应用到物联
网中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top