我想将从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。
如果这不是正确的方法,我应该怎么做?
谢谢!
要将任何设备连接到AWS IoT Core,首先应将设备定义为AWS IoT Service中的设备。通过定义,您将获得应该放入设备的网关的授权和身份验证。因为您的网关和AWS IoT代理之间的通信应该是安全的。其次,要连接到AWS IoT代理,应使用AWS IoT SDK之一。你可以找到更多关于他们here的信息。 SDK的选择取决于您的网关。例如,如果它运行的是基于Linux或Windows的操作系统,则可以使用Python(Boto),如果是Bare-Metal
,则可以使用嵌入式C中的SDK。您应该考虑附加到设备证书的正确策略。例如,以下策略将允许您的设备执行here描述的所有操作。
{
"Statement": [
{
"Effect": "Allow",
"Action": "iot:*",
"Resource": "*"
}
],
"Version": "2012-10-17"
}
您可以在设置下找到IoT核心的端点地址。
我刚刚按照教程开始工作:
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"