ESP32,這款微控制器以其多功能性和強大性能,正快速成為物聯網領域的明星。在本文中,我們將深入探討ESP32如何透過創新技術和多元應用,引領著未來科技的發展趨勢。
ESP32是樂鑫信息科技研發,結合Wi-Fi和藍牙的32位元系統晶片(System on a Chip (SoC))。ESP32支援用Arduino IDE開發程式,不僅有很多的程式庫和電子模組可加速專案開發,ESP32更具備有無線聯網功能、低耗電,適合物聯綱監測和控制特性。
ESP32開發板介紹
ESP32採用32位元雙核心處理器,低功耗處理器可以在主處理器進入睡眠狀態時維持在運作狀態,並且可在有狀況發生時,喚醒主處理器。詳細ESP32規格如下
- 處理器:
CPU: Xtensa 雙核 (或單核) 32位元 LX6 微處理器, 時鐘速度 160/240 MHz, 算力高達 600 DMIPS - 儲存:
448 KB ROM (64KB+384KB), 520 KB SRAM - 無線連接:
Wi-Fi: 802.11 b/g/n - 藍牙: v4.2 BR/EDR 和 BLE (和Wi-Fi共享射頻模組)
- 外設介面:
34個可程式化 GPIOs
12位元SAR ADC,高達18個通道
2個8位元 DAC
10個輕觸感測器(電容式感應 GPIOs)
4 × SPI
2 × I²S 介面
2 × I²C 介面
3 × UART
SD/SDIO/CE-ATA/MMC/eMMC 主控制器
SDIO/SPI 從控制器
具有專用DMA和計劃支援 IEEE精準時間協定[4] 的乙太網路介面。
控制器區域網路 2.0
紅外控制器 (TX/RX, 多達8通道)
脈衝計數器 (支援 全正交 解碼)
電機 PWM
LED PWM (多達16通道)
超低功耗類比前置放大器 - 安全特性:
支援全部 IEEE 802.11 標準安全功能,包括 WPA, WPA2, WPA3(取決於版本)[5] 以及 無線區域網路鑑別與保密基礎結構 (WAPI)
安全啟動
ROM加密
1024位元 OTP
硬體加密加速: AES, SHA-2, RSA, ECC, 亂數生成 (RNG) - 電源管理:
內部 低壓差穩壓器
RTC獨立電源域
5 μA 深度睡眠電流
從GPIO中斷, 定時器, ADC , 電容式輕觸感測器中斷喚醒
使用Arduino IDE開發ESP32程式
- 電腦安裝Arduino IDE,可以參考Arduino UNO中"下載安裝Arduino IDE程式開發環境"
- 在Arduino IDE中新增支援ESP32開發板步驟:
- 選擇Arduino IDE主功能表的[檔案/偏好設定]
- 開啟偏好設定面板的額外的開發板管理員網址欄位,將底下這ESP32開發板的開發板網址貼上:
https://dl.espressif.com/dl/package_esp32_index.json
- 按下確定鈕關閉面板後,選擇[工具/開發板/開發板管理員],搜尋”esp32″關鍵字,再點擊搜尋到的工具軟體右邊的安裝,下載完畢後,Arduino IDE就有ESP32開發板的功能。
- 還需要安裝UART轉USB通訊晶片的驅動程式,Window 10系統會自行下載,下載後點擊直接安裝,下載CH34網圵連結下:
https://cdn.sparkfun.com/assets/learn_tutorials/8/4/4/CH341SER.EXE
測試ESP32開發板
為了驗證ESP32開發環境可以運作,請上傳閃爍LED程式範例(blink)測試看看,可參考”Arduino UNO設計入門“這篇中的LED閃爍。ESP32開發板接上電腦USB之後,從Arduino IDE主功能表的[工具/開發板]選擇你的開發板類型:
再設定好USB連接的COM埠
各個開發板內建的LED都在不同腳位,而ESP32的內建LED在2號腳位,所以只需要將Blink範例程式中的LED_BUILTIN修改為”2“,就可以上傳測試你的ESP32開發板是否有正常閃爍。
結論
ESP32證明了它不僅是一款多功能微控制器,更是物聯網和智能技術的驅動力。透過其高效能、易於使用和彈性高的特性,ESP32為開發者和創新者開啟了新的可能性,從家庭自動化到工業應用,皆能見其身影。它的持續進化和廣泛應用,無疑將在未來科技趨勢中扮演關鍵角色,引領我們進入更加智能和互聯的世界。
接下來會以進階方式來將Arduino UNO入門中所練習的各項目,串鏈起來使用ESP32的Wi-Fi或藍芽來設計,達到遠端控制物聯網開發案方享。
有主意,就動手,我們下篇見~