MQTT服务器搭建和测试步骤及遇见的问题

前言:MQTT服务器有好多种,查看:Servers/Brokers

  • Apache-Apollo:一个代理服务器,在ActiveMQ基础上发展而来,可以支持STOMP、AMQP、MQTT、Openwire、SSL和WebSockets等多种协议,并且Apollo提供后台管理页面,方便开发者管理和调试。
  • EMQ:EMQ2.0,号称百万级开源MQTT消息服务器,基于Erlang/OTP语言开发平台,支持大规模连接和分布式集群,发布订阅模式的开源MQTT消息服务器。
  • HiveMQ:一个企业级的MQTT代理,主要用于企业和新兴的机器到机器M2M通讯和内部传输,最大程度的满足可伸缩性、易管理和安全特性,提供免费的个人版。HiveMQ提供了开源的插件开发包。
  • Mosquito:一款实现了消息推送协议MQTT v3.1的开源消息代理软件,提供轻量级的、支持可发布/可订阅的消息推送模式。

1.Apollo下载

下载地址:http://activemq.apache.org/apollo/download.html

2.Apollo安装

1.将压缩包解压之后,进入bin目录,运行命令行appollo.cmd create mybroke,就会出现一个mybroke的文件夹。

这里写图片描述

2.然后进入mybroke的文件夹下的bin目录,运行命令行apollo-broker.cmd run开启服务器。

MQTT服务器搭建和测试步骤及遇见的问题_第1张图片

3.后台登陆接口:https://127.0.0.1:61681/或http://127.0.0.1:61680/

用户名和密码默认是:admin和password。

MQTT服务器搭建和测试步骤及遇见的问题_第2张图片

3.调试助手

下载地址:链接:https://pan.baidu.com/s/1BSxETbL-gOVUFiFM3p6fjA 密码:m6nw

MQTT服务器搭建和测试步骤及遇见的问题_第3张图片

另一个调试助手:mqtt-spy
https://blog.csdn.net/relijin/article/details/73274739

4.Python的MQTT客户端

具体可以参考:
https://blog.csdn.net/d_o_n_g2/article/details/77097115?locationNum=7&fps=1
https://blog.csdn.net/yannanxiu/article/details/52703946
https://blog.csdn.net/yannanxiu/article/details/52703946
https://blog.csdn.net/qq_37258787/article/details/79188159

Java程序测试模拟发送消息的客户端,代码如下:
https://blog.csdn.net/u013944791/article/details/44218625

Android端数据传输:
https://blog.csdn.net/luoxianfeng89/article/details/48685999

5.MQTT客户端测试

我们可以利用谷歌浏览器的扩展程序 mqttlens

mqttlens的使用:
MQTT服务器搭建和测试步骤及遇见的问题_第4张图片

可以在Subscribe和Publish里面进行数据测试,然后就可以在Apollo的可视化界面查看传输的结果了。

MQTT服务器搭建和测试步骤及遇见的问题_第5张图片

6.mqtt-spy + nodejs 数据测试

具体可以参考:https://www.jianshu.com/p/e8ad22097015

npm中关于mqtt包的介绍:https://www.npmjs.com/package/mqtt#install

mqtt-spy下载地址:mqtt-spy

mqtt-spy简介:https://github.com/eclipse/paho.mqtt-spy/wiki

mqtt-spy使用:

1.cd到mqtt-spy的jar包下面目录,运行命令行:java -jar .\mqtt-spy-0.5.4-jar-with-dependencies.jar就可以调出软件窗口。

2.进行基本信息配置:

MQTT服务器搭建和测试步骤及遇见的问题_第6张图片

3.Nodej示例:

var mqtt = require('mqtt')
var fs = require('fs')

var client  = mqtt.connect('mqtt://127.0.0.1:61613',{username:"admin",password:"password"})

client.on('connect', function () {
  client.subscribe('hello')
  client.subscribe('msg')
})

client.on('message', function (topic, message) {
    fs.appendFile(topic, message.toString() + '\n')
})

MQTT服务器搭建和测试步骤及遇见的问题_第7张图片

MQTT服务器搭建和测试步骤及遇见的问题_第8张图片

详细信息可以参考文章:
http://www.cnblogs.com/yangfengwu/p/7764667.html
https://blog.csdn.net/u012377333/article/details/68943416#chatqa
https://bbs.csdn.net/topics/392278313
https://blog.csdn.net/qq_29350001/article/details/76680646

遇见的问题:

.\apollo-broker run

出现下面报错:

Startup failed: java.lang.NoClassDefFoundError: javax/xml/bind/ValidationEventHandler

这个问题是JDK版本过高,我之前是10版本,可以使用8版本。

关于MQTT后续系列教程:

https://blog.csdn.net/yannanxiu/article/category/6442380
https://blog.csdn.net/libaineu2004/article/details/80179843
https://blog.csdn.net/column/details/19981.html
http://www.cnblogs.com/wunaozai/tag/%E7%89%A9%E8%81%94%E7%BD%91/
https://www.jianshu.com/p/e8ad22097015

你可能感兴趣的:(Arduino)