多个ZigBee监测网络远程监控的实现.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
多个 ZigBee 监测网络远程监控的实现 本文主要介绍了基于 IEEE802.15.4 标准的 Zigbee 传感器网络技术在远程监控中的应用。该技术具有低功耗、易结合 IP 网络技术等特点,可以方便地实现对 Zigbee 监测网络的远程监控。 在传统的实现方式中,对多个 Zigbee 监测网络的远程集中管理存在一定的困难。因此,本文提出了一种新的实现方式,即使用 IBM 的 Websphere 消息中间件技术对多个 Zigbee 监测网络进行远程集中管理。 Websphere 消息中间件产品根据功能、应用对象的不同有不同的版本。在本文中,我们使用 WebSphere Connection Server Micro Edition,称为微型消息代理,主要用于嵌入式的应用,使用 MQTT 通信协议。 MQTT 是 IBM 开发,在 2001 年发布的一个开放、轻型的消息传输协议,专门用于远程传感应用等低带宽的网络通信,并支持发布/订阅消息传递模式。在这个模式中,发布者和订阅者是客户端,通过连接到消息代理在网络中传递数据。 在远程监控系统中,多个 ZigBee 监测网络作为底层,负责监测数据的采集。每个 Zigbee 监测网络有一个网关节点和若干的数据采集节点。监测网络采用星型结构,网关节点作为每个监测网络的基站。网关节点具有双重功能,一是充当网络协调器的角色,负责网络的自动建立和维护、数据汇集;二是作为监测网络与中间层交互的接口,与中间层的消息代理传递消息。 中间层为消息代理,完成消息的路由功能。分别接收管理应用、网关节点发来的消息,然后进行转发,使管理应用与监测网络的网关间实现数据交互。 上层为管理应用,作为人机接口,实时显示各个 Zigbee 监测网络的监测数据;接收用户的各种设置参数网关节点与管理应用间的数据传递是双向的,即网关节点接收到数据采集节点发来的监测数据后,预处理后形成消息发给消息代理,由消息代理转给管理应用;管理应用收到用户的设置参数或控制命令后,形成消息传递给消息代理,再由消息代理发给网关节点。所以,它们即是消息的提供者,也是消息的使用者。 在这个系统中,发布/订阅模型允许多个消息提供者向同一主题发布消息。因此,多个 Zigbee 监测网络通过其网关节点分别连接到消息代理,向同一主题发布有关监测数据的消息。管理应用通过订阅同一个主题,就能获得所有监测网络的监测数据。 另外,发布/订阅模型还允许多个消息使用者订阅同一个主题,消息代理会向不同的订阅者广播。因此,不同网关节点订阅同一主题后,管理应用只需向消息代理发送一条控制命令,多个监测网络的网关节点就能收到同一条控制命令。 在系统的实现中,我们需要对中间层的消息代理进行配置,主要包括创建连接工厂、创建主题、创建激活规范等。在消息代理上需要创建两个主题,一个用于传递监测数据,一个用于传递控制命令。不同监测网络的网关节点向监测数据主题提供消息,管理应用订阅监测数据主题。管理应用向控制命令主题提供消息,不同的网关节点订阅控制命令主题。 网关节点、管理应用作为客户端,还需要编写专门的消息收、发送模块。虽然它们运行平台不同,网关节点运行于嵌入式设备的 Linux 环境,管理应用运行于台式机的 Windows 环境,但它们实现的步骤和原理是一样的。 用 MQTT 库实现消息的发布和订阅模块,主要包括以下几个部分。生成连接字符串,指定消息代理主机的 IP 地址和 MQTT 分配的端口号,端口号缺省值为 1883;设置连接属性,包括客户机的标识、订阅类型、发送活动消息的间隔时间;创建 MQTT 客户机对象。订阅是由 MQTT 对象处理的,要求有两个数组参数。分别是订阅主题数组、服务质量数组。这两个数组是“索引关联的”。服务质量数组是一个整数类型的数组。服务质量的值可以为 0、1 和 2,根据具体的应用设置。通常将服务质量的值置为 2,使消息仅传递一次,以减少传输开销。 本文的实现方式可以实现多个 Zigbee 监测网络的远程集中管理,提高了监测网络的可靠性和实时性,为实际应用提供了一个可靠的解决方案。
- 粉丝: 6699
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助