学习物联网,来HaaSEDU就对了
ESP32是开源世界中被开发者普遍使用的开发板,在ESP32中同样可以使用Python语言基于HaaS开发框架进行轻应用开发。前提是ESP32设备中有烧录HaaS开发团队发布的ESP32标准固件。本文主要介绍怎样烧录包含HaaS开发框架的ESP32标准固件。
下载ESP32 HaaS官方固件并解压,解压完成后可以看到起目录结构如下:
├── HaaSPython-ESP32-{xxx}.bin # HaaS官方固件,{xxx}为版本号
历史版本:
将ESP32用数据线和电脑USB口相连。
HaaS Studio目前是以插件的形式安装在VS Code(Visual Studio Code)工具中,所以安装HaaS Studio之前需要先安装VS Code。
读者请到微软官方网站上下载 VS Code 安装包并进行安装,VS Code安装包要求不低于版本 1.57。
vscode有release版本(蓝色图标)和insider版本(绿色图标),请安装蓝色图标的release版本。
VS Code安装包下载网站: https://code.visualstudio.com/
推荐 Windows 系统版本为 win10, MacOS 版本不低于 10.15。
安装完 VS Code之后,windows用户请注意使用管理员权限打开(vscode插件会安装相关工具到C盘,需要管理员权限)
请勿修改vscode插件加载位置,需要使用默认位置
安装完 VS Code之后,请按照下图中数字的指示步骤完成haas-studio插件的安装。
插件第一次安装完成后,会提示安装相关工具才能激活插件,请同意安装相关工具。第一次新建或者打开python轻应用工程,也会安装轻应用开发相关工具,同样需要同意安装。
插件安装完成后,则 VSCode 左下角的状态栏会显示"快速开始"的图标,如下图所示。
一般情况下,左下角只会显示快速开始图标,如果打开或者新建了某个Python工程,则会在VSCode底部的状态栏展开如下一排按钮,这些按钮的功能如下图所示:
为了方便开发,还可以打开高级串口模式,在当前的工程目录下,存在.vscode这样一个文件夹,找到里面的settings.json文件,将pythonAdvanced选项设置成enable即可,打开方式如下:
python高级模式打开之后,这些按钮的功能变成如下图所示:
如果您的电脑是Windows系统,请通过控制面板下的设备管理器,查询当前电脑下ESP32插入后新增的端口。下图中显示ESP32连接后新增的串口为“COM7”。
注意:每台PC的串口可能都不一样,如果有多个串口,可以断开PC和ESP32之间的连线,然后将PC和ESP32相连,找到新增的那个串口。
如果电脑在连接ESP32之前和之后,没有新增串口,则需要安装ESP32的串口驱动。ESP32串口芯片有两种,请根据自己的ESP32型号选择合适的驱动(如果您不知道自己的ESP32型号,两个驱动都安装上即可):
如果您的电脑是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集成开发环境。
下图中是笔者电脑中的串口好和固件名称,请读者按照根据串口和固件实际路径进行选择。
如果“串口名字”下拉框中没有正确的串口号,可以拔插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>”的格式,其中:
MACOS建议使用picocom串口工具;Windows系统推荐使用Putty串口工具。
打开串口工具后,敲回车后如果未出现">>>"符号,则一般是因为您的开发板正在运行Python脚本。此时,可以同时按下Ctrl+C两个按键,尝试打断当前的python脚本。如果按很多次Ctrl+C之后仍然没有出现">>>",则大概率是因为开发板运行的程序死机,可以尝试按住“Ctrl+C”再对开发板进行硬件复位。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。