使用PlatformIO(物联网开发的开源生态系统)用Visual Studio Code编程MATRIX Voice的ESP32
扫描二维码
随时随地手机看文章
所需的硬件
在开始之前,让我们回顾一下您需要什么。
•Raspberry Pi 3(推荐)或Pi 3 Model B+(支持)。
•MATRIX Voice ESP32版-购买MATRIX Voice。
•Micro-USB电源适配器的树莓派。
•Micro-SD卡(最少8gb)
•微型USB电缆
•一台带有显示器的计算机,可以SSH到您的树莓派上。
•互联网连接(以太网或WiFi)
我们开始吧
如果您要在树莓派上重新安装Raspbian,首先必须使用基本的MATRIX设备包设置操作系统。
1. 树莓派安装
在树莓派终端上运行以下命令安装MATRIX语音软件。这将保持FPGA固件更新,并安装一些工具来刷新ESP-WROOM-32。
添加MATRIX存储库和密钥。
更新您的存储库和包。
安装MATRIX初始化包。
重启你的树莓派。
SSH回pi,执行此命令。
复位ESP32闪存。
2. 设置Visual Studio代码和PlatformIO扩展
在这里,我们正在安装允许您的PC开发和编译ESP32项目所需的要求。
你可以在这里安装Visual Studio Code文本编辑器,在这里安装PlatformIO扩展。PlatformIO还支持Atom文本编辑器。
PlatformIO预装了expressif IDF,这是在ESP32上开发所必需的库。
要从任何终端执行PlatformIO命令,请遵循下面的说明。
完成上述项目后,运行以下命令克隆PlatformIO项目。
3. 设置OTA (Over The Air)部署的WiFi参数
打开Visual Studio Code并打开PlatformIO home hub。
单击Open Project并选择esp32-platformio文件夹。
进入ESP32 -platformio文件夹后,打开platformio.ini.初始src/main.cpp文件中的示例代码使用OTA更新轻松地将代码重新部署到ESP32。要启用OTA更新,请确保将“SSID_GOES_HERE”和“PASSWORD_GOES_HERE”更改为您实际的WiFi SSID和密码。
Windows专用指令
如果您使用的是Windows,还可以将platformio.ini中的upload_port参数替换为MATRIX VOICE ESP32的IP。
例如,如果您的IP是192.168.1.1,那么就更改
到
4. 初始构建和部署
要编译代码,请单击Visual Studio code左下角带有复选标记的按钮。这将构建并编译代码到esp32-platformio目录下的.pio/build/lolin32/firmware.bin。或者,您可以在esp32-platformio目录下运行pio run。
要部署编译后的固件,请运行以下命令。将YOUR_PI_IP_HERE替换为树莓派的IP。如果你运行的是Windows,请使用Git Bash作为终端,执行以下命令。
初始上传后部署
在初始上传之后,所有后续的上传都可以通过OTA或通过上面的install.sh脚本完成。
要使用OTA上传,请打开终端,进入项目目录,并运行此命令。
完成了
您的MATRIX Voice ESP32现在应该正在运行部署的示例。当程序在ESP32中正确闪现后,如果你选择这样做,Voice现在可以在没有Pi的情况下运行。在连接或断开连接之前,请确保MATRIX Voice和Pi没有通电。
部署的代码可以在esp32-platformio目录下的src/main.cpp文件中找到。
更新平台库
要更新PlatformIO和PlatformIO库,运行以下命令。
如何从树莓派连接ESP32 UART
从ESP32读取串行输出对调试很有用。为此,您可以使用minicom,并且必须将MATRIX VOICE ESP32连接到Pi上。
首先在树莓派上安装minicom。
然后要连接并从串行读取,运行以下命令。
关闭minicom,按Ctrl+A,然后按X。
故障排除
如果pio run——target upload命令不起作用,请检查platformio.ini中的MVID参数,它的最大长度应该是8个字符。或者,您可以在platformio.ini中的upload_port参数中传递ESP32的IP。如果pio run——target upload仍然不起作用,请尝试运行以下命令,替换“MVESP”。使用platformio.ini中的upload_port参数中的数据。
如果在构建过程中遇到问题,请尝试使用以下命令删除构建文件、重新安装库和重新构建项目。
本文编译自hackster.io





