- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
多个Zigbee监测网络远程监控的实现
一、连接 MQTT
1) 生成连接字符串:指定消息代理主机的IP地址和MQTT分配的端口号,端口号缺省值为 1883;
2) 设置连接属性,包括客户机的标识、订阅类型、发送活动消息的间隔时间;
3) 创建 MQTT 客户机对象。
二、向代理发布信息
直接使用MQTT 提供的API函数publish,需要提供主题、消息、服务质量等参数。
三、向代理订阅消息
订阅是由 MQTT 对象处理的,要求有两个数组参数。分别是订阅主题数组、服务质量数组。这两个数组是"索引关联的"。
主题数组是一个字符串对象数组,主题按层次结构排列,并且通过"/"字符分隔。
服务质量数组是一个整数类型的数组。服务质量的值可以为 0、1 和 2,根据具体的应用设置。通常将服务质量的值置为2,使消息仅传递一次,以减少传输开销。
四、接收来自代理的消息
要使应用能接收到订阅的消息,必须创建一个回调处理函数,并且在MQTT客户端注册。
用MqttSimpleCallback 接口创建简单接口的对象,并实现connectionLost 和 publishArrived两个方法。
当与代理的连接意外终止时,就调用 connectionLost 方法。如果出现这种情况,则此方法试图重新连接到代理。如果 connectionLost 方法无法重新连接,则会抛出异常来通知客户机重新连接失败。
publishArrived 方法通知系统订阅主题的消息已到达客户端。
作者:李强 来源:微计算机信息
上一篇:浅谈无线电频谱数据管理
下一篇:Wi-Fi通信终端的研发与测试解决方案