我的ESP32實做書籍:https://youyouyou.pixnet.net/blog/post/121105860
博客來網址:https://www.books.com.tw/products/0010901195


近年來隨著人工智慧及物聯網產業的興起,教育部也越來越重視如何帶領學生實做這類程式教育課程,而Arduino易學易用,能快速開發感測與互動程式,成為程式課程的主流教材。Arduino的特點是所有軟硬體都開源,感測器種類繁多價格便宜,學生在設計程式專題時,能很快的找到合適的元件接線組裝,完成程式撰寫,可以說是初學者學習程式最重要的教材之一。

目前市面上最普遍的是Arduino UNO板,網路售價大概在100~200之間。UNO板最容易取得,可用感測器也多,不過卻缺少了網路及藍牙元件,物聯網課程中「通訊」是非常重要的一環,缺少了網路通訊,只能做本地端感測互動,沒有資料收集、雲端圖表、LINE互動、智慧家庭、語音或圖像分析…等功能,筆者覺得物聯網課程缺少了網路,不能叫做物聯網了。

UNO雖然可以加裝網路、藍牙(HC05)元件,但要另外採購,且接線、通訊設定、AT COMMAND等問題,會打亂教學流程,此時由樂鑫科技(ESPRESSIF)所開發內建WiFi的ESP8266晶片則是承接了這個需求缺口。

ESP8266一樣採用Arduino開放性架構,呼叫內建的ESP8266 WiFi.h函式庫就可以連上網路讀取資料,因此ESP8266曾經風靡一陣子,但後來發現ESP8266只有一組類比感測(analogRead),如果學生在製作專題需要使用到兩組類比感測器時,就必須再回去使用UNO,並沒有改善教學上的問題。

因此樂鑫再次推出ESP32這款殺手級Arduino相容晶片,ESP32不僅內建有WiFi及低功率藍牙BLE,可用腳位也擴增到約26根,大部分腳位同時支援類比及數位,內建霍爾、溫度、觸控感測器,主頻高達260mHz的雙核心CPU,傳輸界面SPI、I2C、UART等強大的功能,而價格上也相當有競爭力,不僅可以演練所有目前現有UNO課程,也可以利用內建的網路及藍牙等通訊元件完成更多的應用專題。

下表整理目前常見物聯網課程所使用的UNO、ESP8266及ESP32等三種開發板的規格比較:

由上表比較可知,ESP32充分改進ESP8266的缺失,加上經濟實惠的價格,足以讓ESP32成為IoT課程最佳的教學工具,且ESP32與UNO所有週邊感測元件完全相容,可以無痛直接升級ESP32。

ESP32有很多不同版本,每種都各有特色,目前市面上常見包括下列幾種:價格便宜的Doit ESP32 Dev Kit、附帶OLED的Lolin ESP32、18650電池座ESP32-TTGO、附帶相機及SD卡槽的ESP32-CAM、附帶光環LED及麥克風的HaloCode、縮小板ESP32-mini…等等,使用者可以依據需求採購合適的ESP32,常見的ESP32版本製表如下。
關於ESP32使用相容Arduino IDE開發環境建立,請參考本篇:第一篇 ESP32 Arduino開發環境架設(取代Arduino UNO及ESP8266首選)

image image
NodeMCU-32s
特點:建議使用,原因將於後一節說明
價格:約250-300

DOIT DEVKIT
特點:價格便宜,但缺少5V輸出
價格:約150-200

image image
TTGO ESP32
特點:附帶18650電池座,搭配深度睡眠(deepsleep),一顆電池可用一個月以上
價格:約700-900
Lolin ESP32
特點:附帶Oled顯示器,可快速開發萬年曆、微型氣象站等顯示裝置
價格:約600-700
image image
ESP32-CAM
特點:附帶相機及SD卡槽,可開發具AI影像辨識裝置
價格:約250-350

HaloCode光環板
特點:附帶麥克風及光環LED燈,可開發語音辨識並透過LED互動
價格:約600-700

image image
WeMos ESP32 mini
特點:縮小尺寸至1/2左右,可開發穿戴裝置。  
價格:約250-350

HELTEC WiFi LoRa 32
特點:內建OLED及長距離Lora通訊。
價格:約600-800


至於老師在教學上要選擇哪種ESP32版本較為合適呢?例如ESP32-CAM帶相機看起來很炫,卻不適合國高中教學,因為製作上為了縮小體積,刪除了USB-TTL晶片,而需要外接TX RX腳位,腳位剩下16根且大多跟內部共用,因此非常不適合初學者,在筆者歷年來的教學經驗中,較推薦Ai-Thinker的NodeMCU-32s,主要原因如下:
1.價格公道:網路價格大概在200~300之間,物超所值。
2.尺寸適中:NodeMCU-32s尺寸剛好能塞入麵包板中,且留兩邊腳位通道,其他產品尺寸較寬,插入麵包板後,只能留下一邊可用,教學上較為不方便。

image image
DOIT 板較寬,只剩一側(須兩片麵包板合併使用,較為不便) NodeMCU-32s左右各有一排

 

3.運作穩定:筆者的經驗,當開啟WiFi或藍芽時,它牌的產品較為不穩定,經常連不上網路,要經多次Reset後才能連上,NodeMCU-32s則大多一次就可連上,傳輸穩定。
4.電壓輸出:較多的ESP32都僅有3.3V輸出,缺少5V常發生Relay推不動、Servo不會轉等問題。而NodeMCU-32s則同時提供5V及3.3V。
5.腳位數量:許多ESP32並沒有將腳位完全拉出,腳位數量較少,例如DOIT僅有30根腳,而NodeMCU則保留完整38根腳,可以發揮最大效益(但實際可用約26根 >.<)。
6.預留外接天線:ESP32雖然都有板載PCB天線,但若距離AP較遠或要放置在金屬容器內時,則會收訊不良,NodeMCU-32s預留外接天線,透過外接ipex天線可大幅增加傳輸距離,使用外接天線須改0R電阻由預設1的位置改至2的位置,如下圖。

說說缺點:NodeMCU-32s腳位編號沒寫在正面,而ESP32通常要壓入麵包板,所以每次使用感測器都要對照一下線路圖。

image

如上所述,在眾多ESP32中,筆者一直以NodeMCU-32s為主要教材,在上課過程中運作穩定、價格合適、功能齊全的優點,避免教學過程中要協助排除故障、錯誤等問題。

不過必須強調,這是筆者在教學現場的經驗談,只是個人之見,若有謬誤,再請各位先進指正。

arrow
arrow

    夜市 小霸王 發表在 痞客邦 留言(4) 人氣()