【问题标题】:AWS IOT - how to simulate a thing to publish an MQTT message to a topic?AWS IOT - 如何模拟事物以将 MQTT 消息发布到主题?
【发布时间】:2016-04-05 11:08:41
【问题描述】:

抱歉,如果这是一个菜鸟。我正在尝试学习 AWS IOT 的诀窍。

我了解我可以使用 MQTT.fx 之类的客户端将消息发布到消息代理中的主题

我还看到 AWS IOT 资源控制台,我可以创建事物、附加证书、策略和创建规则。

如果我使用 IOT 资源控制台创建一个说“汽车”的东西,控制台是否提供了某种方式让我可以让汽车将 MQTT 消息发布到主题?或者是使用 SDK 将模拟汽车连接到实际设备的唯一方法。

就像我提到的,我知道通过 MQTT 客户端发布。我只是想了解如何制作我在资源控制台中创建的“事物”,将 MQTT 消息发布到消息代理?

谢谢

【问题讨论】:

    标签: amazon-web-services iot


    【解决方案1】:

    我认为您正在寻找有关如何获取将处理订阅和发布消息的端点的信息。这在开发人员指南的Verify MQTT Subscribe and Publish 部分中进行了描述。使用 AWS CLI:

    aws iot describe-endpoint
    

    它会返回类似的东西:

    {
        "endpointAddress": "ABCDEF12345678.iot.eu-west-1.amazonaws.com"
    }
    

    你的东西应该使用现有的AWS IoT SDKs 之一来订阅 MQTT 主题并开始发布一些数据,即。速度、油耗等

    一般来说,您可以通过订阅某个主题来模拟您的事物(即汽车):

    mosquitto_sub --cafile "path-to-cert\rootCA.pem" --cert "path-to-cert\cert.pem" \
    --key "path-to-cert\privateKey.pem" \
    -h "ABCDEF12345678.iot.eu-west-1.amazonaws.com" -p 8883 -q 1 -d -t "topic/test" \
    -i "car1"
    

    然后在其他终端可以发布:

    mosquitto_pub --cafile rootCA.pem --cert certs\cert.pem --key privateKey.pem \
    -h "ABCDEF12345678.iot.eu-west-1.amazonaws.com" -p 8883 -q 1 -d -t topic/test 
    -i car2 -m "Hello, World"
    

    【讨论】:

    • 我收到错误:正在加载 Tls 选项。使用 mosquitto_pub 时,mosquitto_sub 命令可以正常工作。虽然我在mac系统中。有什么我可能遗漏的吗?
    猜你喜欢
    • 2017-02-22
    • 2018-11-26
    • 2020-09-15
    • 2018-10-01
    • 2021-03-24
    • 2021-02-17
    • 2021-10-22
    • 2022-06-12
    • 2018-03-25
    相关资源
    最近更新 更多