这段时间有个同事在开发一款物联网硬件,这需要将采集的传输到客户的MQTT
服务器上,不过目前还在调试阶段,连接到对方服务器测试的话很不方便,于是他就想要搭建一个MQTT
测试服务器。在网上搜索了常用的MQTT
代理服务器,最终决定采用ActiveMQ Artemis
。
ActiveMQ介绍
Apache ActiveMQ
是一款基于Java
的消息服务器,支持多种协议可以使用C
,C++
,Python
,.Net
等进行连接。ActiveMQ
官网介绍目前提供2个版本下载,ActiveMQ
经典版和ActiveMQ Artemis
,其中Artemis
为下一代高性能,非阻塞架构,基于事件驱动的消息系统。
ActiveMQ Artemis 安装
为了测试方便我们将ActiveMQ Artemis
部署在windows
平台,我们在activemq
官网下载apache-artemis-2.14.0-bin.zip
,目前最新版本为2.14.0 (July 20, 2020)
。
我们将下载的ZIP压缩包解压到D:\apache-artemis-2.14.0-boker
。创建一个broker
实例,实例需要新建一个文件夹F:\apache-artemis-2.14.0-boker
,进入D:\apache-artemis-2.14.0-boker\bin
目录执行(artemis create D:\apache-artemis-2.14.0-boker)创建broker
实例,执行artemis create
命令提示需要输入账号密码,按照提示输入即可。
创建成功后,执行artemis run
启动broker
实例。实例启动成功后,我们可以使用创建实例时输入的的账号密码登入管理面板。
ActiveMQ Artemis 配置
我们可以修改MQTT
的默认端口,配置文件位置:实例文件夹\etc\broker.xml
<!-- MQTT Acceptor -->
<acceptor name="mqtt">tcp://0.0.0.0:1883
我们将1883
修改为我们需要的端口即可
修改管理面板WEB端口,配置文件位置:安装目录 \etc\bootstrap.xml <web bind="localhost:8161" path="web"> 默认端口8161
修改为你想要的端口
MQTT客户端测试
我们使用通讯猫调试软件,订阅硬件发布的主题消息。
同事说能否自己弄一个简单的MQTT
客户端,实时解析订阅收到的消息。客户端程序的话,用 C#winform
写很方便,手撸一个MQTT
客户端代码(使用MQTTnet)分分钟搞定。
以上就是关于如何搭建MQTT
测试服务器的相关介绍了,希望对大家有所帮助。