mqtt.md 2.3 KB

MQTT动作

该操作用于将输出消息发布到MQTT服务器中。

Property name Optional Description
server false mqtt服务器的代理地址,例如tcp://127.0.0.1:1883
topic false mqtt主题,例如分析/结果
clientId true mqtt连接的客户端ID。 如果未指定,将使用一个uuid
protocolVersion true 3.1 (也被称为 MQTT 3) 或者 3.1.1 (也被称为 MQTT 4)。 如果未指定,缺省值为 3.1。
qos true 消息转发的服务质量
username true 连接用户名
password true 连接密码
certificationPath true 证书路径。可以为绝对路径,也可以为相对路径。如果指定的是相对路径,那么父目录为执行server命令的路径。比如,如果你在/var/kuiper 中运行 bin/server ,那么父目录为 /var/kuiper; 如果运行从/var/kuiper/bin中运行./server,那么父目录为 /var/kuiper/bin
privateKeyPath true 私钥路径。可以为绝对路径,也可以为相对路径。更详细的信息,请参考 certificationPath.

以下为使用 SAS 连接到 Azure IoT Hub 的样例。

    {
      "mqtt": {
        "server": "ssl://xyz.azure-devices.net:8883",
        "topic": "devices/demo_001/messages/events/",
        "protocolVersion": "3.1.1",
        "qos": 1,
        "clientId": "demo_001",
        "username": "xyz.azure-devices.net/demo_001/?api-version=2018-06-30",
        "password": "SharedAccessSignature sr=*******************"
      }
    }

以下为使用证书和私钥连接到 AWS IoT的另一个样例。

    {
      "mqtt": {
        "server": "ssl://xyz-ats.iot.us-east-1.amazonaws.com:8883",
        "topic": "devices/result",
        "qos": 1,
        "clientId": "demo_001",
        "certificationPath": "keys/d3807d9fa5-certificate.pem",
        "privateKeyPath": "keys/d3807d9fa5-private.pem.key"
      }
    }