Android与ZigBee的远程控制无线网关设计
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近距离无线通信和以太网远程控制之间搭建了一座桥梁。实现了无线传感网与无线互联网之间的数字信息交互,可以广泛应用到物联
网中。
Android ZigBee 无线网关 SAM9M10 相关文章:
- Android开发技巧:软硬件的巧妙整合(01-16)
- 基于Android的VoIP系统的设计与实现(03-28)
- 基于Android系统的影音播放器开发(03-25)
- Android的阿喀琉斯之踵(07-08)
- Android开发之“hello World”的实现 (07-23)
- 基于Android平台的即时通信系统客户端设计(09-24)