通过 AWS IoT Core 连接 ESP32 和 BME280 传感器,使用 MQTT 和 FreeRTOS 读取传感器数据
通过 AWS IoT Core 连接 ESP32 和 BME280 传感器,使用 MQTT 和 FreeRTOS 读取传感器数据
这篇博客是关于通过 I2C 连接 ESP32 和 BME280 并使用 MQTT 在 AWS IoT 中收集传感器数据的。
让我们开始吧 !!!!!!
硬件要求:
- ESP32 开发套件
- BME280 环境传感器
- Windows、Mac 或 Linux 系统
- 连接线(用于 I2C 连接)
软件要求:
- Arduino IDE
- 亚马逊网络服务 (AWS IoT)
- 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 库安装到我们的模块中。我们将为此项目需要两个库:
我们将使用 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 版权协议,转载请附上原文出处链接和本声明
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验