天天看点

MQTT.fx的安装和使用

介绍

1. MQTT简介

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

2. MQTT应用

IBM和St. Jude医疗中心通过MQTT开发了一套Merlin系统,该系统使用了用于家庭保健的传感器。St. Jude医疗中心设计了一个叫做[email protected]的心脏装置,这种无线发射器可以用来监控那些已经植入复律-除颤器和起搏器(两者都是基本的传感器)的心脏病人。

该产品利用MQTT把病人的即时更新信息传给医生/医院,然后医院进行保存。这样的话,病人就不用亲自去医院检查心脏仪器了,医生可以随时查看病人的数据,给出建议,病人在家里就可以自行检查。

通过MQTT协议,目前已经扩展出了数十个MQTT服务器端程序,可以通过PHP,JAVA,Python,C,C#等系统语言来向MQTT发送相关消息。

此外,国内很多企业都广泛使用MQTT作为Android手机客户端与服务器端推送消息的协议。随着移动互联网的发展,MQTT由于开放源代码,耗电量小等特点,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通信,信息的收集,MQTT都可以作为考虑的方案之一。在未来MQTT会进入到我们生活的各各方面。

如果需要下载MQTT服务器端,可以直接去MQTT官方网站点击software进行下载MQTT协议衍生出来的各个不同版本。

3. MQTT特点编辑

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:

  1. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
  2. 对负载内容屏蔽的消息传输;
  3. 使用 TCP/IP 提供网络连接;
  4. 有三种消息发布服务质量:

    至多一次

    消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送.

    至少一次

    确保消息到达,但消息重复可能会发生。

    只有一次

    确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
  5. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
  6. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制

下载安装

MQTT.fx支持windows/linux/mac,请选择对应的版本进行安装,本例以Windows10为例,版本为1.7.1 。

下载地址: http://www.jensd.de/apps/mqttfx/

MQTT.fx的安装和使用

下载完之后双击进行安装。

配置使用

打开软件,界面如下图

MQTT.fx的安装和使用

然后选择编辑连接

MQTT.fx的安装和使用

填写相应的

Profile Name

Broker Address

Broker Port

(如果修改过的话,默认是1883),

Client ID

可以点击

Generate

按钮自动生成。编辑完之后点击保存退出编辑界面。

MQTT.fx的安装和使用

之后到主界面的下拉框选择刚才配置的

Profile Name

名称(172.16.0.121),然后点击

Connect(连接)

按钮进行服务连接。连接成功后,再点击

Subscribe(订阅)

选项,在下方的下拉框中选择主题(或者自己创建一个主题,如i like mqtt),之后点击后面的

Subscribe(订阅)

按钮。

MQTT.fx的安装和使用

再回到

Publish(发布)

选项,在下拉框中选择一个主题(或创建一个与

Subscribe(订阅)

选项中一样的主题)。现在可以在下方的输入区域写上你要发送的消息(如wo ai mqtt,中文在订阅者的消息显示上会乱码),这里的消息支持多种格式,然后点击

Publish(发布)

按钮。

MQTT.fx的安装和使用

最后再回来

Subscribe(订阅)

选项中查看消息是否接收成功,如图所示已经成功接收到发布者发送的消息(wo ai mqtt)。

MQTT.fx的安装和使用

还可以选择对应的消息解码器(文本格式,JSON格式,Base64编码,十六进制编码,Sparkplug编码)

MQTT.fx的安装和使用

继续阅读