【问题标题】:IBM IoT output node to websockets end-pointIBM IoT 输出节点到 websockets 端点
【发布时间】:2018-07-19 17:23:47
【问题描述】:

在我的 Node-RED 流程中,我已将一个 IBM IoT 输入节点连接到一个 IBM IoT 输出节点。我在命令行上使用mosquitto_pub 发布到 WIoTP,以便启动 Node-RED 流。同样,我使用mqtt sub(来自mqttjs)来订阅来自Node-RED 流的消息。但是,我的订阅终端窗口没有收到有效负载。

发布

mosquitto_pub -h orgId.messaging.internetofthings.ibmcloud.com -p 8883 -i d:orgId:dType:default -u use-token-auth -P 'authToken' --cafile messaging.pem -t iot-2/evt/data/fmt/json -f payload.json

订阅

mqtt sub -h orgId.messaging.internetofthings.ibmcloud.com -p 443 -l wss -i a:orgId:default_mobile -u API-key -P 'API-token' --ca messaging.pem -t iot-2/type/mobile/id/default_mobile/evt/live/fmt/json

对于订阅,我创建了 API 密钥并且正在使用相同的密钥。我错过了什么?

【问题讨论】:

    标签: node.js websocket mqtt node-red watson-iot


    【解决方案1】:

    订阅主题似乎不正确。如果您的设备在

    中发布

    iot-2/evt/data/fmt/json

    那么你应该订阅

    iot-2/type/mobile/id/default_mobile/evt/data/fmt/json

    注意:注意 data 而不是 live

    【讨论】:

    • 设备发布到 IBM IoT 输入节点订阅的iot-2/evt/data/fmt/json。 IBM IoT 输入节点发布到事件类型设置为live 的输出节点。我的目标是订阅输出节点 over wss 发布的消息。
    • 能否把node-red iot输出节点的配置发过来看看?
    • 当我尝试在 pastebin.org 上粘贴整个流程的 JSON 时,垃圾邮件检测器阻止了我!所以,这里只有节点。 [{"id":"d9d6d027.eb598","type":"ibmiot out","z":"4dd997f2.a81f","authentication":"boundService","apiKey":"","outputType":"evt","deviceId":"default_mobile","deviceType":"mobile","eventCommandType":"live","format":"json","data":"LiveStatus","qos":0,"name":"Application","service":"registered","x":290,"y":300,"wires":[]}] 将一个 IBM IoT 输入节点连接到它。通过mosquitto_pub 发布到输入节点,并尝试通过mqtt sub 从IBM IoT 输出节点接收数据。
    • 一个问题,您是否看到来自 IoT 输出节点的事件?您可以连接调试节点并检查。
    • 我应该在哪里将 Debug 节点连接到 out 节点上?顺便说一句,我意识到,如果我直接将输入节点连接到输出节点,msg. 属性(在输入节点中)将覆盖在输出节点中设置的属性。我现在使用介于两者之间的函数节点来设置相关的msg. 属性。还没有运气。
    【解决方案2】:

    感谢@idan,这个问题现在已经解决了!

    1. 设备(以d: 开头)只能订阅iot-2/cmd 主题字符串。
    2. 我已将输入节点直接连接到输出节点。因此,输出节点中的所有设置都被msg. 属性覆盖。因此,我放入了一个设置msg. 属性的函数节点。或者(正如@idan 所建议的那样),函数节点可以有一行msg=msg.payload,这样节点中的属性就不会被覆盖。

    【讨论】:

    • 如果问题解决了,最好接受最佳答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多