nodemcu - 我可以使用 PlatformIO 扩展在 VS Code 中创建 NodeMCU 项目吗?
问题描述
我正在尝试使用 ESP-32 开发套件来控制 WS2812 LED 灯条。发现这些开发套件有一些名为 NodeMCU 的固件,据我所知,它使用 LUA 脚本。VS Code 有一个名为 PlatformIO 的扩展。我曾用它来对 Arduino 板进行编程以使 LED 闪烁。
我想知道是否可以使用 PlatformIO 构建 NodeMCU 固件和 LUA 脚本,然后使用 PlatformIO 将所有内容下载到 ESP-32 开发套件。那可能吗?
我认为这无法完成,因为当我创建一个未列出 NodeMCU 的项目时,只有两个框架选择“Arduino”和“ESP-IDF”。
谢谢
解决方案
使用 ESP-IDF,您可以直接针对 SDK 编写 C 代码。这可以在平台 IO 中完成。这有其优点,但主要缺点当然是开发往返需要一些时间。完整的构建和安装(闪烁二进制)循环针对您提交源代码的每一位运行。
使用 NodeMCU,您只需构建和安装一次固件,然后只传输更改的 Lua 文件。这里的缺点是您需要单独的工具来完成单独的任务。有关详细信息,请参阅https://nodemcu.readthedocs.io/en/dev-esp32/。
- 在 Linux 开发环境、Linux 虚拟机(例如 Windows)或 Docker 上构建固件(非常简单,由您自己决定)。
- 刷固件。使用esptool.py或自包含的独立 GUI 工具NodeMCU PyFlasher(真正由您提供)。
- 将 Lua 代码从主机上传到设备。使用ESPlorer(非常基本的编辑器)、NodeMCU Tool或ChiliPeppr ESP32 Web IDE。
推荐阅读
- javascript - await 单个 Promise 与异步迭代器的异步解析顺序
- google-colaboratory - 机器学习和模型训练
- google-apps-script - 我正在使用取决于相对列的 If 语句 - 无法使其工作
- python - 如果两列在三列中具有相同的值,则无法在 pandas 中获得结果,然后保留第一个 col 值,否则其他值取决于条件
- d - 如何覆盖默认结构构造函数
- selenium - 为什么 Selenium webdriver 没有打开网页?
- swift - 无法将类型“()”的返回表达式转换为返回类型“T”
- html - 如果单词内容增加,如何到达p标签的下一行
- ios - SwiftUI 中的平面导航最佳实践
- sql - T-SQL:执行批处理时出错。错误消息是:从 MyTable 中选择 * 的算术溢出