Contents
在 ESP32 上開發基於 WiFi 的應用並使用 C 程式語言中的 ESP-IDF 和 FreeRTOS 連接到 AWS IoT ( 物聯網 )
從這 9 小時的課程,你會學到
- 如何使用 ESP-IDF 在 ESP32 上開發基於 WiFi 的應用程式
- 在 ESP32 上配置 ESP AWS IoT 以啟用 AWS IoT 雲連接
- 發布/訂閱 AWS IoT Core MQTT 訊息並使用 MQTT 測試客戶端進行測試
- 使用基於 Eclipse 的 Espressif IDE 快速輕鬆地設置 ESP-IDF(Espressif IoT 開發框架)專案
- 整合組件和傳感器程式庫( Component & Sensors Library ),允許將傳感器和其他組件輕鬆整合到你的專案中
- 使用 ESP-IDF 在 ESP32 上開發可擴展的模組化應用程式
- 使用 WiFi、HTTP 伺服器、網頁、非揮發性儲存( Non-Volatile Storage )、OTA 韌體更新、SNTP 時間同步、RGB LED、帶中斷的按鈕開發應用程式
- 利用 FreeRTOS 進行任務管理和任務間通訊
- 如何在 Eclipse 的 IDF 版本中構建、刷新和監控應用程式
- 如何開發一個簡單的網頁來顯示資料、將 ESP32 連接到接入點、斷開 ESP32、上傳新韌體(OTA 更新)等等
- 你將學習如何利用 FreeRTOS 原語( primitives ),例如訊息佇列、事件群組和信號量( semaphores )
- 了解如何使用 .HTML、JavaScript 和 CSS 開發和擴展網頁,並開發 HTTP 伺服器以支持網頁功能
- 在課程結束時,你將有信心使用 ESP-IDF 開發基於 WiFi 的可擴展應用程式
要求
- ESP32 開發套件
- DHT22傳感器,如果你想獲取溫度和濕度資料
- RGB LED,如果你想創建 LED 狀態顏色
- 跳線和麵包板
- 熟悉 C 程式語言
課程說明
一般描述和背景資訊:
在本課程中,我們將使用 ESP-IDF(Espressif IoT 開發框架)開發功能豐富的基於 WiFi 的應用程式,整合 ESP-IDF 組件和傳感器程式庫並配置 ESP32 以連接到 AWS IoT 並通過 AWS IoT Core 發布/訂閱 使用 MQTT 協議的訊息。
WiFi 通常被整合到許多 IoT (物聯網)和工業 IoT (物聯網)解決方案中,並且是本課程中開發的應用程式的基礎,它支持 AWS IoT 雲連接(或你選擇的任何相容的雲端框架)。
ESP32 是一系列低成本、低功耗的 SoC(片上系統)系列微控制器,整合了 WiFi 和雙模藍牙。 ESP-IDF 是 Espressif (樂鑫)為 ESP32 開發的官方 IoT (物聯網)開發框架。它為任何通用應用程式開發提供了一個自給自足的 SDK(軟體開發工具包),使用 C 和 C++ 等程式語言。 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 的 IoT 開發框架時你將越來越清楚如何創建行動計劃 -> 利用 Espressif 文件、查找 API 參考和相關功能以及應用有意義的方法來實現目標。
此外,在本課程中,我們不會專注於理論,因為這是一門實用的應用程式程式課程,你可以邊做邊學。但是,我將簡要介紹適用於每個部分的 ESP-IDF 應用程式編輯界面的背景訊息程式,並簡要概述每個部分的應用程式要求。這些概述將描述將要完成的工作以及我們將如何使用 ESP-IDF 完成它。
最後,我選擇使用適用於 Windows、MacOS 和 Linux 的 ESP-IDF Eclipse 外掛(或 Espressif IDE)來開發這個專案,並提供包括 Eclipse IDE 和所有ESP32 開發所需的先決條件;使我們能夠在安裝後直接開始編寫程式、刷寫和監控 ESP32。設置過程非常簡單高效,尤其是對於 Windows 用戶…
其他值得注意的亮點:
- 使用模組化程式編輯風格。
- 利用 ESP32 的兩個內核並使用 xTaskCreatePinnedToCore 創建任務。
- 使用 FreeRTOS 訊息佇列進行任務間通訊。
- 並且,FreeRTOS 二進制信號量用於從中斷服務例程 (ISR,Interrupt Service Routine) 發出信號。
- WiFi 應用程式中的狀態機允許未來的增長和訂製。
- 使用非揮發性儲存( Non-Volatile Storage )來保存和載入 WiFi 憑證以連接 ESP32。
- 了解開發 HTTP 伺服器和網頁的高效工作流程。
- 通過將更新檔案通過網頁發送到 ESP32,了解如何通過 WLAN 實施 OTA(無線)韌體更新。
- 了解如何整合雲框架 – 我們將整合 ESP AWS IoT 框架以實現與 AWS IoT Core 的通訊。
- 了解如何使用 MQTT 協議將資料(例如溫度、濕度和 WiFi RSSI)從 ESP32 發佈到 AWS IoT。
- 了解如何在 AWS 儀表板中訂閱和發布資料。
- 了解如何整合 ESP-IDF 組件和傳感器程式庫。
硬體:
– ESP32 DevKit
– RGB LED 和電阻器
– DHT22 傳感器或 ESP-IDF 組件和傳感器程式庫中的任何傳感器
– 跳線
– 麵包板
軟體:
– ESP-IDF Eclipse (Espressif IDE)
我們將使用 Google Chrome 來測試網頁功能
目標受眾
- 任何對在 ESP32 上開發應用程式感興趣的具有 C 語言經驗的人
- 有興趣開始在 ESP32 上進行嵌入式軟體開發的專業人士
- 業餘愛好者希望通過使用 ESP-IDF 過去使用 Arduino 對 ESP32 進行程式設計來提高他們的開發技能
講師簡介
Kevin Aguilar 嵌入式軟體工程師
嵌入式軟體工程師,擁有布拉格捷克技術大學電子與通信碩士學位和紐約理工學院電機與計算機工程學士學位。 我在嵌入式軟體開發方面經驗豐富,在專業方面,我主要使用 ESP32 和 STM32 MCU。
目前,我是一名嵌入式軟體工程師,喜歡幫助他人發展他們的知識。
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- 點選這個✨優惠連結✨ 課程特價 | Udemy 永久擁有課程 NT330 起( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現