ESP32概述与Arduino软件准备 | ESP32轻松学(Arduino版)

掌控板软件生态

但是针对掌控板普及教学而设计的软件,往往在功能上会有一些限制。另外,如果对掌控板的核心芯片 ESP32 不够了解的话,不方便对学到的知识进行迁移。比如网上有很多采用 ESP32 设计的开发板,在掌控板上学到的知识,能否用到这些 ESP32 的开发板上呢/p>

另外,在接触掌控板之前,大部分老师做创客教育基本都会采用非常流行的 Arduino 来进行,那么能否将 Arduino 上面学到的编程知识也迁移到掌控板呢/p>

实际上,这些知识都是可以迁移的,因此在有时间的情况下,我准备给大家分享一系列用 Arduino 代码对掌控板(ESP32)编程的教程:用 Arduino 玩转掌控板(ESP32)系列,旨在更多地从 ESP32 芯片的角度出发,学习 ESP32 模块的编程,然后应用到掌控板或其他基于 ESP32 的开发板上,让大家可以触类旁通。

在硬件选择上,本教程将以掌控板为主线,再搭配一些其他基于 ESP32 的学习开发板,比如 NodeMCU-32SDFRobot FireBeetle-ESP32;在编程软件选择上,将以 Arduino 代码编程为主,个别案例也会同时分享一些 Mixly 或 Mind+ 或 mPython 等图形化编程软件的程序。

实际上 ESP32 芯片是 ESP8266 芯片的升级版,所以情况下,两者的代码也是兼容的,所以本教程提供的代码也尽可能做到通用,但是由于本人水平有限,难免有一些疏漏之处,还请大家多多提出批评改进意见,一起进步。

ESP32 概述

在介绍软件之前,先来简单介绍一下硬件。首先我们来看一下掌控板背后的主控芯片 ESP32。

ESP32 芯片是由我国的乐鑫公司继 ESP8266 芯片后推出的又一款集成 WiFi 功能的微控制器。它拥有比 ESP8266 更加强大的性能,可以用来开发更加复杂的应用。ESP32 芯片或模组具有下列特点:

  • 处理器:Tensilica LX6 双核处理器(一核处理高速连接;一核独立应用开发)
  • 主频:32 位双核处理器,CPU 正常工作速度为 80 MHz,最高可达 240 MHz
  • SRAM:520KB,最大支持 8 MB 片外 SPI SRAM
  • Flash:最大支持 16 MB 片外 SPI Flash
  • WiFi 协议:支持 802.11 b/g/n/d/e/i/k/r 等协议,速度高达150 Mbps
  • 频率范围:2.4~2.5 GHz
  • 蓝牙协议:支持蓝牙 v4.2 完整标准,包含传统蓝牙 (BR/EDR) 和低功耗蓝牙 (BLE)
  • 同时他还具备丰富的外设接口:比如 GPIO、ADC、DAC、SPI、I2C、I2S、UART 等常用接口一个不少

具体可以查看官方出品的功能框图:

ESP32引脚框图

有兴趣的读者可以去下面的掌控板官方 Wiki 对比一下掌控板的硬件参数:

https://mpython.readthedocs.io/zh/master/board/hardware.html

这些参数是不是跟基于 ESP32 芯片的掌控板差不多外上图中的 ESP32 引脚框图其实也和掌控板完全一样。

总结下来,ESP32 芯片主要具有高性能、低功耗、高度集成、体积小、性能稳定等优点。可以说性能是相当不错了,所以它才能支持 MicroPython 等比较耗性能的脚本语言。

关于 ESP32 的更多详细参数可以参考乐鑫官网:

https://www.espressif.com/zh-hans/products/hardware/esp32/overview

常见 ESP32 开发板

如果在淘宝搜索 ,可以看到很多开发板,如下图所示。除了掌控板之外,这些琳琅满目的开发板,我们到底该怎么选择呢/p>

掌控板

下图为 DFRobot 出品的 FireBeetle-ESP32,更多详细的资料可以查看 DF 官网的 Wiki:
http://wiki.dfrobot.com.cn/index.phpitle=(SKU:DFR0478)FireBeetle_Board-ESP32%E4%B8%BB%E6%9D%BF%E6%8E%A7%E5%88%B6%E5%99%A8V3.0

NodeMCU-32S

这里需要注意的是,大部分 ESP32 系列的开发板,他们的工作电压都是 3.3 V,USB 口最高输入 5 V 电压,因此在使用时要注意选择正确的电压,以免烧坏板子,造成危险。后面的章节中,在具体接线时,也会再次强调。

编程语言选择

ESP32 的开发方式有很多种,下面列举几个常用的:

  • 乐鑫官方 ESP-IDF,这是官方的首推的开发方式,能够最大限度发挥ESP32的性能,代价就是不方便或者说是开发不是那么高效;
  • 乐鑫官方出品 Arduino core for the ESP32,官方出品的 Arduino 编程软件支持,上手简单,大部分编程语法和 Arduino 兼容,借助于 Arduino 生态,有非常丰富的资源可直接使用;
  • 现在非常流行的 microPython,简单明了,功能强大,大部分编程语法和 Python 兼容,借助于 Python 生态,在音视频、图像处理、人工智能等方面有很大的优势;
  • 图形化编程,比如 Mixly、Mind+、mPython X 等图形化编程软件,其实他们的底层也主要是基于 Arduino 模式或者 microPython 模式。

目前最适合广大中小学老师教学的,主要就是 Arduino 模式和 microPython 模式,因为针对掌控板使用 microPython 的课程已经比较多了,所以本系列的教程主要使用 Arduino IDE 进行学习。

mixly-arduino-esp32

arduino选择首选项

在 Arduino 设置界面(首选项)中,在一栏,填入:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

如下图所示:

选择开发板管理器

在上,搜索 ,可以看到 ,点击右下角的安装,等待安装完成即可。这个过程可能比较慢,取决于网络,请耐心等待。如果安装失败,重新安装即可。

arduino-esp32-board

小试身手

所有准备工作都已经完成了,我们来试试编写并上传第一个 Arduino 模式下的掌控板(ESP32)程序吧。

打开 Arduino 软件,在开发板中选择 ESP32 Dev Module,然后在代码编辑区域输入以下程序:

1、开发板选项中 ESP32 Arduino 列表中所列的开发板,都是基于 ESP32 芯片的,除了引脚定义有一些差异外,其他差异不是很大,入门学习时可以忽略他们的差异,随便选一个,影响都不是很大,这里推荐选择 ESP32 Dev Module 即可。

2、如果使用的是 Mixly 内置的 Arduino 软件,为了方便大学学习,已经精简删除了大部分开发板选项,只留下几个选项,读者直接选择 Arduino ESP32Arduino HandBit 即可。

Arduino上传程序

然后点击右上角串口监视器,修改对应的串口波特率为 115200,看看输出效果吧。这个程序主要实现了让掌控板每隔 1s 向串口打印输出一行 字符串,你也可以修改程序中的打印内容,重新上传程序看看效果。

Arduino串口监视器

如果程序输出没有问题的话,恭喜你,你已经正式开始用 Arduino 学习掌控板之旅了!

总结

在这个章节中,我们主要学习了以下内容:

  • ESP32 的基本知识;
  • 了解了一些常见的基于 ESP32 的学习开发板;
  • 学习了在 Arduino 中配置 ESP32 掌控板开发环境的方法;
  • 在 Arduino 模式下编写了第一个掌控板程序。

来源:铁熊玩创客

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月17日
下一篇 2020年1月17日

相关推荐