← 返回首页

ESP32实战开发: 通过ESP-IDF构建物联网应用 | IoT Application Development with the ESP32 Using the ESP-IDF

硬件嵌入式系统
¥34
网盘链接:会员可见
提取密码:会员可见
资源状态:✓ 有效

课程介绍

IoT Application Development with the ESP32 Using the ESP-IDF

使用ESP32、ESP-IDF及FreeRTOS构建WiFi应用,轻松连接AWS IoT进行MQTT通信。

您将会学到

  • 如何使用ESP-IDF在ESP32上开发基于WiFi的应用程序
  • 集成组件和传感器库,允许轻松集成传感器和其他组件到你的项目中
  • 配置ESP AWS IoT以启用AWS IoT云连接
  • 发布/订阅AWS IoT Core MQTT消息并通过MQTT测试客户端进行测试
  • 使用基于Eclipse的Espressif IDE快速轻松地设置ESP-IDF(Espressif物联网开发框架)项目
  • 使用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 传感器
  • 若需创建 LED 状态颜色,可使用 RGB LED
  • 跳线和小面包板
  • 熟悉 C 语言编程

描述

在本课程中,我们将使用ESP-IDF(Espressif物联网开发框架)开发一个基于WiFi的功能丰富的应用程序,集成ESP-IDF组件和传感器库,并配置ESP32连接到AWS IoT并通过MQTT协议在AWS IoT Core上发布/订阅消息。

WiFi广泛应用于许多物联网和工业物联网解决方案中,是本课程开发的应用程序的基础,该应用实现了与AWS IoT云的连接性(或您选择的任何兼容云框架)。

ESP32是一个低成本、低功耗的系统级芯片系列微控制器,集成了WiFi和双模蓝牙。ESP-IDF是Espressif官方为ESP32提供的物联网开发框架,它提供了适用于任何通用应用开发的自足SDK,支持如C和C++等编程语言。目前,ESP-IDF驱动着数百万设备,并能够构建从简单的灯泡和玩具到大型家电和工业设备的各种网络连接产品。

ESP-IDF运行FreeRTOS,这是嵌入式系统中广泛使用的操作系统,因此在开发基于IDF的应用程序时所获得的技术和知识,如果您使用其他运行FreeRTOS的MCU,这些知识也将非常有用。此外,ESP-IDF的FreeRTOS内核经过修改以支持多核操作,我们将在本课程中利用ESP32的两个核心。

如果您对ESP32感兴趣并希望提高您的嵌入式软件开发技能,那么直接利用ESP-IDF的能力是一个绝佳的选择。

关于课程:

对于许多人来说,学习的最佳方式是从项目开始,这就是为什么在这个课程中,我创建了一个强大的基于WiFi的应用程序,它可以作为一个学习工具连接到云框架(这里指AWS IoT),而不是演示那些你在网上轻易能找到的小例子。

本课程的目的在于让您熟悉使用ESP-IDF开发应用程序,从应用代码中获取见解,为自己的项目提供灵感,并最终节省您学习使用ESP-IDF各种组件的时间。

通过逐步编程每个课程中的内容,我相信您将感到自信地开发可扩展的基于WiFi的应用程序,并使用ESP-IDF或任何使用ESP-IDF的应用程序集成云框架——当使用Espressif的物联网开发框架时,您将清楚如何制定行动计划,包括利用Espressif文档,查找API参考及相关函数,并运用它们实现您的目标。

此外,本课程不会专注于理论,因为这是一个实践性的编程课程,您通过动手来学习。然而,我会简要介绍适用于每个部分的ESP-IDF应用程序编程接口的背景信息以及每个部分的应用要求概述,描述我们将完成的工作及其实现方法。

最后,我选择了使用ESP-IDF Eclipse插件(或Espressif IDE)来开发这个项目,它支持Windows、MacOS和Linux,提供了一站式的安装,包含Eclipse IDE及ESP32开发所需的所有先决条件,使我们在安装后可以直接开始编程、烧录和监控ESP32。设置过程非常简便高效,特别是对于Windows用户而言。

其他值得注意的亮点:

  • 使用模块化编程风格。
  • 利用ESP32的两个核心并通过xTaskCreatePinnedToCore创建任务。
  • 使用FreeRTOS消息队列进行任务间通信。
  • 以及使用FreeRTOS二进制信号量从中断服务例程(ISR)发出信号。
  • WiFi应用程序中的状态机允许未来的增长和定制。
  • 使用非易失性存储保存和加载WiFi凭据以连接ESP32。
  • 学习开发HTTP服务器和网页的高效工作流程。
  • 学习如何通过WLAN实施OTA(空中下载技术)固件更新,通过网页发送更新文件至ESP32。

硬件需求包括ESP32 DevKit、RGB LED和电阻器、DHT22传感器或其他来自ESP-IDF组件和传感器库的传感器、跳线和面包板。软件方面,则需要ESP-IDF Eclipse(Espressif IDE)以及Google Chrome用于测试网页功能。

此课程面向哪些人:

  • 任何具备一些 C 语言基础,并希望开发 ESP32 应用程序的人
  • 对 ESP32 嵌入式软件开发感兴趣的专业人士
  • 爱好者希望通过使用 ESP-IDF 来提升开发技能,从而超越仅使用 Arduino 编程 ESP32 的阶段