常见MQTT服务器搭建[转载]

简介

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

1)EMQTT:github 3265 starsgithub

2)Mosquitto:github 1645 starsweb

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

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

EMQ服务器在Windows搭建

EMQ (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed) 的语言平台。通常来讲,生产环境的MQTT服务建议搭建在Linux操做系统上,可是做为在给你验证和使用阶段,能够在常见的Windows平台上搭建、运行和测试。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版本的下载地址(需FQ);此处为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的消息。

 
 

好了,EMQ君带领着你们初步领略了MQTT服务器可以提供的基本功能,若是读者想了解其它MQTT服务器在不一样平台上的安装的话,请参考如下系列文章。

Ubuntu上搭建EMQ MQTT服务器

Ubuntu上搭建EMQ Mosquito服务器

Ubuntu上搭建EMQ Apollo服务器

Windows上搭建Mosquitto MQTT服务器

Windows上搭建Apache Apollo MQTT服务器

做者:EMQ 连接:https://www.jianshu.com/p/e5cf0c1fd55c 来源:简书 简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。
相关文章
相关标签/搜索