前言

NodeMCU 是一個具備 WiFi 功能的超小型化控制板,具有價格便宜以及省電等特性。但是在採購 NodeMCU 時往往發現光板子本身就有許多不同的版本與描述字樣 ,讓人不知從何下手。以下圖為例,扣掉兩個擴展板,共有四個 NodeMCU 的開發板,包含 V2/V3 以及 CH-340/CP2102 的差異組合。

nodemcu 產品選擇眾多,卻又看起來都一樣

nodemcu 產品選擇眾多,卻又看起來都一樣

光是同一家的產品描述就有這麼多不同的組合,如果把不同廠商的產品名稱做個整理,更會發現實在令人滿頭霧水。到底哪些指的其實是同一種產品?而這些不同的產品之間又有何差異?此外,在開發資料上常出現 NodeMCU DevKit v0.9 或 NodeMCU DevKit v1.0 的字樣,這又是怎麼一回事?

在這篇文章中,我們將逐一解開這些謎團,讓我們在採購與應用 NodeMCU 時不再滿頭霧水。

NodeMCU 核心元件 – ESP8266 與 ESP-12E

當我們看到 NodeMCU 的產品描述時,最常出現就是 ESP8266 與 ESP-12E 這兩個字樣,如之前附圖中所示的 “NodeMcu Lua v2 WIFI 物聯網開發板 基於 ESP8266 ESP-12E wifi 開發板 CP2102″。ESP8266 是樂鑫信息科技 (上海) 有限公司 (Espressif Systems (Shanghai) Pte., Ltd.)的產品,而 ESP-12E 則是深圳市安信可科技有限公司的產品。但是在這裡 ESP8266 與 ESP-12E 並不是兩個不同的東西,而是指使用 ESP8266 當作 WiFi 晶片的 ESP-12E 模組。

基本上,這樣的描述有點多餘了,因為 ESP-12E 都是使用 ESP8266 當作 WiFi 晶片。ESP-12E 屬於 ESP-12 這個模組編號當中的一個版本,而除了 ESP-12 之外,其實還有一整個 ESP-XX 系列的模組,也都是使用 ESP8266 當作 WiFi 晶片。不過在 NodeMCU 上,都是使用 ESP-12 這個系列,所以在此就跳過這些模組之間的差異說明,有興趣的人可以參考這裡的說明或是官方文件

既然 NodeMCU 都是使用 ESP-12E 模組,而 ESP-12E 模組又都是使用 ESP8266 當作 WiFi 晶片,所以如果看到產品的描述字樣中只有出現兩者之一,其實也不用有所懷疑,指的還是一樣的意思。

不過有些產品描述寫的是 ESP-12,而非 ESP-12E,那是不是表示使用了不一樣的模組版本?這個問題的答案在於 NodeMCU 的版本。簡單來說,只要是 NodeMCU V2 或 V3 就是使用 ESP-12E,只有 NodeMCU V1 才是使用 ESP-12。所以如果產品已經標明是 NodeMCU V2 或 V3,那麼描述上的 ESP-12 指的就是 ESP-12E,而不是原始的版本 ESP-12。有沒有例外呢?應該是沒有,因為 ESP-12 與 ESP-12E 的接腳功能跟數量是不一樣的,所以不可能混用。

總結以上的描述,也就是說,其實版本編號 (V2 或 V3) 才是最重要的描述,其他 ESP8266 或 ESP-12E 的描述都有點多餘了。

版本編號

既然講到版本編號才是最重要的描述,那麼我們就來看看產品描述上比較常出現的 V2 與 V3。等等,有 V2 與 V3,那是不是還有 V1?有的,一開始 NodeMCU 所推出的版本可稱為 V1,但是 V1 因為尺寸過大以及 UART 不夠穩定的問題,很快就被 V2 所取代,因此市面上幾乎已經看不到 V1 在販售了。此外,V1 使用的 ESP-12 模組,也與 V2 使用的 ESP-12E 模組腳位有所不同,所以 V1 與 V2 在接腳上也是有所差異。

既然 V1 已經可以直接忽視,那麼 V2 與 V3 呢,是不是版本越新就是越好?雖然 NodeMCU 屬於開放式硬體的設計,但是 “官方文件” 其實只有兩個版本,也就是我們俗稱的 V1 與 V2。V3 與 V2 有著幾乎相同的接腳 (V3 多了一個 USB 電源輸出接腳),而且也都使用 ESP-12E 作為 WiFi 模組,看似與 V2 並沒有甚麼不同,那麼這個看似橫空出世的 V3 到底是何方神聖?儘管 V3 通常掛著 LoLin 這個標誌,但是卻很難找到有關 LoLin 的資訊,比較接近的是 WeMOS 有推出一系列以 LoLin 為名的產品。 所以 V3 是不是 WeMOS 所推出的改良版本不得而知,甚至改良的地方也不是很明確。有資料提到 V3 的 USB 傳輸較為穩定,但是 V2 其實已經跟 V3 一樣都改用相當穩定的 UART 晶片 CP2102 了,所以此番說法也有待商榷。

