今日头条
作者 TK Hareendran,特约作家
我第一次涉足 IoT 时使用了 Espressif ESP8266,这是一款内置 32 位 MCU 和 2.4-GHz Wi-Fi 的 SoC。从那时起,我使用了许多基于微控制器的不同模块变体。因此,当它更强大的兄弟ESP32降落在我的土地上时,我不得不尝试一下。
乐鑫 ESP32是一款很有前途的支持 Wi-Fi 和蓝牙的 SoC,具有大量 GPIO。最近,我(在 eBay 上)购买了两个通用 ESP32 开发板进行一些实验。每个都由 Expressif ESP-WROOM-32 Wi-Fi 和蓝牙模块供电,该模块包含 ESP32 SoC、闪存和芯片天线。乐鑫提供多种开发模块/开发板来帮助用户评估 ESP32 芯片的功能,而 ESP-Wroom-32 是用于安装在最终用户产品中的最小模块。
图 1:ESP32 SoC 集成了双 CPU 内核和外围协处理器以及蓝牙和 Wi-Fi 无线电元件。(来源:Expressif)
ESP-WROOM-32根据数据表,ESP-WROOM-32 是一款功能强大的 38 针 Wi-Fi/蓝牙/BLE MCU 模块,采用可扩展和自适应的 ESP32-D0WDQ6 芯片。该芯片的核心包含两个低功耗 Xtensa 32 位 LX6 微处理器以及一个超低功耗 (ULP) 协处理器。两个 CPU 内核可以单独控制,它们的时钟频率在 80 MHz 到 240 MHz 之间可调。用户还可以关闭 CPU 并使用 ULP 协处理器来处理 A/D 转换并监控外设的值变化或阈值交叉。
图 2:ESP-Wroom-32 模块。
蓝牙、蓝牙 LE 和 Wi-Fi 的集成确保该模块可以针对广泛的应用。Wi-Fi 允许较大的物理范围并通过 Wi-Fi 路由器直接连接到互联网,而蓝牙允许用户方便地连接到手机或广播低能量信标以进行检测。ESP32 的睡眠电流 ESP32 可忽略不计(小于 5 μA),使其适用于大多数电池供电和可穿戴电子应用。
我从eBay上得到的被称为“ESP32开发板”的产品实际上只是基于ESP-WROOM-32模块的小型方便的插接板,还有一些附加组件。这些分接板通过公头暴露模块的I/O,并采用SiLab的CP2102芯片,通过微型USB端口进行串行至USB调试。USB至串行编程接口还为该板提供电源。板载3.3伏稳压器芯片、按钮和LED。
两块板都提供几乎相似的功能,但具有不同的引脚配置。第一个,通常称为DevKitC,具有 38 针 (2 x 19) 布局,尺寸为 55 x 29 x 14 毫米。第二个,有时称为DOIT板,具有 30 针 (2 x 15) 布局,尺寸为 52 x 29 x 14 毫米。
图 3:我从 eBay 获得的开发模块。
我选择了这些易于使用的 ESP32 开发板,尽管它们相对来说有点贵(至少是模块成本的两倍)。如果您要将 ESP-WROOM-32 模块集成到(商业)项目中,则无需任何其他东西即可使用它。但是对于原型设计和与面包板一起使用,您很可能需要像这样的特殊分线板/测试台来暴露 GPIO。模块的齿形安装孔意味着连接 I/O 所需的焊接工作并不容易。因此,尝试使用裸模块可能对许多人来说是个麻烦,对少数人来说可能是一种有趣的体验。板子方便多了。
颠簸的起飞开始使用滑板很快。因为我已经在我的 PC 中安装了 USB-to-Serial 转换器驱动程序(VCP 驱动程序),所以我可以简单地在开发板和我的计算机之间连接一条 micro-USB-to-USB 电缆。我可以立即看到 Windows 为该板分配了唯一的端口标识符。
因为官方 ESP32 网站提到了 Arduino,所以我决定使用Espressif 发布的ESP32 芯片的 Arduino 内核。该软件解释了如何使 ESP32 与 Arduino IDE 一起工作。不幸的是,这并非一帆风顺。首先,提供的指示既可怜又令人生畏(诚然,现在一切都还处于初步阶段)。其次,ESP32 内核是基于 Xtensa 的,而不是我们熟悉的 ARM/AVR。所以他们还没有 Arduino 板管理器安装选项。然而,在一些最初的麻烦和混乱之后,我设法使一切正常,但为了新手,我没有详细记录我的步骤。(对不起。)
简而言之,该过程(在 64 位 Windows 上测试)是这样的:
确保随身携带最新版本的Arduino IDE
安装Git GUI
启动Git GUI并选择Clone Existing Repository
选择源(https://github.com/espressif/arduino-esp32.git)和目标(您的目标目录),然后单击克隆开始克隆存储库
转到目标文件夹,打开工具(…/Arduino/hardware/espressif/esp32/tools),然后双击get.exe
get.exe 完成后,您应该会在命名目录中看到所有必需的文件
图 4:克隆 Git ESP32 存储库。
接下来,将 ESP32 板插入计算机的 USB 端口并等待驱动程序安装。之后,运行 Arduino IDE,选择您的开发板,然后选择 COM 端口。最后,编译并上传您的代码。
对于我的首次测试,我选择了 GetCHIPID 样本,因为它只是从板上检索芯片 ID(实际上是 MAC 地址)。我可以上传代码,它确实返回了我的芯片 ID — BC7306A4AE30。一次短暂的试飞,但很成功!
图 5:成功的首次测试检索到芯片的 ID 代码。
总结ESP32 是一款功能极其强大的支持物联网的微控制器,使用 ESP32 开发板以非常令人愉悦的电路板设计展示了这种强大功能,适合初学者和高级用户。大多数便宜的“n”欢快的 ESP32 开发板都由 ESP-Wroom-32 模块供电,这是当今物联网应用的绝佳选择之一。ESP32 旨在用于击败无线应用(Wi-Fi 或 BLE 项目),但目前大多数开发板上的 Arduino 平台无法充分发挥其强大的功能。不过,这是我注意到的唯一缺点。
图 6:完全兼容 Arduino 的 ESP32 开发板。
也就是说,寻找易于使用的 ESP-Wroom-32 平台以使用 Arduino 进行快速原型设计的 Arduino 粉丝(甚至是新手)可以尝试DFRobot (未经 FCC 认证)的“ FireBeetle ”。另一个漂亮的补充是来自“Explore Embedded”——印度的“ Hornbill ”。两者都声称与 Arduino IDE 完全兼容。
审核编辑 黄昊宇
全部0条评论
快来发表一下你的评论吧 !