问题标签 [platformio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
70 浏览

ubuntu - linux更新后如何维护开发环境

我喜欢偶尔做一些 DIY 电子项目,但我还是新手。我通常使用 STM32 微控制器而不是 Arduino,但微控制器的一个问题是构建和部署我的代码所需的各种工具链。

这是我的开发环境

  • 操作系统:Ubuntu 18.04
  • IDE:带有 PlatformIO 的 Aton
  • 工具链:OpenOCD
  • 框架:stm32-cube

我的问题是每隔一段时间,我会进行一次更新,并且该组件更新一次,整个环境都会中断。在过去的 4 个月中,这种情况发生了 3 次,我更新了一些东西,但下周它就停止了工作。现在经过各种故障排除和卸载/安装/更新,我让一切都恢复正常了。

有没有人有关于如何维护开发环境的任何提示,这样我就不必花时间修复环境而不是在项目上工作?

0 投票
1 回答
145 浏览

atom-editor - 如何在 Atom 的 platformio-ide-terminal 中插入多行突出显示的文本?

我在 Atom 中安装了 platformio-ide-terminal 包。当我突出显示多行文本并将其发送到我的 ipython 终端时,它只运行我的光标闪烁的行。

有没有办法发送多行选定的文本?

0 投票
1 回答
3493 浏览

visual-studio-code - ** OpenOCD 初始化失败 ** 在使用 VS Code、platformio、stlink v2 和 stm32 f030r8t6 时

(我在我的问题中添加了链接,但我会尽可能详细地解释我的问题是什么,这样您就不需要使用这些链接,它们仅供参考)您好,

我正在尝试遵循此 youtube 教程(https://www.youtube.com/watch?v=R6SstBoXjKc&list=PL6PplMTH29SHgRPDufZhfMRoFwRAIrzOp),但他使用 coocox IDE 和 windows。我正在使用 VS Code 和 Ubuntu 16.04.4 LTS。我正在尝试使用 VS Code 的 platformio 扩展以及 stlink-v2 和裸 stm32 f030r8t6 微控制器(https://www.newbiehack.com/categories/newbiehack-microcontroller-ARM-stmicro-STM32F0R6-withBreadboardInterface)。要将我的笔记本电脑连接到开发板,我使用了 st-util 命令,该命令提供以下输出:

我的 platform.ini 文件是:

我创建了一个名为 f030r8t6.json 的自定义配置文件:

当我构建项目时,一切正常,但是当我尝试上传时,我得到以下信息:

我已经坚持了好几个星期了,非常感谢任何帮助!谢谢!

0 投票
1 回答
381 浏览

c - 链接错误:在 PlatformIO 中找不到 -lrdkafka 预编译动态库

我正在尝试让 Kafka 使用 PlatformIO 在 Esp32 上工作。

我尝试使用我的 platformio.ini 文件中表达的构建标志将 C 库链接到在 PlatformIO 中构建的项目。我正在使用 librdkafka 库。librdkafka.so 文件的位置在 /usr/local/lib 中,但是每当我使用 plaformio 中的链接库构建项目时,都会出现以下错误:

platformio.ini 文件:

在 PlatformIO 之外,我使用以下命令成功地将 librdkafka 链接到 main.c 项目文件: gcc main.c -L/usr/local/lib -l:librdkafka.so -lz -lpthread -lrt -I/usr/local/include/librdkafka

0 投票
2 回答
802 浏览

c++ - 我们如何减少 ESP8266 程序存储器上的代码大小

我们在Platfromio IDE上使用 ESP8266 开发了一个物联网门禁系统。您可以在esp-rfid GitHub 存储库中查看我们所有的作品。我们想在我们的系统上使用 ota 更新,但代码几乎覆盖了一半的内存,有时甚至超过一半。如果代码覆盖的内存大于一半,我们就不能使用 ota update。我们如何减少代码大小?

感谢您的回答。

您可以从那里找到代码。

构建结果:

DATA: [==== ] 43.4% (used 35592 bytes from 81920 bytes) PROGRAM: [===== ] 48.6% (used 507732 bytes from 1044464 bytes)

0 投票
1 回答
1226 浏览

c - PlatformIO 构建失败:未定义对 http_parser_init 的引用

我正在尝试使用 PlaformIO 中 ESP-IDF 框架库中的示例设置无线更新(OTA)更新。ota simple_example main.c 文件导入一个名为 esp_http_client.h 的 .h 文件。esp_http_client 导入另一个名为 http_parser.h 的 .h 文件,其中定义了函数 http_parser_init。我正在 VScode 中的 PlaformIO 中构建这个项目,所以我检查了 c_cpp_properties.json 并且包含了 http_parser.c 和 http_parser.h 目录。我注意到有时 c_cpp_properties 文件存在错误,因此我还将 http_parser.h 文件目录包含在 platform.ini 文件中。

我也遇到了错误:

未定义对 http_parser_execute 的引用

未定义对 http_parser_url_init 的引用

未定义对 http_parser_parse_url 的引用

这是 http_parser.h 文件中的所有函数

这是我正在使用的 main.c 文件的代码

http_parser.h:文件

esp_http_client:文件

我不明白当这些函数在 esp_parser.h 文件中定义时我应该在哪里定义它们,或者我应该怎么做才能不出现此错误。

0 投票
1 回答
61 浏览

python-3.x - if 语句 get 被跳过,而只有 else 语句 get 被打印。我如何将字符串或 int 存储在单个变量中?

我正在尝试做一个练习,它要求我们解决以下问题 我尝试做的练习问题图像 ,但不使用与练习中显示的完全相同的关键字。

这是我的代码

但我在这里遇到的问题是,如果我添加任何文字,比如“joker”。它会将我的长度输出为“5”,这是正确的。

但是当我输入任何整数或浮点数时,比如 "101" ,它仍然将它的长度打印为 "3",因为它将它作为字符串读取。

那么我为什么要添加变量,当我输入一个整数或字符串时,它应该将其识别为字符串或整数

0 投票
0 回答
287 浏览

visual-studio-code - PlatformIO ESP-IDF 将所有内容编译为 pioenvs - VSCode 和 Win10

我正在尝试通过 VSCode 习惯 Windows 10 上的 PlatformIO 工具链,为 ESP32 (doit-devkit-v1) 编译一个简单的项目。我注意到两件事:

在构建“Arduino”草图时,它在我项目的 .pioenvs 文件夹中放置的很少,编译似乎需要适当的时间。

在构建“ESP-IDF”项目时,它会将一大堆目标文件编译到该 .pioenvs 文件夹中,编译时间为几分钟。

我想知道我的设置是否有问题,我会很感激一些建议。比如,我是否设置了错误的包含路径,或者需要在我的 platformio.ini 文件中添加一些内容?

前任:

...ETC。

0 投票
2 回答
568 浏览

c++ - 如何使用 Visual Code 和 Platform IO 将环境变量注入 CPP 文件?

刚从 JS 背景开始。

我正在研究物联网开发,并希望在不上传个人 WiFi 的 SSID 和密码的情况下建立自己的存储库。

platformio.ini据我了解,Platform IO 提供了这个设置build_flags

我不知道如何从我的 CPP 文件中访问它们。我想将构建标志 SSID 中的值注入到我的 *.cpp 文件中。

以上内容不会向串行监视器写入任何内容。

我究竟做错了什么?代码确实编译。

0 投票
2 回答
793 浏览

c++ - 在多个文件中包含相同的头文件 - 未在此范围内声明“变量”

我对以下代码有疑问(这些只是片段,不是完整文件):

菜单.h

菜单.cpp

配置文件

所有标题(Menu.h、MenuHeader.h、MenuPage.h)都包含 Config.h。

好吧,编译器似乎不喜欢它。它抛出:

所有关于 Menu.cpp 文件。我认为如果我将 Config.h 文件包含在我的 Main.cpp 中的一个标头中,它应该可以工作。即使我直接在 Main.cpp 中包含配置 - 也会发生相同的错误。我能做些什么呢?

编辑:嗯,奇怪的事情正在发生。如果我#include <Config.h>在 Menu.h 中,则配置仅适用于该文件。如果我将其更改为#include "../Config/Config.h",它可以在 Menu.h 和 Menu.cpp 中使用。这是怎么回事?我的文件夹结构 Using<Config.h>是 platformio 的功能。它会自动找到所有库并编译它们。