esp32和stm32哪個好_ESP32對比ESP8266

2020-12-20 電子發燒友

esp32和stm32哪個好_ESP32對比ESP8266

單片機愛好者 發表於 2020-04-23 11:06:19

  esp32和stm32哪個好

  對於國內的大學生或者單片機從業者來說,STM32應該是比較熟悉的一個系列的單片機,而ESP32相對陌生一些。但是從名字看,兩者應該都是32位單片機。那麼兩者之間到底有什麼關聯,或者性能哪個好一些,哪個差一些呢?

  今天,做為愛思考的單片機愛好者,簡單的分析一下。

  首先說STM32,這個大家應該是比較熟悉了。意法半導體在2007年6月11日發布了全球首款STM32產品,也就是F1系列,基於ARM-CORTEX內核。在其後的幾年,陸陸續續發布了不同定位、不同方向的多款產品。有面向低功耗的L系列,有高性能的F2和F4系列,有低價的F0系列,有高速的F7系列等等。我們可以通過下面的這個圖,有一個大致的了解:

  所以,你會發現,STM32不是一個具體的單片機型號,而是一個或者多個系列的,基於ARM內核的單片機家族的統稱。

  那麼,ESP32是什麼?

  它是樂鑫公司推出的一款採用兩個哈佛結構 Xtensa LX6 CPU 構成的擁有雙核系統的晶片。所有的片上存儲器、片外存儲器以及外設都分布在兩個 CPU 的數據總線和/或指令總線上。

  相比於STM32的一個大家族,ESP32雖然也代表一個系列,但目前來說,這個系列的成員還是比較少的,我們看下:

  那麼,兩者之間該如何對比?先看ESP32的硬體,我直接放官方數據手冊裡的配置:



 

  功能框圖如下:

  模塊(非晶片)的引腳分布如下:

  你會發現,ESP32這個模塊的IO並不多,估計也就30個左右(晶片有34個,但是模塊中外接FLASH用掉了一些)。但是你會發現它有幾個特點:

  1、集成了非常多的外設接口,SPI、IIC、IIS、AD、DA、PWM、IR、UART、CAN等等。IO數量有限,所以基本上每個IO都有多個功能。

  2、片內flash和ram很大,flash有448KB,ram有520KB。而模塊上直接掛了一個4MB的flash。大的不像話!

  3、速度快!雖然外接晶體的頻率只有40MHZ,但通過內部主頻可以支持80MHZ、160MHZ、240MHZ,運算能力高達600MIPS。

  4、有wifi和藍牙!當前兩者不能同時使用。

  那麼,它如何跟STM32對比?或者說,我們用STM32的哪一款來和ESP32進行對比呢?

  這裡,我關注的因素是價格!也就是說,選擇和ESP32模塊價格接近的STM32晶片來對比!

  為什麼選ESP32模塊而不是晶片?因為國內的廠家安信可對樂鑫公司的晶片做了一個比較成熟的模塊封裝,而國內工程師更熟悉的都是模塊。

  ESP32-S的模塊在安信可淘寶店的售價是18.9元(注意,模塊形式的ESP32有一片外掛的FLASH,大小是4MB),如下:

  所以,這裡我們找一個STM32系列裡,價格在20元左右的晶片。這裡,我選了STM32F407VET6,它在立創商城的價格是500片+的時候,22元/片。關於該晶片的配置,我直接放個圖,大家體驗一下(ps:這是一個100管腳的晶片)。

  對比這兩者,你會發現STM32F407有以下幾個特點:

  1、GPIO非常多,82個,UART、IIC、SPI、PWM、AD、DA等功能也很多,但不會出現ESP32那種GPIO不夠用的情況。

  2、主頻168MHZ,比ESP32的240HMZ低了一些。運算能力210DMIPS,也低了一些。

  3、flash和ram都相對小一些。

  4、有線網口,不能無線上網。

  經過對比,你會發現兩者基本是有各自不同的定位。ESP32偏向體積小巧、速度超快、功能強大,通過wifi接入網絡,專門為物聯網而生;而STM32偏向管腳豐富、功能全面,雖然沒有wifi和藍牙,速度也沒有ESP32快,但是可以通過網口接入網絡,可以控制更多的外設,為消費電子和工業控制而生。

  所以,兩者的定位並不相同,做為工程師的你,一定要根據自己的項目需求來進行晶片的選型。

  ESP32對比ESP8266

  在你的項目中使用ESP32或ESP8266嗎?ESP32和ESP8266有什麼區別?在本文中,我們將通過比較ESP32和ESP8266來回答這些問題,並涵蓋每個板的優缺點。

  ESP32和ESP8266是性價比非常高的Wi-Fi模塊,非常適合物聯網(IoT)領域的DIY項目。

  兩款晶片都屬於32位處理器。ESP32是雙核160MHz至240MHz CPU,而ESP8266是單核處理器,運行頻率為80MHz。

  這些WiFi模塊都帶有GPIO,支持SPI,I2C,UART等各種協議。最好的部分是它們帶有無線網絡,這使得它們與Arduino等其他微控制器區別開來。這意味著你可以通過Wi-Fi或藍牙(ESP32)以極低的價格輕鬆地遠程控制和監控設備。

  規格:ESP32 vs ESP8266

  該ESP32是ESP8266繼任者。它增加了額外的CPU內核,更快的Wi-Fi,更多的GPIO,並支持藍牙4.2和藍牙低功耗。此外,ESP32配有觸摸感應針腳,可用於喚醒ESP32深度睡眠,內置霍爾效應傳感器和內置溫度傳感器。

  兩塊板都非常便宜,但ESP32的成本略高。雖然ESP32的售價大約在6美元到12美元之間,但ESP8266的售價卻在4美元到6美元之間(但這取決於你獲得它們的位置)。

  ESP32上有更多GPIO

  該ESP32有更多的GPIO比ESP8266,你可以決定哪些引腳UART,I2C,SPI -你只需要設置的代碼。這是可能的,因為ESP32晶片的多路復用功能允許你為同一個引腳分配多個功能。

  如果你沒有在代碼上設置它們,它們將位於默認定義的引腳上,如下圖所示(這是ESP32 DEVKIT V1 DOIT板的示例 - 引腳位置可能因製造商而異)。

  PWM,ADC等

  你可以在任何GPIO中設置PWM信號,並在代碼上設置可配置的頻率和佔空比。

  對於模擬引腳,這些是靜態的,但ESP32支持18個通道(模擬使能引腳)上的測量,而ESP8266隻有一個10位ADC引腳。ESP32還支持兩個8位DAC通道。

  此外,ESP32包含10個電容感應GPIO,可檢測觸摸並可用於觸發事件,或喚醒ESP32深度睡眠。

  Arduino IDE - ESP32 vs ESP8266

  ESP32和ESP8266板的編程方法有很多種。目前,可以使用Arduino IDE編程環境對兩個板進行編程。

  這是一件好事,特別適合那些習慣Arduino編程並熟悉Arduino程式語言的人。

  使用Arduino IDE開始使用ESP32或ESP8266並讓你的第一個項目運行非常簡單。網上有非常多的指南操作:比如在Arduino IDE中安裝ESP32板(Windows說明);在Arduino IDE中安裝ESP32板(Mac和Linux說明書);如何在Arduino IDE中安裝ESP8266板等。

  雖然你可以使用Arduino IDE對兩個板進行編程,但它們可能與相同的庫和命令不兼容。有些庫只與其中一個板兼容。這意味著大多數時候你的ESP8266代碼與ESP32不兼容。但是,通常你只需要進行一些修改。

  MicroPython Firwmare - ESP32 vs ESP8266

  另一種對ESP32和ESP8266板進行編程的流行方法是使用MicroPython固件。

  MicroPython是針對微控制器和嵌入式系統的Python 3的重新實現。MicroPython與常規Python非常相似。因此,如果你已經知道如何使用Python編程,那麼你也知道如何在MicroPython中編程。

  在MicroPython中,大多數Python腳本都與兩個板兼容(與使用Arduino IDE時不同)。這意味著大多數時候你可以為ESP32和ESP8266使用相同的腳本。

  所以,此時你應該問: 我應該買ESP8266還是ESP32?

  這真的取決於你想做什麼。兩塊板都有使用的價值,兩者都有利有弊。

  ESP8266比ESP32便宜。雖然它沒有那麼多的功能,但對大多數簡單的DIY物聯網項目來說效果都不錯。此外,由於它「較舊」,因此在軟體方面受到更多支持,你可能會更容易找到幫助。但是,它在GPIO映射方面有一些限制,它可能沒有足夠的引腳用於你打算執行的操作。如果是這種情況,你應該使用ESP32。

  ESP32比ESP8266 功能更強大,包含更多具有多種功能的GPIO,更快的Wi-Fi,並且還支持藍牙。很多人認為ESP32比ESP8266更難處理,因為它更複雜。在我們看來,ESP32編程與ESP8266一樣容易,特別是如果你打算用Arduino語言或MicroPython編程它。

  另一方面,ESP32也有一些缺點。首先,它比ESP8266貴。因此,如果你正在製作一個簡單的物聯網項目,那麼ESP8266可能會以更低的價格成功。此外,由於它比ESP8266更新,並非所有軟體都是為了充分利用ESP32功能而開發的,因此支持更少,錯誤更多。但從長遠來看,這些問題將得到解決,兩個開發板都將有各自應用的空間。

  小編推薦閱讀:

  ESP32環境搭建以及入門編程_esp32引腳圖

  esp32用什麼語言編程_SP32開發環境的搭建

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • STM32 ESP8266的WIFI TFT自動校時天氣預報 (含AD設計 燒錄文件 DIY030)
    本設計使用stm32作為主控,採用esp8266作為網絡接入模組,可實現自動校準時間以及獲取天氣信息等功能!該項目成本低廉,主要功能為自動校時與天氣預報,改方案解決了現有電子時鐘走時偏差的問題(可降低時鐘部分硬體要求),具備本地溫溼度測量、天氣預報數據獲取功能,可擴展實現節氣提醒,自動報時,鬧鐘等功能。
  • ESP8266 Wi-Fi到底傳多遠_esp8266 wifi信號強度測距
    esp8266介紹   esp8266是一個具有WiFi功能的開發板,它是由一家名為樂鑫的科技公司所設計,在由安信可科技公司負責生產,在以前要買到具有WiFi功能的開發板都要上千元,esp8266打破了這個價錢,一個只需要65元左右,65元的開發板功能應有盡有
  • ESP8266固件燒寫及連接TFT屏
    下載命令行燒寫工具(桌面版燒錄工具 ESP8266 DownloadTool請參考其他教程)pip install esptool將ESP8266通過USB數據線連接電腦,進入電腦設備管理器,點擊「埠」,找到ESP8266所在埠(一般為COM3或COM4)。
  • 【玩轉ESP32】4、ESP32驅動DHT11
    收錄於話題 #玩轉esp323、代碼驅動#include <stdio.h>#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "driver
  • 【玩轉ESP32】12、esp32串口使用
    收錄於話題 #玩轉esp32UART1默認引腳是GPIO9用作U1RXD,GPIO10用作U1TXD,但是這兩個引腳也是用於外接flash的,因此在使用UART1的時候需要設置其他引腳;
  • stm32屬於arm嗎_arm和stm32的區別
    打開APP stm32屬於arm嗎_arm和stm32的區別 發表於 2017-10-10 11:34:35 在回答這個問題前,我們先來看下STM32和ARM的定義。   STM32是基於ARM® Cortex® M 3處理器內核的 32位快閃記憶體微控制器,為MCU用戶開闢了一個全新的自由開發空間,並提供了各種易於上手的軟硬體輔助工具。
  • ESP32晶片-LEDC外設(另附Arduino代碼)
    在文檔內,我們就看這裡就好在大量的說明舵機之前,不妨讓我們先來了解一些關於晶片本身的能力:https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/ledc.html有個神奇的地方
  • ESPnixie----基於ESP32的輝光鍾
    已知bug一開始設計的時候,HV57708的數據線和鎖存線分別用了36和39這倆IO,然後調試的時候死活沒反應……然後才發現ESP32的IO34~39隻能作為輸入,不能作為輸出!所以就只能飛兩根線了,將他們分別接到26和33兩個IO上。
  • 【玩轉ESP32】2、開發資料
    收錄於話題 #玩轉esp32 點擊上方[物聯網思考],選擇置頂,第一時間查看物聯網分享!
  • ESP32 coredump 分析
    上次寫了一個 ESP32 入門,我想有必要再寫這篇文章,這次主要是分析 coredump 的,這就像 Android 和 Linux 系統的死機分析,有意思,也有難度。我覺得 ESP32 還有一個好處是,對於初學者真的太方便了,買個 Linux 開發板可能要幾百塊,但是買一個 ESP32 模塊的話,也就 40 塊錢,而且也是跑 Freertos 系統的,還有還有就是非常方便攜帶,調試燒錄供電都可以用一個 usb 線搞定,說真的,我沒有收錢宣傳,是真的適合沒有錢又喜歡入門嵌入式的同學們,但是這個只是起點,嵌入式後期我覺得一定是要學習Linux 的。
  • Ubuntu系統下安裝stm32官方開發工具STM32CubeIDE
    大家好,遊學電子科技為您帶來:Ubuntu系統下安裝stm32官方開發工具STM32CubeIDE。STM32CubeIDE是st意法官方提供的stm32開發工具,這款工具在編譯速度上具有比較高的優勢,尤其是跟keil5相比真是沒得說。
  • 繼ESP8266之後,又一款將稱霸2017年的物聯網市場現象級產品——樂鑫ESP32(WiFi/藍牙雙模)評測
    ESP32 是集成2.4 GHz Wi-Fi 和藍牙雙模的單晶片方案,採用臺積電(TSMC)超低功耗的40 納米工藝,擁有最佳的功耗性能、射頻性能、穩定性、通用性和可靠性,其內部的硬體系統框圖如下:可以看到,ESP32內部不僅集成2.4 GHz Wi-Fi 和藍牙雙模、XtensaR 32-bit LX6雙核處理器,還包括天線開關、射頻balun、功率放大器、低噪放大器、過濾器、電源管理模塊和先進的自校準電路
  • ESP8266_22基於自身ADC的電壓採樣
    2、讀取電壓之前,需要修改esp_init_data_default.bin文件中的第107byte的值,改為VDD3P3管腳3和4上的真實電源電壓值。       先說修改esp_init_data_default.bin文件,這個其實很簡單,因為這個文件是我們燒錄到ESP8266裡面的,所以只要找到文件位置,用修改flash的函數改一下就行。接下來這句話可能理解起來有點繞,這個VDD3P3管腳3和4是啥?
  • esp8266入門(二)連接WIFI路由
    用esp8266連接路由器時,要設置成station工作模式,然後配置好熱點名字 和密碼就可以連接了。
  • 開發STM32相關資料下載
    ST主頁:http://www.st.com STM32103ZE主頁:http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f1-series/stm32f103/stm32f103ze.html
  • avr單片機和stm32區別與優缺點分析
    摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?   特性:   1.內核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬體除法   2.存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器   3.時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓。
  • 啟明雲端分享|ESP32-S3如何實現tcp_client和tcp_server
    6.進入窗口監視頁面idf.py -p PORT monitor1)從和日誌可以看出,WiFi連接成功後,創建一個sock,sock連接成功。2)伺服器編輯內容發送給esp32,在窗口監視頁面顯示。編譯官方tcp_server例程(需要配置下面會詳細介紹),燒錄到ESP32-S3開發板。打開tcp調試助手(電腦or手機必須與開發板在同一路由器下)。
  • 基於ESP32與phyphox的物理DIS實驗開發(1)
    DIS系統已經在教學中使用10多年了,它的優勢和弊端相信大家都比我更熟悉了。ESP32 集成了天線開關、射頻 balun、功率放大器、低噪放大器、過濾器和電源管理模塊。2.4 GHz Wi-Fi 加藍牙雙模晶片採用 TSMC 低功耗 40nm 技術,功耗性能和射頻性能最佳,安全可靠,易於擴展至各種應用。」     以上是網上搜索來的介紹,想要了解更多的請自行百度。
  • 老宇哥帶你玩轉ESP32:01入門介紹
    關於做產品或者是小製作,從方案角度,一般有以下下幾種:用一些開源硬體平臺,類似Arduino,樹莓派等,網上學習資料,各種庫,開源項目非常多,簡單易懂,但是靈活性、效率沒那麼高,創客們用的多;用51,STM8,MSP430,STM32等單片機,最接地氣的方式,可以深入控制到寄存器,MCU品牌,資料也是非常多,原子,野火等開發板都非常不錯
  • ESP32 – GPIO 引腳參考大全
    但是,這些引腳連接到 ESP-WROOM-32 晶片上的集成 SPI 快閃記憶體,不推薦用於其他用途。現在開始,慢慢介紹ESP32的引腳ESP32 周邊設備:18 個模數轉換器 (ADC) 通道4 組SPI接口3 組UART接口1 組I2C接口16 個PWM輸出通道2 個數模轉換器 (DAC)2 個I2S接口10 個電容式感應 GPIO16 個 RTC