MQTT 3.1.1 经纪商(Moquette) - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

MQTT 3.1.1 经纪商(Moquette)

Moquette MQTT 经纪人组件 (aws.greengrass.clientdevices.mqtt.Moquette) 处理客户端设备和 Greengrass 核心设备之间的 MQTT 消息。此组件提供了Moquette MQTT 经纪人. 部署此 MQTT 代理以运行轻量级 MQTT 代理。有关如何选择 MQTT 代理的更多信息,请参阅选择一个 MQTT 经纪商.

此代理实施 MQTT 3.1.1 协议。它包括对 QoS 0、QoS 1、QoS 2 保留消息、遗嘱消息和持续会话的支持。

注意

客户端设备是连接到 Greengrass 核心设备以发送 MQTT 消息和数据进行处理的本地IoT 设备。有关更多信息,请参阅 与本地 IoT 设备互动

版本

此组件具有以下版本:

  • 2.2.x

  • 2.1.x

  • 2.0.x

类型

这个组件是一个插件组件 (aws.greengrass.plugin)。这些区域有:Greengrass 核在与核心相同的Java虚拟机 (JVM) 中运行此组件。当您在核心设备上更改此组件的版本时,nucleus 会重新启动。

该组件使用与Greengrass 核相同的日志文件。有关更多信息,请参阅 显示器Amazon IoT Greengrass圆木

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件具有以下要求:

  • 核心设备必须能够在 MQTT 代理运行的端口上接受连接。默认情况下,此组件在端口 8883 上运行 MQTT 代理。配置此组件时,您可以指定不同的端口。

    如果您指定了不同的端口,并且使用MQTT 桥组件要将 MQTT 消息中继给其他代理,必须使用 MQTT 桥 v2.1.0 或更高版本。将其配置为使用 MQTT 代理运行的端口。

    如果您指定了不同的端口,并且使用IP 探测器组件要管理 MQTT 代理端点, 必须使用 IP 检测器 v2.1.0 或更高版本。将其配置为报告 MQTT 代理运行的端口。

附属物

部署组件时,Amazon IoT Greengrass还部署了其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本部分列出了的依赖项发行的版本以及定义每个依赖项的组件版本的语义版本约束。您还可以在组件的各个版本中查看依赖项Amazon IoT Greengrass控制台. 在组件详细信息页面上,查找依赖项list。

2.2.0

下表列出了此组件 2.2.0 版的依赖项。

依赖关系 兼容的版本 依赖关系类型
客户端设备身份验证 >=2.0.0 <2.3.0 硬性
2.1.0

下表列出了此组件 2.1.0 版的依赖项。

依赖关系 兼容的版本 依赖关系类型
客户端设备身份验证 >=2.0.0 <2.2.0 硬性
2.0.0 - 2.0.2

下表列出了此组件 2.0.0 到 2.0.2 版的依赖关系。

依赖关系 兼容的版本 依赖关系类型
客户端设备身份验证 >=2.0.0 <2.1.0 硬性

有关组件依赖项的更多信息,请参阅组件配方参考.

配置

此组件提供以下配置参数,您可以在部署组件时对其进行自定义。

moquette

(可选)Moquette MQTT 经纪人要使用的配置。您可以在此组件中配置 Moqeutte 配置选项的子集。有关更多信息,请参阅代码示例目录的内联注释Moquette 配置文件.

此对象包含以下信息:

ssl_port

(可选)MQTT 代理运行的端口。

注意

如果您指定了不同的端口,并且使用MQTT 桥组件要将 MQTT 消息中继给其他代理,必须使用 MQTT 桥 v2.1.0 或更高版本。将其配置为使用 MQTT 代理运行的端口。

如果您指定了不同的端口,并且使用IP 探测器组件要管理 MQTT 代理端点, 必须使用 IP 检测器 v2.1.0 或更高版本。将其配置为报告 MQTT 代理运行的端口。

默认值:8883

host

(可选)MQTT 代理绑定的接口。例如,您可以更改此参数,以便 MQTT 代理仅绑定到特定的本地网络。

默认值:0.0.0.0(绑定到所有网络接口)

例如:配置合并更新

以下示例配置指定在端口 443 上运行 MQTT 代理。

{ "moquette": { "ssl_port": "443" } }

本地日志文件

此组件使用的日志文件与Greengrass 核组件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log

查看此组件的日志

  • 在核心设备上运行以下命令以实时查看该组件的日志文件。Replace/greengrass/v2要么C:\greengrass\v2还有通往Amazon IoT Greengrass根文件夹。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表介绍了组件各个版本的更改。

Version

更改

2.2.0

版本更新为客户端设备身份验证版本 2.2.0 发行版。

2.1.0

错误修复和改进
  • 更新此组件以使用Moquette版本 0.16,它提高了性能并包括其他几项改进。

  • 修复了在某些情况下本地 MQTT 服务器证书轮换频率高于预期的问题。

    要应用此修复,您还必须使用 2.1.0 版或更高版本的客户端设备身份验证组件.

2.0.2

错误修复和改进
  • 将 MQTT 消息的最大大小从 8,092 字节增加到 128 千字节。有效的 MQTT 消息负载限制略小,因为消息大小限制包括消息标头。

  • 在中添加对整数值的支持ssl_port参数。

2.0.1

Greengrass 核心版本 2.4.0 发行版更新版本。

2.0.0

初始版本。