多个Zigbee监测网络远程监控的实现
三、向代理订阅消息
订阅是由 MQTT 对象处理的,要求有两个数组参数。分别是订阅主题数组、服务质量数组。这两个数组是“索引关联的”。
主题数组是一个字符串对象数组,主题按层次结构排列,并且通过“/”字符分隔。
服务质量数组是一个整数类型的数组。服务质量的值可以为 0、1 和 2,根据具体的应用设置。通常将服务质量的值置为2,使消息仅传递一次,以减少传输开销。
四、接收来自代理的消息
要使应用能接收到订阅的消息,必须创建一个回调处理函数,并且在MQTT客户端注册。
用MqttSimpleCallback 接口创建简单接口的对象,并实现connectionLost 和 publishArrived两个方法。
当与代理的连接意外终止时,就调用 connectionLost 方法。如果出现这种情况,则此方法试图重新连接到代理。如果 connectionLost 方法无法重新连接,则会抛出异常来通知客户机重新连接失败。
publishArrived 方法通知系统订阅主题的消息已到达客户端。
4.2. 与数据采集节点间的数据传递
网关节点作为Zigbee监测网络与IP网络的连接点,除了要与上一层的消息代理进行数据传递,还要与Zigbee监测网络中的数据采集节点间进行数据传递,获得原始的监测数据和向数据采集节点传递设置参数。
4.2.1. 网关节点的硬件结构
网关节点的硬件结构如图2所示。主要分成两大部分:系统运行的硬件平台和IEEE802.15.4无线通信模块。

图2 网关节点的硬件结构
文章出处:IT专家网
