1.1.1. 硬件篇(视频连接)

1.1.1.1. Esp32-wroom-32单片机板

Esp32单片机是乐鑫公司推出的针对物联网应用的嵌入式mcu。乐鑫公司,在推出单片机的同时推出核心板(相当于最小系统板),并在核心板的基础上增加上电启动、boot、引出IO等推出开发板。

故,在购买单片机板时,只要核心板是esp32-wroom-32的开发板,差别不会太大。

本文使用的单片机板如图(为避嫌,不提供购买信息),约20元:

wps47

1.1.1.2. Micro接口数据线

切记买数据线,不要充电线。充电线线束中只有gnd、vcc两根线,而数据线至少有gnd、vcc、d+、d-四根线。充电线线束中因没有数据线,不会被PC机识别(设备管理器中不分配串口号)。

1.1.2. 软件篇-编程环境

嵌入式学习的核心是单片机学习,单片机学习主要有硬件学习、软件学习两方面。

硬件学习的主要是内容是单片机的周边电路及EMC、EMI、ESD等。硬件是通用的,不同单片机的周边电路大同小异。教程中穿插介绍单片机周边电路的基础。

软件是单片机系统的灵魂。单片机系统在内置软件控制下完成设定的动作。

硬件学习、软件学习没有先后顺序,先学哪个都可以,也可以穿插学习。但学习时,尽量做到软件没问题前提下学习、调试硬件,反过来要做到硬件没问题的前提下学习、调试软件。

鉴于乐鑫公司在推出ESP32单片机的同时,推出便宜的甚至可直接用于产品的模组和开发板,这就降低了学习门槛,初学者可以弱化硬件学习,专注于软件学习部分。不管是乐鑫官方的开发板,还是第三方基于乐鑫官方模组的开发板,只要使用相同的模组,其控制逻辑不会差别太大。本教程以软件学习为主,穿插介绍通用的硬件基础。

ESP32的学习框架有如下几种。

1.1.2.1. ESP-IDF(Espressif IoT Development Framework)

ESP-IDF是乐鑫官方生态链给出的编程框架,该框架已经基本包含 ESP32 硬件资源的完整驱动API(软件库和源代码)、运行工具链 的脚本(python开发)。

ESP-IDF基于C语言开发,学习周期比较长,有兴趣可以官网学习。

ESP-IDF是学习ESP的终极武器,是时间相对较多的学习者(如学生)的最优选择。但对于已经上班的工程师,却不是最优选择,原因如下:

1. ESP-IDF的学习周期较长,而研发团队中接到项目都是有时效性要求的,工程师必须争分夺秒的完成自己的设计任务,没时间和精力边开发边完成新技术学习。

2. ESP-IDF的学习门槛高,刚学到的技术直接用于新项目,会带来更多的不稳定因素。

故,做为工程师,既要快又要稳,这就要对工程师提出新的要求:

1. 尽量选择学习周期短的技术;

2. 尽量使用学习门槛低、技术成熟的框架;

对于ESP32单片机,有如下2个开发的框架满足这点要求。

1.1.2.2. Micropython

正如字面意思,micropython是运行单片机平台下的微python环境。它实际上是运行在单片机上的内置python编译器和虚拟机的微操作系统。

对于支持micropython的单片机,把官网的固件下载到单片机flash中(可以理解为装系统),接下来就可以使用python(裁剪后的)完成项目开发。

Micropython同样抽象了对底层单片机的驱动,同一代码可以在不同的单片机上(前提是芯片支持micropython)达到相同的运行效果,借鉴上位机的概念叫跨平台。

1.1.2.3. 刷固件到ESP32
1.1.2.3.1. 下载固件

Micropython官网提供esp32的micropython固件(持续更新),路径:

micropython官网(http://www.micropython.org/)->download->generic esp32 module,如图:

wps49

wps50

以选择最新稳定版为例(如上图),尽量不用unstable版本。

下载。

同在下载页,注意这段文字:

wps51

大概意思:刷固件起始地址:0x1000;第一次刷固件,需要先清除整个flash;

1.1.2.3.2. 下载刷固件工具

espressif官网下载flash_download_tool,如下图:

wps52

无需安装,解压即可使用。

1.1.2.3.3. 连接

Usb->micro usb数据线连接pc及开发板,查看串口(我的电脑->属性->设备管理器->...)。

注意:usb转串口根据使用芯片的不同,需要下载对应的驱动,如:

wps54 cp210x方案

wps56 ch340g方案

如明确知道使用的芯片,到官方下载驱动并安装即可。如不明确,可使用驱动精灵、鲁大师等第三方工具,自动安装驱动。

总之,以看到设备管理器中出现明确的串口好为准。

1.1.2.3.4. 刷固件

1. 打开flash_download_tool.exe;

2. 选择chiptype:esp32,workmode:根据实际情况选;

3. 选择下载好的固件,@后填0x1000(官网有说明千万不能填错);

4. 右下选择查到的com口,baud:115200;

5. 下中点击“erase”,并按下开发板的boot0按钮,等待完成(首次刷固件要执行);

6. 下左点击“start”,并按下开发板的boot0按钮,等待完成;

7. 用串口工具打开串口,重启开发板,等待欢迎信息,看到”>>>”证明成功;

wps57wps58

wps59

1.1.2.4. MicroPython开发工具

单片机板自身没有用户接口(如显示器、键盘等)。

在micropython模式下,单片机板通过串口连接宿主机(pc机),借用宿主机的交互接口完成用户交互。

宿主机上运行处理串口数据的终端软件,完成与单片机板的信息交流,常用的有串口调试助手、putty等。

Micropython推荐使用Thonny软件,因为Thonny除了能够处理串口数据,还集成了文件管理、操作(上传文件到单片机和下载单片机中的文件)等功能。

1.1.2.4.1. Putty

PuTTY一款集成连接软件,可以处理TelnetSSH、纯TCP以及串行接口连接的信息。百度下载解压后,putty.exe可以直接运行,如图:

wps60

选择”serial”,设置串口号、波特率,点击open,看到如下界面即证明完成配置:

wps61

1.1.2.4.2. Thonny

推荐使用thonny,下载并安装thonny。

首次打开thonny,系统弹出对话框,按自己的喜好设置后关掉对话框,进入主页面,接下来配置与单片机板的通讯,路径:工具->设置,打开“thonny设置”对话框,选择“解释器”标签,如下图:

wps62->wps63

wps64

wps65

4中的串口号在设备管理器中查看(如pc上有多个串口号,可先拔掉单片机板,然后再插上,通过对比即可找到pc分配给单片机的串口号)。

设置完成后,关掉thonny->拔下单片机板->插上单片机板->打开thonny,开到如下打印信息即证明刷固件及配置开发环境成功,如下图:

wps66

posted on 2021-11-05 20:58  史久超  阅读(160)  评论(0编辑  收藏  举报
知识改变命运