将网关连接到AWS IoT

时间:2018-09-11 11:44:02

标签: amazon-web-services aws-iot

我想将一个将mqtt设备中的数据接收到的外部网关连接到我的AWS IoT Core。

在这张照片中,您可以(或多或少)找到该项目的概述。

Details of the project

总而言之,我想将上一张图片的IoT网关连接到AWS IoT Core。

我已经看到很多关于类似主题的示例,但是在这些示例中我都找不到我想要做的事情。

是否只有通过了解我的AWS云账户的主机名/端点并将其放入我的逍遥游中才能将数据发送到该主机,才能做到这一点?

如何找到我的AWS主机名/端点?这是否有效:aws iot describe_endpoint?

将主机名放入外部网关后,我将在IoT Core中创建订阅。

我发现的最相似的教程是这样的:

https://aws.amazon.com/es/blogs/iot/how-to-bridge-mosquitto-mqtt-broker-to-aws-iot/

但是,我没有在Mosquitto和AWS IoT之间架起一座桥梁,而是直接将数据从网关发送到AWS IoT。

如果这不是正确的方法,我应该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:0)

要将任何设备连接到AWS IoT Core,首先应将该设备定义为AWS IoT Service中的事物。通过定义,您将获得网关的授权和身份验证,应将其放置在设备中。因为您的网关和AWS IoT代理之间的通信应该是安全的。其次,要连接到AWS IoT代理,应使用AWS IoT SDK之一。您可以找到有关它们的更多信息here。 SDK的选择取决于您的网关。例如,如果它正在运行基于Linux或Windows的操作系统,则可以使用Python(Boto);如果它是Bare-Metal,则可以使用Embedded C中的SDK。 您应该考虑设备证书附带的正确策略。例如,以下策略将允许您的设备执行here中所述的所有操作。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:*",
      "Resource": "*"
    }
  ],
  "Version": "2012-10-17"
}

您可以在设置下找到IoT核心的端点地址。

答案 1 :(得分:0)

我只是按照教程进行的:

https://aws.amazon.com/es/blogs/iot/how-to-bridge-mosquitto-mqtt-broker-to-aws-iot/

但是我没有在mosquitto中使用.conf文件,而是不得不在CMD中执行它:

    mosquitto_pub --cafile rootCA.pem --cert certificate.pem.crt --key private.pem.key -h XXXX.iot.eu-west-2.amazonaws.com -p 8883 -q 1 -d -t topic -m "testing"