作者开发环境与器材准备
- 操作系统: 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
。
进入欢迎界面,选择ESP32
和develop
开发模式。然后进入配置界面。
- 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 | import time |
然后点击新建工程的右边按钮,是个插头的形状,然后选择自己开发板对应的端口号。
当终端出现 >>>
提示符则连接成功,然后我们可以点击小三角,运行当前程序。可以看到成功打印了提示信息,并可以看大开发板上的蓝色LED开始不断闪烁。
这就是我目前的开发ESP32的开发环境了,大家如果有什么好的推荐欢迎留言or私信!~