|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/iot-application-development-with-the-esp32-using-the-esp-idf/
课程评论:没有评论
课程名称:基于ESP32的物联网应用开发与ESP-IDF框架 课程概述:在本课程中,我们将使用ESP-IDF(Espressif物联网开发框架)开发一个功能丰富的基于WiFi的应用程序。课程内容涵盖了ESP-IDF组件与传感器库的集成,以及如何配置ESP32连接到AWS物联网,使用MQTT协议进行消息的发布与订阅。WiFi是许多物联网及工业物联网解决方案中的常见技术,课程所开发的应用程序具有AWS物联网云连接功能(或您选择的任何兼容云框架)。ESP32是一系列低成本、低功耗的系统级芯片(SoC),集成了WiFi和双模蓝牙,ESP-IDF是Espressif官方的开发框架,为使用C和C++编程语言的通用应用开发提供了自给自足的软件开发工具包(SDK)。ESP-IDF目前已在多个场合应用于数百万设备中,支持从简单的灯泡和玩具到大型家电及工业设备等多种网络连接产品的开发。ESP-IDF运行FreeRTOS,这是广泛应用于嵌入式系统的操作系统,因此在ESP32上基于IDF的应用开发中获得的技术和知识也可以顺利迁移到其他运行FreeRTOS的单片机上。此外,ESP-IDF的FreeRTOS内核经过修改,支持多核,在本课程中我们将利用ESP32的两个内核。 课程目标:本课程的设计目标是通过开发一个稳健的基于WiFi的应用程序,使学员能够熟悉ESP-IDF的应用开发,深入理解应用代码,为自己的项目获得灵感,并最终节省学习ESP-IDF各个组件所需的时间。我们将通过逐步编程的方式,使您能够轻松开发可扩展的基于WiFi的应用程序,并整合云框架。课程强调实用性,学习者将在实践中掌握开发技能,同时课程中会简要介绍ESP-IDF应用编程接口的背景信息以及每个部分的应用要求概述。 软件与硬件要求: - 硬件:ESP32开发板、RGB LED及电阻、DHT22传感器(或ESP-IDF组件与传感器库中的任何传感器)、跳线、面包板 - 软件:ESP-IDF Eclipse(Espressif IDE),测试网页功能将使用Google Chrome浏览器 课程亮点: - 使用模块化编程风格,利用ESP32的两个内核创建任务。 - 使用FreeRTOS消息队列进行任务间通信,利用FreeRTOS二进制信号量进行中断服务例程的信号传递。 - WiFi应用中的状态机允许未来扩展与定制。 - 使用非易失性存储保存和加载WiFi凭证。 - 学习开发HTTP服务器和网页的高效工作流程。 - 实现过空中(OTA)固件更新,支持通过网页向ESP32发送更新文件。 - 集成云框架,将ESP AWS IoT框架与AWS IoT Core进行通信。 - 学习如何使用MQTT协议将数据(如温度、湿度和WiFi RSSI)从ESP32发布到AWS IoT。 - 学习如何从AWS仪表板订阅与发布数据。 - 整合ESP-IDF组件与传感器库。 本课程适合对ESP32感兴趣的学习者,尤其是那些希望提高嵌入式软件开发技能的人士,通过直接利用ESP-IDF的能力,带您进入物联网应用开发的世界。
General Description & Background Information:In this course, we'll develop a feature rich WiFi based application using the ESP-IDF (Espressif IoT Development Framework), Integrate an ESP-IDF Components & Sensors Library and configure the ESP32 to connect to AWS IoT and Publish/Subscribe messages via AWS IoT Core using the MQTT protocol. WiFi is commonly incorporated into many IoT and Industrial IoT solutions and is the basis of the application developed in this course which enables AWS IoT cloud connectivity (or any compatible cloud framework that you choose).The ESP32 is a series of low-cost, low-power, SoC (system on a chip) series of microcontrollers with integrated WiFi and dual-mode Bluetooth. The ESP-IDF is Espressif's official IoT Development Framework for the ESP32. It provides a self-sufficient SDK (software development kit) for any generic application development, using programming languages such as C and C++. ESP-IDF currently powers millions of devices in the field, and enables building a variety of network-connected products, ranging from simple light bulbs and toys, to big appliances and industrial devices. The ESP-IDF runs FreeRTOS, which is widely used in embedded systems, so the techniques and knowledge you gain while developing IDF-based applications for the ESP32 will translate well should you use other MCUs running FreeRTOS. Additionally, the FreeRTOS kernel of the ESP-IDF is modified for multicore support and we will utilize both cores of the ESP32 in this course.If you are interested in working with the ESP32 and are serious about improving your embedded software development skills while getting to know this incredible SoC, then harnessing the capabilities of the ESP-IDF directly, is an excellent way to go.The IDF is well designed, and once you get going, implementing new features becomes a breeze. Further, any new updates, bugfixes, or changes to the ESP-IDF can be immediately available to you in a flexible way without having to wait for the Arduino port to be written.About the Course:For many, the best way to learn is to start with a project, which is why in this course, I have created a robust WiFi based application that is able to connect to a cloud framework (AWS IoT in this case), as a learning tool - as opposed to demonstrating tiny examples that you could easily find online. The intended outcome of this course, is that you become comfortable developing applications using the ESP-IDF, gain insight from the application code, inspiration for your own projects and ultimately, save you time in learning to use various components of the ESP-IDF.By working through this project, programming step-by-step through each lesson, I'm confident that you will feel comfortable developing an extensible WiFi based application and integrating a cloud framework using the ESP-IDF, or any application using the ESP-IDF, as it will become apparent how to create a plan of action when using Espressif's IoT Development Framework -> utilizing the Espressif documentation, looking up the API reference and relevant functions, and applying what makes sense to accomplish your goals.Furthermore, in this course we will not focus on theory as this is a practical application programming course where you learn by doing. However, I will briefly present background information about the ESP-IDF application programming interface that applies to each section and a brief overview of the application requirements for each section. These overviews will describe what will be accomplished and how we are going to accomplish it using the ESP-IDF.Lastly, I have chosen to develop this project utilizing the ESP-IDF Eclipse Plugin (or Espressif IDE), which is available for Windows, MacOS, and Linux, and provides an all-in-one installation that includes the Eclipse IDE, and all prerequisites required for ESP32 development; enabling us to get started with programming, flashing and monitoring the ESP32 directly after installing. The setup process is quite easy and efficient, especially for Windows users. Other Noteworthy Highlights:Modular programming style used. Utilize both cores of the ESP32 and create tasks using xTaskCreatePinnedToCore.Use FreeRTOS message queues for inter-task communication. And, FreeRTOS binary semaphore for signalization from an interrupt service routine (ISR). State machine in WiFi application allows for future growth and customization. Use Non-Volatile storage for saving and loading WiFi credentials for connecting the ESP32. Learn an efficient workflow for developing an HTTP server and web page.Learn how to implement an OTA (over the air) firmware update over the WLAN by sending the update file via a web page to the ESP32.Learn how to integrate a cloud framework - we will integrate the ESP AWS IoT framework to enable communication with AWS IoT Core.Learn how to publish data (e.g., temperature, humidity and WiFi RSSI) from the ESP32 to AWS IoT using the MQTT protocol.Learn how to subscribe & publish data to and from the AWS Dashboard.Learn how to integrate an ESP-IDF Components & Sensors Library.Hardware:- ESP32 DevKit- RGB LED and Resistors- DHT22 Sensor or any sensor(s) from the ESP-IDF Components & Sensors Library- Jumper Wires- BreadboardSoftware:- ESP-IDF Eclipse (Espressif IDE)We'll use Google Chrome for testing the web page functionality