教程演示🔗
你会学到什么
-
如何使用 ESP-IDF 在 ESP32 上开发基于 WiFi 的应用程序
-
集成组件和传感器库,可以轻松地将传感器和其他组件集成到您的项目中
-
在 ESP32 上配置 ESP AWS IoT 以启用 AWS IoT 云连接
-
发布/订阅 AWS IoT Core MQTT 消息并使用 MQTT 测试客户端进行测试
-
使用基于 Eclipse 的 Espressif IDE 快速轻松地设置 ESP-IDF(Espressif IoT 开发框架)项目
-
使用 ESP-IDF 在 ESP32 上开发可扩展的模块化应用程序
-
使用 WiFi、HTTP 服务器、网页、非易失性存储、OTA 固件更新、SNTP 时间同步、RGB LED、带中断的按钮开发应用程序
-
利用 FreeRTOS 进行任务管理和任务间通信
-
如何在 Eclipse 的 IDF 版本中构建、刷新和监控应用程序
-
如何开发一个简单的网页来显示数据、将 ESP32 连接到接入点、断开 ESP32、上传新固件(OTA 更新)等
-
您将学习如何使用 FreeRTOS 原语,例如消息队列、事件组和信号量
-
了解如何使用 .HTML、JavaScript 和 CSS 开发和扩展网页,以及开发 HTTP 服务器以支持网页功能
-
在课程结束时,您将有信心使用 ESP-IDF 开发基于 WiFi 的可扩展应用程序
要求
-
ESP32 开发套件
-
DHT22 Sensor 如果要获取温湿度数据
-
RGB LED,如果你想创建 LED 状态颜色
-
跳线和面包板
-
熟悉C编程语言
描述
一般描述和背景信息:
在本课程中,我们将使用 ESP-IDF(乐鑫物联网开发框架)开发功能丰富的基于 WiFi 的应用程序,集成 ESP-IDF 组件和传感器库并配置 ESP32 以连接到 AWS IoT并通过以下方式发布/订阅消息AWS IoT Core 使用 MQTT 协议。
WiFi 通常被纳入许多 IoT 和工业 IoT 解决方案,并且是本课程中开发的应用程序的基础,它支持 AWS IoT 云连接(或您选择的任何兼容的云框架)。
ESP32是一系列低成本、低功耗、SoC(片上系统)系列微控制器,集成WiFi和双模蓝牙。ESP-IDF 是乐鑫为 ESP32 开发的官方物联网开发框架。它使用 C 和 C++ 等编程语言为任何通用应用程序开发提供自给自足的 SDK(软件开发工具包)。ESP-IDF 目前为该领域的数百万台设备提供动力,并支持构建各种联网产品,从简单的灯泡和玩具到大型家电和工业设备。
ESP-IDF 运行广泛用于嵌入式系统的 FreeRTOS,因此如果您使用运行 FreeRTOS 的其他 MCU,您在为 ESP32 开发基于 IDF 的应用程序时获得的技术和知识将很好地转化。此外,ESP-IDF 的 FreeRTOS 内核经过修改以支持多核,我们将在本课程中使用 ESP32 的两个内核。
如果您对使用 ESP32 感兴趣,并且在了解这个令人难以置信的 SoC 的同时认真提高您的嵌入式软件开发技能,那么直接利用 ESP-IDF 的功能是一个很好的方法。
IDF 设计精良,一旦开始使用,实施新功能变得轻而易举。此外,ESP-IDF 的任何新更新、错误修复或更改都可以以灵活的方式立即提供给您,而无需等待 Arduino 端口被写入。
关于课程:
对于许多人来说,最好的学习方法是从一个项目开始,这就是为什么在本课程中,我创建了一个强大的基于 WiFi 的应用程序,该应用程序能够连接到云框架(在本例中为 AWS IoT),作为学习工具 –而不是演示您可以在网上轻松找到的小示例。
本课程的预期结果是,您可以轻松地使用 ESP-IDF 开发应用程序,从应用程序代码中获得洞察力,为您自己的项目提供灵感,并最终节省您学习使用 ESP-IDF 各种组件的时间。
通过完成这个项目,通过每节课逐步编程,我相信您会轻松地开发基于 WiFi 的可扩展应用程序并使用 ESP-IDF 集成云框架,或使用 ESP-IDF 的任何应用程序,因为在使用乐鑫物联网开发框架时如何制定行动计划将变得显而易见 -> 利用乐鑫文档,查找 API 参考和相关功能,并应用有意义的内容来实现您的目标。
此外,在本课程中,我们不会专注于理论,因为这是一门实践应用程序编程课程,您可以在实践中学习。但是,我将简要介绍适用于每个部分的 ESP-IDF 应用程序编程接口的背景信息以及每个部分的应用要求的简要概述。这些概述将描述将要完成的工作以及我们将如何使用 ESP-IDF 完成它。
最后,我选择使用 ESP-IDF Eclipse 插件(或 Espressif IDE)开发这个项目,该插件适用于 Windows、MacOS 和 Linux,并提供包括 Eclipse IDE 在内的一体式安装,以及所有ESP32 开发所需的先决条件;使我们能够在安装后直接开始编程、烧写和监控 ESP32。设置过程非常简单高效,尤其是对于 Windows 用户…
其他值得注意的亮点:
使用模块化编程风格。
利用 ESP32 的两个内核并使用xTaskCreatePinnedToCore创建任务。
使用FreeRTOS 消息队列进行任务间通信。
并且,FreeRTOS 二进制信号量用于从中断服务例程 (ISR) 发出信号。
WiFi 应用程序中的状态机允许未来的增长和定制。
使用非易失性存储来保存和加载用于连接 ESP32 的WiFi 凭据。
了解开发HTTP 服务器和网页的高效工作流程。
了解如何通过网页将更新文件发送到 ESP32,从而通过 WLAN 实施OTA(无线)固件更新。
了解如何集成云框架 – 我们将集成 ESP AWS IoT 框架以实现与AWS IoT Core 的通信。
了解如何使用 MQTT 协议将数据(例如,温度、湿度和WiFi RSSI)从ESP32 发布到 AWS IoT 。
了解如何向AWS Dashboard订阅和 发布数据。
了解如何集成 ESP-IDF 组件和传感器库。
硬件:
– ESP32 开发套件
– RGB LED 和电阻器
– DHT22 传感器或来自 ESP-IDF 组件和传感器库的任何传感器
– 跳线
– 面包板
软件:
– ESP-IDF Eclipse(乐鑫集成开发环境)
我们将使用Google Chrome来测试网页功能
本课程适合谁:
- 对在 ESP32 上开发应用程序感兴趣的具有一定 C 语言经验的任何人
- 有兴趣在 ESP32 上开始嵌入式软件开发的专业人士
- 希望通过使用 ESP-IDF 超越使用 Arduino 对 ESP32 进行编程来进一步提高开发技能的爱好者