常见MQTT服务器搭建与试用(亲测通过)[通俗易懂]

常见MQTT服务器搭建与试用(亲测通过)[通俗易懂]常见MQTT服务器搭建与试用(亲测通过)简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。MQTT现在主要用于即时通讯,物联网M2M,物联网采集等。本文就社区上常见的开源MQTT服务器在常见操作系统上…

大家好,又见面了,我是你们的朋友全栈君。

常见MQTT服务器搭建与试用(亲测通过)

简介

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。MQTT现在主要用于即时通讯,物联网M2M,物联网采集等。本文就社区上常见的开源MQTT服务器在常见操作系统上的搭建做详细介绍。目前一些开源MQTT服务中间件有:

1)EMQX:github 4882 stars

2)Mosquitto:github 1645 stars

3)Apollo:ActiveMQ的升级版,github 109 stars,但是该项目已经有3~4年没有更新。而其号称的老版本ActiveMQ反而更新更加频繁。

建议读者在阅读此篇文章之前,最好对MQTT协议有一些基本的了解,比如消息主题,消息发布,消息订阅和QoS等。

EMQ服务器在Windows搭建

1)点击这里,下载EMQ windows版

2)解压emqttd-windows7-v2.3.9.zip(我下载的是这个版本,这里是解压到D盘)

3)打开 Windows 命令行窗口,进入emqtt解压目录

4)在Windows命令行中启动EMQ,执行下列命令

bin\emqttd.cmd start

在这里插入图片描述5)EMQ提供了一个后端Web控制台,用户可通过 Web 控制台,查看服务器运行状态、统计数据、客户端(Client)、会话(Session)、主题(Topic)、订阅(Subscription)、插件(Plugin)。如果EMQ安装在本机,则在浏览器打开http://127.0.0.1:18083,输入默认用户名“admin”和默认密码“public”,进入EMQ管理控制台。如下图所示,“Stats(1)”表格中,显示的是客户端和Topic的一些基本信息,比如“Clients/Count”的数目为0,表示目前连接的客户端数目为0;“Client/Max”表示的是连接曾经达到的最大值等。这里不对每项做一一介绍,读者对MQTT协议比较熟悉之后,就能理解监控仪表盘上的内容。

在这里插入图片描述

客户端测试 – MQTTBox

在安装好服务器端之后,我们使用MQTT的客户端对MQTT服务器的基本功能进行相关的测试。MQTT客户端有不少,比如mosquito提供了命令行,通过命令行工具可以方便地进行测试;最简单的方式可能还是通过可视化的界面对其进行测试,EMQ君建议用MQTTBox。MQTTBox有两种使用的方式:一种为Chrome插件;另外一种为Windows程序安装。两种方式下使用的方法差不多,本文以Windows程序安装版来介绍其功能。

安装步骤

1)下载安装软件:读者可以根据自己的喜好,下载不同的版本:此处为Chrome版本的下载地址(需翻墙);此处为Windows安装程序

2)根据安装向导的提示,完成MQTTBox的安装
在这里插入图片描述
3)打开安装好的应用图标,如下图所示

在这里插入图片描述

测试消息发布/订阅(Pub/Sub)功能

MQTT协议中通过主题(Topic)在消息发布者和

1)建立MQTT连接,如下图所示,点击“Create MQTT Client”

在这里插入图片描述2)指定连接相关信息,包括连接名称(可以随意输入)、协议(选择mqtt/tcp)和主机地址(安装在本地,MQTT缺省端口为1883,所以输入127.0.0.1:1883),然后单击“Save”保存。连接中一些别的选项先保持缺省值,读者对MQTT协议比较熟悉之后,就可以了解这些选项的意义。

在这里插入图片描述保存成功后进入如下的界面,接下来可以开始测试消息发布和订阅。如下图所示,绿色“Connected”按钮表明当前MQTT连接已经成功

