終於要開始介紹ESP32了!前幾天都在慢慢地舖成,就是為了這次的主角ESP32,但可能大家會覺得很納悶,昨天明明花了一大篇幅去介紹Arduino,Arduino又便宜又容易上手,使用的人很多、資源很豐富,下面這些連結都是用Arduino作的酷東西。
那為什麼我還要改成使用ESP32呢?
ESP32是一系列由中國上海樂鑫科技(Espressif)推出的晶片、模組、開發板,採用Tensilica Xtensa LX6微處理器,包括雙核心和單核變體,支援Arduino開放性架構,內建WiFi及低功率藍芽BLE,可用腳位也擴增到約26根,大部分腳位同時支援類比及數位,內建霍爾、溫度、觸控感測器,主頻高達240mHz的雙核心CPU,傳輸界面SPI、I2C、UART等強大的功能。
它的前身是ESP8266系列,ESP8266也是由Espressif推出,也自帶WiFi模組,方便連接網路。於2014年推出,因為一開始國外的maker還不熟悉中文,所以使用者還不多,但隨著Espressif努力的發展,加上平價的價格,很快的就有越來越多的人開始發現它的美妙之處,Espressif也於2016年推出升級後的版本-ESP32,現在不管是ESP8266、ESP32都深受國內、外maker喜愛。
雖然說Arduino自己也有推出自帶WiFi模組的Arduino MKR WiFi 1010,待其售價為台幣750。Arduino UNO 雖也可以另外購買網路、藍牙(HC05)模組,卻也增加接線與設定上的麻煩,怎麼想都還是便宜又萬能的ESP32大勝!
詳細差異可以參考下列表格
不專業名詞解釋(有的沒提到的未來會講 吧)
時脈: 處理器一秒鐘可以跑幾個運算單位(單位: GHz、MHz)
OTA: Over-the-Air Technology 空中下載技術,通過電信網路的無線技術來做軟體更新
霍爾感測: 是測量磁場用
以下是ESP32微控制器的功能區塊圖
個人不專業小筆記:
微控制器簡稱MCU,跟微處理器MPU是不同東西
我自己手上有NodeMCU-32s、DOIT DEVKIT V1、ESP32-CAM,主要都是使用前兩個版本的ESP32,它們本質上沒有差異,只有腳位數量、板子大小稍微不同,我自己比較喜歡用NodeMCU-32s,它插在麵包板上剛好會在兩邊都留下一格來使用,但老師說沒事別插麵包板!!!減少硬體出錯率XD
稍微簡單介紹其他版本:
參考資料:https://makeradvisor.com/esp32-development-boards-review-comparison/
因為暑訓課程,大家主要是使用DOIT DEVKIT V1,所以我接下來會以它為主來介紹,但應該跟其他板子大同小異!
DOIT DEVKIT V1的USB埠是使用Micro USB,除了電源的那顆紅色LED燈,還有一顆是藍色的LED燈,它會被GPIO 2控制,而微控制器是ESP-WROOM-32D,能使用的GPIO接腳共有30根。
GPIO 是種具有彈性且可以藉由軟體控制(software-controlled) 的數位訊號。
常見於開發版邊緣, 以針腳 (Pin) 的形式呈現,這些針腳即是開發版與外界溝通的重要橋樑。
簡單例子, 想像成是開關, 使用者可以打開或關閉 (input), 或由開發版來打開或關閉 (output)
每個 GPIO 可以被當成 input, output, analog 或 alternate function~
alternate function 是指其他的的功能, 如 I2C, SPI, USART, PWM, Clock 等。如何控制則取決於外部設備(peripheral)
詳細接腳功能圖
請注意!GPIO 34、35、36、39只能input
大家要小心使用,不要和我一樣不注意就踩到坑了...
接下來的內容就會慢慢帶大家了解數位、類比、UART、SPI、I2C在做什麼囉!