使用 ESP-IDF 通过 ESP32 进行 IoT 应用程序开发
在 ESP32 上开发基于 WiFi 的应用程序,并使用 ESP-IDF 和 AWS IoT 订阅/发布 MQTT 消息。自由实时操作系统
讲师:Kevin Aguilar
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 如何使用 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 进行任务管理和任务间通信
- 如何在 IDF 版本的 Eclipse 中构建、刷新和监控应用程序
- 如何开发一个简单的网页来显示数据、将 ESP32 连接到接入点、断开 ESP32、上传新固件(OTA 更新)等
- 您将学习如何利用 FreeRTOS 原语,例如消息队列、事件组和信号量
- 了解如何使用 .HTML、JavaScript 和 CSS 开发和扩展网页,以及开发 HTTP 服务器以支持网页功能
- 课程结束时,您将对使用 ESP-IDF 开发基于可扩展 WiFi 的应用程序充满信心
要求
- ESP32 开发套件
- 如果您想获取温度和湿度数据,DHT22传感器
- RGB LED(如果您想创建 LED 状态颜色)
- 跳线和面包板
- 熟悉 C 编程语言
描述
一般说明和背景信息:
在本课程中,我们将使用 ESP-IDF(乐鑫物联网开发框架)开发功能丰富的基于 WiFi 的应用程序,集成 ESP-IDF 组件和应用程序。传感器库并将 ESP32 配置为连接到 AWS IoT 并发布< /span>。 使用 MQTT 协议的 Core通过 AWS IoT 订阅消息 /
WiFi 通常被纳入许多 IoT 和工业 IoT 解决方案中,并且是本课程中开发的应用程序的基础,该应用程序支持 AWS IoT 云连接(或您选择的任何兼容的云框架)。
ESP32 是一系列低成本、低功耗、集成 WiFi 和双模蓝牙的 SoC(片上系统)系列微控制器。 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,因为使用乐鑫的物联网开发框架时如何制定行动计划将变得显而易见 ->利用 Espressif 文档,查找 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 服务器的高效工作流程和网页。
了解如何通过发送更新文件通过 WLAN 实现OTA(无线)固件更新通过网页连接到 ESP32。
了解如何集成云框架 – 我们将集成 ESP AWS IoT 框架以实现与 。
了解如何发布数据(例如温度 、湿度和 WiFi RSSI)来自 使用 MQTT 协议将 ESP32 连接到 AWS IoT。
了解如何订阅和发布数据 数据AWS 控制面板。
了解如何集成 ESP-IDF 组件和应用程序传感器库。
硬件:
– ESP32 开发套件
– RGB LED 和电阻
– DHT22 传感器或来自 ESP-IDF Components & 的任何传感器传感器库
– 跳线
– 面包板
软件:
– ESP-IDF Eclipse(乐鑫 IDE)
我们将使用Google Chrome测试网页功能
本课程适合谁:
- 任何有一定 C 语言经验、有兴趣在 ESP32 上开发应用程序的人
- 有兴趣开始在 ESP32 上进行嵌入式软件开发的专业人士
- 希望通过使用 ESP-IDF 超越使用 Arduino 对 ESP32 进行编程来进一步提高开发技能的爱好者