在这里插入图片描述3)首先我们开启一个订阅,如下图所示。“Topic to subscribe”里填入要订阅的主题“windows”;“QoS”字段选择“0 – Almost Once”;然后点击“Subscribe”按钮
在这里插入图片描述4)设置好订阅的主题后,在发布这边输入如下的信息。“Topic to publish”中输入“windows”,这里输入的主题的名字必须和订阅那里的输入相同;“QoS”中选择“0 – Almost Once”;“Payload”中输入任何内容都可以,如下图所示输入了一组JSON字符串;所有内容输入完毕之后,点击“Publish”按钮

在这里插入图片描述

5)在订阅端就会收到由服务器端转发的消息内容,如下图所示。
在这里插入图片描述6)打开EMQ的管理员控制台,可以看到一些相关的统计数据已经发生了变化。比如在“The messages data”表格中,“qos0/received”的值为1,说明EMQ收到了1条QoS0的消息;“qos0/sent”的值为1,表示EMQ转发了一条QoS0的消息。

在这里插入图片描述好了,编程算啥事君带领着大家初步领略了MQTT服务器能够提供的基本功能,如果读者想了解其它MQTT服务器在不同平台上的安装的话,请参考以下系列文章。
Ubuntu上搭建EMQ MQTT服务器

Ubuntu上搭建EMQ Mosquito服务器

==============================================================

分割线


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144851.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ElasticSearch 2.0以后的改动导致旧的资料和书籍需要订正的部分

    ElasticSearch 2.0以后的改动导致旧的资料和书籍需要订正的部分

    2021年9月11日
    44
  • 最新Eric Python IDE 安装方法Eric6_17.04.1 + PyQt5_5.8.2[通俗易懂]

    博主是一名新入Pyhton坑的技术小白,一直在寻找更适合自己的PythonIDE,语是准备尝试EricPythonIDE,但是网上找到的安装教程和当前最新版本不一样了,于是经过一番折腾,博主记录下了如何安装最新版本Eric617.04.1以及PyQt5.82。也希望通过本文能帮助到和博主一样的新手同学

    2022年4月14日
    161
  • 小米手机计算机无法归零,小米体脂秤不归零怎么调

    1、放平体重秤秤角。电子体重秤是比较敏感的,所以先确认四个秤脚是否摆放平稳、否有悬空、否有杂物,另外选择坚实的地面;2、移动后数据稳定再称重。第一次称完下来等数据稳定归零后再进行第二次测量;3、关闭忽略30秒之内的称重数据功能。小米体重秤有个选项,会自动忽略30秒之内的称重数据,也就是说前一个人刚称重完,30秒内另一个人站上去,得不到准确的数据。可以选择关闭该功能或者等30秒后再称重;4、重新绑定…

    2022年4月9日
    474
  • glassfish使用jndi 配置mq_glasses的用法

    glassfish使用jndi 配置mq_glasses的用法1.启动服务器。 ①直接运行bin目录下的asadmin.bat就可以②在bin目录运行asadminstart-domaindomain1(打开服务器)asadminstop-domaindomain1 (关闭服务器)

    2022年8月20日
    3
  • java工厂模式_java工厂模式

    java工厂模式_java工厂模式java工厂模式分三种:简单工厂模式、工厂方法模式、抽象工厂模式。简单工厂模式(SimpleFactoryPattern)属于类的创新型模式,又叫静态工厂方法模式(StaticFactoryMethodPattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式就是通过一个”全能类”,根据外界传递的信息来决定创建哪个具体类的对象。如下图(懒得…

    2022年7月9日
    28
  • Int8,Int16,Int32,Int64 有什么不同呢?

    Int8,Int16,Int32,Int64 有什么不同呢?文章目录前言什么是计算机存储单元?Int8,Int16,Int32,nt64,后面的数字有什么意义?总结前言Int8,Int16,Int32,Int64有什么区别呢?或者是为什么后面的数字不一样呢?提示:以下是本篇文章正文内容什么是计算机存储单元?先来扫盲一下计算机存储单元,在计算机内部,信息都是釆用二进制的形式进行存储、运算、处理和传输的。信息存储单位有位、字节和字等几种。计算机的基本的存储单元有:位(bit):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。二进.

    2022年8月15日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号