我想将一个将mqtt设备中的数据接收到的外部网关连接到我的AWS IoT Core。
在这张照片中,您可以(或多或少)找到该项目的概述。
总而言之,我想将上一张图片的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。
如果这不是正确的方法,我应该怎么做?
谢谢!
答案 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"