很多創客愛好者甚至有些技術工程師在理解esp32和arduino的時候總是問一句這兩塊板子哪個更好用?他們可能潛意識中就覺得arduino和esp32是競品的關系,但實際是這樣嗎?
了解esp32和arduino的區別之前先科普下兩者的定義。
什么是esp32?
esp32是一顆控制芯片。對,它不是什么開發板,它只是開發板上的一顆控制芯片而已。
esp32芯片
什么是arduino?
Arduino指的是一個生態,包括了開發板,IDE(集成開發環境)社區,驅動庫、應用案例等等。
arduino
通過上面的定義我們可以看出,esp32和arduino他們根本就不是一個維度的概念。
那esp32和arduino有什么區別?
Arduino是一個開放的生態,目前已經支持了很多的主控芯片。例如mega328p,mega2560,部分stm32系列,esp8266,esp32等等,任何搭載了這些控制芯片的開發板都可以被貼上Arduino開發板的標簽。
剛才提到的esp32是一顆主控芯片,而它恰恰在Arduino支持的主控列表里面。所以凡事搭載了esp32的開發板都可以被認定為是Arduino開發板。
SO Arduino和ESP32不是競品的關系,是上下游的關系。
了解了arduino和esp32的區別,那我們再來了解一下esp32開發板和Arduino UNO的關系。
arduino uno
FireBeetle Board ESP32-E IoT開發板
這兩者才是真正的競品關系。
現在很多人都有一個錯覺說使用esp32的人越來越多,使用arduino越來越少,現實是這樣嗎?
不管是用esp32開發板還是用ArduinoUNO,他們使用的開發環境都是Arduino的IDE。所以不存在說選擇了esp32就拋棄了Arduino,拋棄的只是Arduino UNO而已。
esp32比UNO搭載的MCU性能強大很多很多,而且自帶wifi,藍牙,觸摸按鍵等功能,但是價格卻只比UNO的MCU高了40%左右。
更重要的是因為都是用Arduino的IDE來開發,所以從Arduino UNO轉到esp32開發板的學習成本非常低,很多的驅動庫都是兼容的,甚至很多代碼都不需要做修改就可以直接使用了。這也就是為啥esp32使用者越來越多的原因。
根據上面的答案大家可以很容易明白,兩者沒辦法替代。
|