目前看來,V3 唯一的優勢就是價格,但是要注意部分 V3 的板子仍有尺寸過大的問題。V1 與部分 V3 的板子,其尺寸在插入橫放的麵包板時剛好分別佔據了最上方與最下方的插孔,導致無法直接連接到其他的元件,而必須使用擴展板來連結元件或麵包板。至於 V2 在插入橫放的麵包板時,上方與下方各留有一排的空間,可以用來連結其他元件,如下方圖片所示:

插在麵包板上的 NodeMCU V2,上下方各留有一排空間

插在麵包板上的 NodeMCU V2,上下方各留有一排空間

雖然 V3 與 V2 相比可能有著價格上的優勢,但是 V2 也有一堆副廠的產品可供選擇,所以事實上 V3 的價格優勢並不是那麼明顯,甚至有可能 V2 的價格更為便宜。因此在選購上,可以優先考慮 V2 的版本,而非 V3。如果打算選用 V3,請務必注意板子是否有尺寸過大的問題。

DevKit v0.9 與 v1.0

NodeMCU 的發展歷史其實是先從韌體開始,之後才有硬體的規格,而 v0.9 與 v1.0 就是韌體與開發環境的版本編號。v0.9 通常對應到俗稱 V1 的硬體版本,而 v1.0 則是對應到 V2 與 V3 的硬體版本。簡單整理如下:

硬體版本DevKit 版號俗稱編號
第一版v0.9V1
第二版v1.0V2
第二版v.10V3

CH-340 vs. CP2102

前面提到,NodeMCU V1 有著 UART 傳輸穩定性的問題,而 NodeMCU V1 就是使用 CH-340 當作 UART 晶片。因此 V2 與 V3 改用 CP2102 當作 UART 晶片,其穩定性遠高於 CH-340。不過仍有部分 V2 與 V3 的板子還在使用 CH-340 晶片,購買前務必確認清楚。

除非有特殊考量,否則應該選擇使用 CP2102 晶片的板子,而盡量避免使用 CH-340 晶片的板子。

原廠 vs. 副廠

嚴格來說,因為 NodeMCU 跟 Arduino 一樣都屬於開放式的硬體,所以並不存在原廠跟副廠之分。然而在實務上,可能因為行銷或品質上的因素,會產生俗稱的原廠,而 NodeMCU 的原廠通常是指 Amica 這個品牌。也因為 NodeMCU 屬於開放式硬體,所以其實在大多數的情況下並不需要特別糾結在原廠與副廠之間的差異,畢竟之間通常有著不小的價格差異。

除了原廠與副廠之分,還有衍生性的產品,包含整合 OLED 、支援 WF8266R.js 服務。這些特殊的功能,就看有沒有使用需求來作為判斷的依據了。

對於教學來說,因為需要的量較大,所以選用品質較好的副廠似乎是較為划算的選擇。至於 Home Project,那就看自己願意投入多少金錢跟時間成本來決定。畢竟天下沒有白吃的午餐,但是有時候能省點錢也是不錯的事情。

結論

我們把各項名詞用圖片的方式說明彼此的關係:

NodeMCU 組成說明

NodeMCU 組成說明

總結來說,在選擇 NodeMCU 時,應優先考慮使用 V2 且搭配 CP2102 UART 晶片的板子,而搭配的開發環境則為 NodeMCU DevKit v1.0。至於該選擇原廠或副廠,就交由口袋的深度來決定。如果有興趣進一步了解這個話題,可參考這篇文章

Facebook 留言
Print Friendly, PDF & Email
Summary
第一次購買 NodeMCU 就上手
Article Name
第一次購買 NodeMCU 就上手
Description
在選擇 NodeMCU 時往往發現光是同一家的產品描述就有許不同的組合,如果把不同廠商的產品名稱做個整理,更會發現實在令人滿頭霧水。到底哪些指的其實是同一種產品?而這些不同的產品之間又有何差異?此外,在開發資料上常出現 NodeMCU DevKit v0.9 或 NodeMCU DevKit v1.0 的字樣,這又是怎麼一回事? 在這篇文章中,我們將逐一解開這些謎團,讓我們在採購與應用 NodeMCU 時不再滿頭霧水。
Author
Publisher Name
Everlearn Studio
Publisher Logo