我们可以使用 MQTT 客户端来测试 MQTT 的通讯功能,这里介绍常用的两款工具 MQTTBox
和 MQTT.fx
。
MQTT(MQ Telemetry Transport)协议,是 IBM 公司在 1999 年开发的轻量级网络协议,它有三个主要特点:
这三个特点,让 MQTT 协议非常适合计算能力有限、网络带宽低、信号不稳定的远程设备,所以它成为了物联网系统事实上的网络协议标准。
MQTT 相关概念:
协议支持:
特点:
官网地址:https://github.com/workswithweb/MQTTBox
这款软件支持在 Windows、Mac 和 Linux 上面运行,我们到其官网选择合适的版本下载安装即可。
下载地址:http://workswithweb.com/mqttbox.html
前提:已启动 MQTT 服务器
点击Create MQTT Client
按钮来创建一个 MQTT 客户端;
接下来对 MQTT 客户端进行配置,主要是配置好协议端口、连接用户名密码和 QoS 即可;
再配置一个订阅者,订阅者订阅 testTopicA 这个主题,我们会向这个主题发送消息;
点击顶部 Connection 按钮进行连接,绿色表示连接上了,红色是连接断开。你也可以添加更多的发布者和订阅者。
发布者向主题中发布消息,订阅者可以实时接收到。
测试参数:
测试过程:
测试结果:
结论:
协议支持:
特点:
下载地址:http://www.jensd.de/apps/mqttfx/1.7.1/
点击 ⚙ 按钮来创建一个 MQTT 客户端;
接下来对 MQTT 客户端进行配置,主要是配置好协议端口、连接用户名密码和 QoS 即可;
再配置一个订阅者,订阅者订阅 testTopicA 这个主题,我们会向这个主题发送消息;
发布者向主题中发布消息,订阅者可以实时接收到。
// mqttManager 支持 publish() subsribe() unsubscribe()
// 日志记录
var Thread = Java.type("java.lang.Thread");
function execute(action) {
out("Test Script: " + action.getName());
for (var i = 0; i < 10; i++) {
switchON();
Thread.sleep(500);
switchOFF();
Thread.sleep(500);
}
action.setExitCode(0);
action.setResultText("done.");
out("Test Script: Done");
return action;
}
function switchON() {
out("fountain ON");
mqttManager.publish("home/garden/fountain", "ON");
}
function switchOFF() {
out("fountain OFF");
mqttManager.publish("home/garden/fountain", "OFF");
}
function out(message){
output.print(message);
}
软件包网盘地址:
链接:https://pan.baidu.com/s/1MX3adP3ZVopErfBO63MyOA
提取码:160z
参考资料: