通过 AWS IoT Core 连接 ESP32 和 BME280 传感器,使用 MQTT 和 FreeRTOS 读取传感器数据

通过 AWS IoT Core 连接 ESP32 和 BME280 传感器,使用 MQTT 和 FreeRTOS 读取传感器数据

这篇博客是关于通过 I2C 连接 ESP32 和 BME280 并使用 MQTT 在 AWS IoT 中收集传感器数据的。

让我们开始吧 !!!!!!

硬件要求:

  1. ESP32 开发套件
  2. BME280 环境传感器
  3. Windows、Mac 或 Linux 系统
  4. 连接线(用于 I2C 连接)

软件要求:

  1. Arduino IDE
  2. 亚马逊网络服务 (AWS IoT)
  3. FreeRTOS(用于计时器等)

概括:

目标是通过 I2C 连接 ESP32 和 BME280,读取传感器读数并通过 MQTT 将其发送到 AWS 云。

为此,我们有一些先决条件,如下所示:

步骤 1:在 AWS IoT Core 中创建事物

最重要的是,必须拥有一个 AWS 账户,点击下面的链接了解如何创建一个 AWS 账户。

[

创建 AWS 账户

本主题介绍如何创建不受 AWS Organizations 管理的独立 AWS 账户。如果你想…

docs.aws.amazon.com

](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html)

这里的东西代表将在 AWS 中连接的 IoT 设备。

转到 AWS IoT 核心 -> 所有设备 -> 事物。

单击创建事物。

为您的事物命名,然后单击下一步。

通过单击自动生成新证书,选择用于创建设备证书的默认或推荐选项。

单击下一步为设备创建策略。

单击创建策略并为其命名策略并将策略效果添加为“允许”,参考下图设置策略操作和资源。

通过单击下一步,您的新策略将被创建。

现在去创建一个事物并将策略添加到事物并下载所有设备根证书,客户端证书,私钥和公钥,因为它无法再次下载。

现在,我们将收到成功创建事物并创建其证书的通知。您会注意到已经创建了“YOUR_THING”事物。

第 2 步:将传感器与 BME280 传感器连接

我们的 ESP32 MQTT Publisher 与 BME280 传感器相连。

BME280 传感器用于测量有关环境温度、大气压力和相对湿度的读数。该传感器使用 I2C 或 SPI 与微控制器进行数据通信。

I2C 表示内部集成电路,其工作原理是同步、多主多从系统。对于 BME280 和 ESP 板,ESP32 充当主机,而 BME280 传感器充当从机,因为它是外部设备,因此充当从机。 ESP 开发板通过 I2C 协议与 BME280 传感器通信,以获取温度、气压和相对湿度。

This is the Sparkfun environmental combo which has BME280 and the CCS811 Sensor

  • VCC:接3.3V
  • SCL:用于产生时钟信号
  • SDA:用于发送和接收数据

将 BME280 传感器与 ESP32 连接

BME280 与 ESP32 板的连接非常简单。我们必须将 VCC 端与 3.3V 连接,地与地(公共地)连接,传感器的 SCL 与模块的 SCL 连接,传感器的 SDA 与 ESP32 模块的 SDA 引脚连接。

第 3 步:安装 Arduino IDE 和所需的库

Arduino IDE 可用于 Mac 和 Windows,我们可以下载 IDE 并开始安装所有库。

ESP32 开发板必须下载到 Arduino IDE,以下链接将让您了解如何将 ESP32 开发板与 Arduino IDE 集成。

[

如何在 Arduino IDE 中安装 ESP32

在本文中,您将学习如何在 Arduino IDE 中安装 ESP32。这将是关于……的分步说明。

微控制器实验室.com

](https://microcontrollerslab.com/install-esp32-arduino-ide/)

安装 BME280 Arduino 库

由于我们将 BME280 传感器与 ESP32 连接,因此我们必须将 BME280 库安装到我们的模块中。我们将为此项目需要两个库:

  1. Adafruit_BME280 库
  2. Adafruit_Sensor 库

我们将使用 Arduino IDE 中的库管理器来安装最新版本的库。打开您的 Arduino IDE 并转到 草图 > 包括库 > 管理库。 在搜索栏中输入 Adafruit BME280 库名称并安装它们。

ESP32 MQTT BME280 Publisher Arduino Sketch

  • 导入所有需要的库

  • 为 MQTT 订阅和发布创建主题。

define AWS_IOT_PUBLISH_TOPIC “esp32/pub”

define AWS_IOT_SUBSCRIBE_TOPIC “esp32/sub”

  • 声明处理消息和连接 Wifi 的函数,并声明 AWS 凭证。

  • 连接 AWS IoT 和 MQTT 主机的功能。

  • 发布消息、创建 I2C 连接并连接到 AWS MQTT 的功能。

  • 显示结果的功能

第 4 步:创建一个名为 secrets.h 的文件并添加 AWS 证书、私钥和设备根密钥。

第五步:编译运行代码

编译并运行代码没有任何错误后,您可以打开串行终端,可以看到代码正常工作并连接到 AWS IoT。

第 6 步:转到 AWS IoT MQTT 测试客户端并发布到主题

现在导航到 AWS IoT 并单击 MQTT 测试客户端并给出发布主题,在我们的例子中是“esp32/pub”。

你可以看到它和它一样甜美!!!!!!!!!!

您可以使用 ESP32 和 AWS MQTT 从 Amazon AWS IoT Core 发送或接收数据,我们可以订阅各种 IoT 节点发布的传感器读数主题。

非常感谢您的阅读……..Hav fun hacking !!!!!!

维马尔库玛·帕塔沙拉蒂

嵌入式机器学习工程师,数量分析

加利福尼亚州多伦多

联系我 @ https://www.linkedin.com/in/vimal-kumar-parthasarathy-767025136/

[

主页 - quantuityanalytics.com

通过智能 AI 物联网和 5G 无线随时随地进行实时车队管理 了解更多

quantuityanalytics.com

](https://quantuityanalytics.com/)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/18698/34380610

posted @   哈哈哈来了啊啊啊  阅读(599)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示