ESP32 开发笔记(三)ESP32 连接 AWS IOT
ESP32 AWS IOT 发布/订阅 示例
ESP32 AWS IOT 发布/订阅 示例
首先提供源码吧:GitHub源码地址
这是一个适用于 ESP-IDF 中AWS IoT C SDK 的 “subscribe_publish”示例。
AWS IOT 配置
在运行工程前,我们需要正确配置 AWS IOT :
-
正确配置 esp-iot-solution 和 示例工程
- 拉取最新的 esp-iot-solution
- 保证能够正确编译一个工程
-
正确配置 AWS 事物模块:事物、证书、策略
-
我们可以根据AWS IoT Developer Guide,从
登录 AWS IOT 控制台这一步,一直配置到配置您的设备这步,之后再进行下面的配置 -
安装私钥和证书
添加
*.pem.key和*.pem.crt文件到main/cert目录中,并重命名为private.pem.key和certificate.pem.crt。 -
设置 AWS 端点主机名
您的 AWS IOT 帐户具有唯一终端主机名。要找到它,请打开 AWS IOT 控制台,然后单击左下方的“设置”按钮。端点主机名显示在此页面的“自定义端点”标题下。
之后我们在电脑终端运行
make menuconfig并进入component config->Amazon Web Service IoT Config->AWS IoT MQTT Hostname,在这里我们输入上一步找到的主机名。 -
设置客户端 ID
在电脑终端中运行
make menuconfig,在example configuration下,设置AWS IOT Client ID的值 -
本地验证证书是否配置正确
当 ESP32 连接到 AWS IoT 时,根 CA 证书提供信任根。我们已经在文件
main/certs/aws-root-ca.pem中提供了根 CA 证书(采用 PEM 格式)。如果要本地验证此根 CA 证书未更改,可以对 AWS MQTT 主机运行以下命令:
运行
openssl s_client -showcerts -connect hostname:8883 < /dev/null命令去验证证书是否正确(将主机名替换为您的 AWS MQTT 端点主机。)根 CA 证书是打印的证书列表中的最后一个证书。 您可以复制粘贴它来代替现有的
aws-root-ca.pem文件。
-
-
正确配置 ESP32 网络连接
在电脑终端运行
make menuconfig命令,在Example Configuration目录中配置WiFi SSID和WiFi Password
监视来自设备的数据
下载完这个工程之后,程序会自动连接 AWS 并开始订阅/发布数据。
这个工程会发布数据到test_topic/node1主题,在 AWS 中提供了一个用于测试订阅/发布数据的接口:
- 在 AWS IOT 控制里,点击右上角的“MQTT Client”。
- 点击“Generate Client ID去生成一个随机 ID。
- 点击”Connect”
在连接成功后,我们可以订阅 ESP32 发布的数据:
- 点击"Subscribe to Topic"
- 在"Subscription Topic"中输入
test_topic/node1 - 点击"Subscribe"
我们可以看到正在运行的示例中发布的 MQTT 数据。
发布数据返回到设备:
- 点击"Publish to Topic"
- 在"Publish Topic"中输入
test_topic/node2 - 在有效负载字段中输入消息
- 点击“Publish”
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)