近期,多次使用了 ESP32 系列的模组,发现 ESP32 的一些优良特性,后期打算继续将其作为网络节点,特此介绍 ESP32 的可用性以及其特点。

ESP32 是一颗国产芯片,由位居上海的乐鑫科技研发,在其 官网 上我们可看到更为详细的说明。
以下特点吸引了我:

  • WIFI & Bluetooth: 双模的网络链接方式,让我们可以去探寻更多的物联网设备通信的可能性。(虽然我没有用过 ESP32 的蓝牙,但是我可不用,但不能没有🙈)
  • MCU :自己既可作为一个独立的模块正常工作,而且是采用了 32 架构的芯片,其性能也可以达到几百 MHz(区别于不同的型号),基本上和 STM32 性能相匹配,甚至于还要强于 STM32。
  • 低功耗:支持深度休眠,等等这个性能没有去测试过,但确实,从目前物联网设备的使用程度中,许多 Wi-Fi 芯片都采用了乐鑫科技出品的芯片,也证实了其可靠性,低功耗。
  • 易用性:上手快,可以采用 Arduino 快速上手,如果使用的开发板,那么上手的速度甚至比 Arduino uno 还要快,也是比较便宜的 Arduino 类型的产品了。
  • 可移植性强:这一点指的还是采用了 Arduino 的特点,所以比较方便在 ESP8266 中使用也同样应用于 ESP32(在不启用一些特殊的功能的情况下)
  • RISC_V 架构:可以说是和 k210 一起推动了 RISC_V 生态的建设吧,也算是独立创新的一个努力。
  • 成本低:没有像 STM32 一样在芯片的涨价潮中,突飞猛进。仍然保持一个较为合理的价格。因为无论是拿来做一个通信模块或协处理器,性价都比较高。
  • 发展趋势良好:ESP32 系列芯片基本都支持 FreeRTOS,而且是官方的支持,同样官方也提供了 IDF 的开发套件,但是 emm 就好比 c 和 python 的区别类似,前期可以不需要去掌握 IDF。

开发环境:建议采用 VScode 进行开发,同时使用 Platform 进行开发,方便快捷,而且易于编译和下载。

Untitled

一些常用的相关软件:

CP2102驱动For+WIN7+X64.rar

esp_wroom_32_datasheet_cn.pdf

下面的仓库中由一些比较有意思和可供参考的内容

https://github.com/Homepea7/ESP32_Code

在该仓库的Pinset中,有不少是可以直接拿来使用的。比如0.ESP32_Pinout.xlsx,就可以在实际的开发中,将其拷贝到工程下,当作一个Cubemx进行使用,来表明自己已经使用了哪些引脚,而且可以快速的查看他们之间是不是有冲突。

ESP32_Code/1.PinSet at main · Homepea7/ESP32_Code

0.ESP32_Pinout.xlsx

1.ESP32_Touch.xlsx

2.ESP32_Timer_PWM.xlsx

0.ESP32_Pinout.pdf

在使用 ESP32的过程中需要注意

  • 如果开机启用了Wi-Fi功能,那么需要注意其供电,启动时ESP32所需电流较大,需要保障电压,电流的稳定性。
  • 在使用Platform进行 ESP32 nodemcu(好像是这个型号) 烧录过程中,如果无法进行一键烧录,可以尝试在烧录前/中,按下boot按键,稍等2,3s,待进度条走动时,松手即可。