12 Star 84 Fork 31

haasedu / HaaSEDU

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ESP32_固件烧录.md 8.37 KB
一键复制 编辑 原始数据 按行查看 历史
angle3839 提交于 2022-05-06 08:24 . !26HaaS EDU repo upgrade

学习物联网,来HaaSEDU就对了

ESP32固件烧录

   ESP32是开源世界中被开发者普遍使用的开发板,在ESP32中同样可以使用Python语言基于HaaS开发框架进行轻应用开发。前提是ESP32设备中有烧录HaaS开发团队发布的ESP32标准固件。本文主要介绍怎样烧录包含HaaS开发框架的ESP32标准固件。

固件下载

   下载ESP32 HaaS官方固件并解压,解压完成后可以看到起目录结构如下:

├── HaaSPython-ESP32-{xxx}.bin   # HaaS官方固件,{xxx}为版本号

   历史版本:


ESP32开发环境准备

   将ESP32用数据线和电脑USB口相连。

HaaS Studio安装

   HaaS Studio目前是以插件的形式安装在VS Code(Visual Studio Code)工具中,所以安装HaaS Studio之前需要先安装VS Code。

安装VS Code

   读者请到微软官方网站上下载 VS Code 安装包并进行安装,VS Code安装包要求不低于版本 1.57。

   vscode有release版本(蓝色图标)和insider版本(绿色图标),请安装蓝色图标的release版本。

   VS Code安装包下载网站: https://code.visualstudio.com/

推荐 Windows 系统版本为 win10, MacOS 版本不低于 10.15。


安装haas-studio插件

安装完 VS Code之后,windows用户请注意使用管理员权限打开(vscode插件会安装相关工具到C盘,需要管理员权限)

请勿修改vscode插件加载位置,需要使用默认位置

   安装完 VS Code之后,请按照下图中数字的指示步骤完成haas-studio插件的安装。

   插件第一次安装完成后,会提示安装相关工具才能激活插件,请同意安装相关工具。第一次新建或者打开python轻应用工程,也会安装轻应用开发相关工具,同样需要同意安装。

   插件安装完成后,则 VSCode 左下角的状态栏会显示"快速开始"的图标,如下图所示。

   一般情况下,左下角只会显示快速开始图标,如果打开或者新建了某个Python工程,则会在VSCode底部的状态栏展开如下一排按钮,这些按钮的功能如下图所示:

   为了方便开发,还可以打开高级串口模式,在当前的工程目录下,存在.vscode这样一个文件夹,找到里面的settings.json文件,将pythonAdvanced选项设置成enable即可,打开方式如下:

  • 注意高级模式某些平台可能不支持,比如低版本的linux,M1系列MACOS等,如果平台不支持,会自动设置成 disable。

   python高级模式打开之后,这些按钮的功能变成如下图所示:

ESP32串口名称确认

Windows系统

   如果您的电脑是Windows系统,请通过控制面板下的设备管理器,查询当前电脑下ESP32插入后新增的端口。下图中显示ESP32连接后新增的串口为“COM7”。

注意:每台PC的串口可能都不一样,如果有多个串口,可以断开PC和ESP32之间的连线,然后将PC和ESP32相连,找到新增的那个串口。

   如果电脑在连接ESP32之前和之后,没有新增串口,则需要安装ESP32的串口驱动。ESP32串口芯片有两种,请根据自己的ESP32型号选择合适的驱动(如果您不知道自己的ESP32型号,两个驱动都安装上即可):


MAC系统

   如果您的电脑是MAC系统,系统会自带ESP32 UART驱动程序,无需单独安装。可以在命令行中通过如下命令查看ESP32接到电脑之前和之后串口列表的差异确认ESP32串口名称。

# 接入ESP32之前
(base) ➜  ~ ls /dev/tty.usb*
zsh: no matches found: /dev/tty.usb*

# 接入ESP32之后
(base) ➜  ~ ls /dev/tty.usb*
/dev/tty.usbserial-0001

   其中接入ESP32之后新出现的"/dev/tty.usbserial-0001"即为ESP32所对应的串口。

注意:每台PC的串口可能都不一样,上面只是笔者电脑上面的串口信息。


固件烧录过程

   烧录此固件需使用HaaS-Studio集成开发环境。

  1. 点击“快速开始”按钮后选择“烧录工具”按钮。如下图所示。
2. 选择好ESP32对应的“串口名字”和固件所在路径(上面“ESP32 HaaS固件下载”步骤中解压出来的名为HaaSPython-ESP32-{xxx}.bin的文件)之后点击“开始烧录”按钮,HaaS Studio便会将此固件烧录到开发板中,如下图所示。

下图中是笔者电脑中的串口好和固件名称,请读者按照根据串口和固件实际路径进行选择。

如果“串口名字”下拉框中没有正确的串口号,可以拔插ESP32的USB口后,点击“刷新”按钮刷新串口列表。

   烧录过程中命令行窗口会输出如下日志,烧录完成,终端日志中会提示"Hash of data verified."。

Serial port /dev/cu.usbserial-0001
Connecting.......
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 8c:ce:4e:9a:67:ec
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Erasing flash (this may take a while)...
Chip erase completed successfully in 13.0s
Hard resetting via RTS pin...

...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x001e3fff...
Compressed 1977072 bytes to 1172201...
Wrote 1977072 bytes (1172201 compressed) at 0x00001000 in 31.0 seconds (effective 511.0 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

   经过上面的步骤HaaS Python ESP32固件就烧录到ESP32开发板中去了。

固件版本确认

   固件烧录完成后,如何确认固件真的有更新到硬件中呢?可以通过如下的方法确认:

   通过串口工具打开ESP32开发板串口(注意波特率选择115200),此时在串口工具中敲击回车会出现“>>>”符号,">>>"代表已经进入到Python的REPL模式中。在REPL模式中输入“import uos; uos.version_info()”指令回车执行,HaaS Python则会将版本号信息输出到串口中。如下图所示,其版本信息遵循“HaaSPython-ESP32-<version>-<buildtime>”的格式,其中:

  • <version>:代表HaaS Python版本号。
  • <buildtime>:代表固件编译时间。

MACOS建议使用picocom串口工具;Windows系统推荐使用Putty串口工具。

打开串口工具后,敲回车后如果未出现">>>"符号,则一般是因为您的开发板正在运行Python脚本。此时,可以同时按下Ctrl+C两个按键,尝试打断当前的python脚本。如果按很多次Ctrl+C之后仍然没有出现">>>",则大概率是因为开发板运行的程序死机,可以尝试按住“Ctrl+C”再对开发板进行硬件复位。

Python
1
https://gitee.com/haasedu/haasedu.git
git@gitee.com:haasedu/haasedu.git
haasedu
haasedu
HaaSEDU
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891