ESP32开发指南(一):刷MicroPython固件,使用VSCode开发

  1. 1. 作者开发环境与器材准备
  2. 2. 一、ESP32简介
    1. 2.1. 安信可ESP32模组
    2. 2.2. 安信可NodeMCU-32s开发板
  3. 3. 二、MircoPython简介与固件下载
  4. 4. 三、使用XShell连接到Python交互式命令行
  5. 5. 四、使用宇宙第一编辑器VSCode

作者开发环境与器材准备

  • 操作系统: Windows 10 家庭版
  • Python版本: Python 3.7.8
  • WIFI模组: 安信可NodeMCU-32 v1.3(CH340版)

一、ESP32简介

安信可ESP32模组

  安信可ESP32系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫(espressif)ESP32的低功耗UART-WiFi芯片模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。ESP32系列模块的核心处理器 ESP32 在较小尺寸封装中集成了业界领先的该模块核心处理器 ESP32 内置两个低功耗 Xtensa®32-bit LX6 MCU,主频支持 80 MHz、160 MHz 和 240MHz。支持 RTOS 操作系统二次开发,集成 Wi-Fi MAC/BB/RF/PA/LNA,板载天线。支持标准的 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈以及蓝牙协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。
  ESP32 是高性能无线 SoC WiFi+Ble 方案芯片,以最低成本提供最大实用性,为 Wi-Fi/Ble 功能嵌入其他系统提供无限可能。

安信可NodeMCU-32s开发板

  NodeMCU-32s 模组是由安信可科技开发的。此款模组的核心是 ESP32 芯片 ,具有可扩展、自适应的特点。两个 CPU 核可以被单独控制。时钟频率的调节范围为 80 MHz 到240 MHz,支持 RTOS,是一款通用型 Wi-Fi+BT+BLE MCU 模组。NodeMCU-32s 模组集成了传统蓝牙、低功耗蓝牙和 Wi-Fi,具有广泛的用途。

课代表:乐鑫生产ESP32芯片模组,安信可用该模组设计了自己的开发板NodeMCU-32s,也就是我手上拿的这块开发板。(某宝就能买,CH340版的30块不到)


二、MircoPython简介与固件下载

  ESP32与ESP8266一样,官方出厂固件是支持AT指令的,鉴于AT指令较为复杂(相对入门第一语言Python而言),且集成在开发板上还有LED、ADC、TIMER等资源可以使用,使用MircoPython可以快速上手完成开发。(另外,ESP32也可以使用Arduino的IDE进行开发,本文不做介绍)
  访问MircoPython官网支持ESP32的MircoPython固件下载,然后下载GENERIC : esp32-20210623-v1.16.bin ,这里下载稳定版的最新版。

  乐鑫官方提供的Flash下载工具我们把它下载下来。然后解压,打开flash_download_tool_3.8.8.exe

  进入欢迎界面,选择ESP32develop开发模式。然后进入配置界面。

  • 1、选择刚刚下载的micropython固件路径
  • 2、起始地址为 0x1000
  • 3、SPI SPEED为40Mhz
  • 4、SPI MODE为DIO
  • 5、FLASH SIZE为32Mbit
  • 6、然后将NodeMCU通过USB线(请一定找一根靠谱的USB线,我拿着根差的弄了2个多小时找不到原因,换了根线就好了…)连接电脑,在设备管理器中查看CH340的端口号,我的是COM5。(如果没有装过CH340的驱动请自行百度)

  上述配置完成后,在开始下载之前可以先点击ERASE擦除FLASH,然后点击START开始下载…
  待其下载结束后会显示FINISH完成。接下来我们就可以检验下是否可以用python编程了!


三、使用XShell连接到Python交互式命令行

  这里使用Putty或者XShell都是可以的,我电脑上装了XSheel就拿XShell举例了。
  打开XSheel新建一个会话,然后输入名称ESP32,在下拉选项中选择协议SERIAL(串行通信)。

  然后在左边SERIAL选项卡中,设置Port端口为你的CH340的端口,波特率为115200

  连接新建的会话,如果显示Connected则连接成功,此时可以按下开发板上的EN键(是RESTART键),对开发板进行重启。如果此时打印了MicroPython的提示信息则恭喜你:MicroPython固件下载成功了!可以开始愉快的编程了!
  我们可以随便敲一些python语句进行试验。


四、使用宇宙第一编辑器VSCode

  使用XShell,我们已经是现实了通过PythonREPL(Python Read-Eval-Print-Loop)即Python交互式解释器进行开发。我们可以输入单条命令,然后模块执行。但这样的方式并不能让我们完全满足,并且追求轻量化的我们一般不轻易下载各种IDE,VSCode YYDS。
  在某个自己喜欢的路径,新建一个文件夹作为工作区,然后打开VScode并打开该文件夹,并保存工作区。按Crtl+Shitf+X打开拓展页面,搜索安装以下扩展(前两个不重要)

  Crtl+Shitf+E打开资源管理器,回到那个空无一物的工作区(好像需要重启VSCode),在下方可以看到MicroPython扩展的按钮。点击方框加号,新建project,然后新建空白project,位置选择在自己喜欢的路径。

  Project新建好后,得到一个初始的main_example.py文件。我们在其基础上进行适当修改,代码见下图和代码区块。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import time  
from machine import Pin

def main():
print("Welcome to RT-Thread MicroPython!")
p2 = Pin(2,Pin.OUT)
while(True):
time.sleep(1)
p2.on()
time.sleep(1)
p2.off()

if __name__ == '__main__':
main()

  然后点击新建工程的右边按钮,是个插头的形状,然后选择自己开发板对应的端口号。
  当终端出现 >>>提示符则连接成功,然后我们可以点击小三角,运行当前程序。可以看到成功打印了提示信息,并可以看大开发板上的蓝色LED开始不断闪烁。
  这就是我目前的开发ESP32的开发环境了,大家如果有什么好的推荐欢迎留言or私信!~