问题标签 [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.
ubuntu - linux更新后如何维护开发环境
我喜欢偶尔做一些 DIY 电子项目,但我还是新手。我通常使用 STM32 微控制器而不是 Arduino,但微控制器的一个问题是构建和部署我的代码所需的各种工具链。
这是我的开发环境
- 操作系统:Ubuntu 18.04
- IDE:带有 PlatformIO 的 Aton
- 工具链:OpenOCD
- 框架:stm32-cube
我的问题是每隔一段时间,我会进行一次更新,并且该组件更新一次,整个环境都会中断。在过去的 4 个月中,这种情况发生了 3 次,我更新了一些东西,但下周它就停止了工作。现在经过各种故障排除和卸载/安装/更新,我让一切都恢复正常了。
有没有人有关于如何维护开发环境的任何提示,这样我就不必花时间修复环境而不是在项目上工作?
atom-editor - 如何在 Atom 的 platformio-ide-terminal 中插入多行突出显示的文本?
我在 Atom 中安装了 platformio-ide-terminal 包。当我突出显示多行文本并将其发送到我的 ipython 终端时,它只运行我的光标闪烁的行。
有没有办法发送多行选定的文本?
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 的自定义配置文件:
当我构建项目时,一切正常,但是当我尝试上传时,我得到以下信息:
我已经坚持了好几个星期了,非常感谢任何帮助!谢谢!
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
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)
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 文件中定义时我应该在哪里定义它们,或者我应该怎么做才能不出现此错误。
python-3.x - if 语句 get 被跳过,而只有 else 语句 get 被打印。我如何将字符串或 int 存储在单个变量中?
我正在尝试做一个练习,它要求我们解决以下问题 我尝试做的练习问题图像 ,但不使用与练习中显示的完全相同的关键字。
这是我的代码
但我在这里遇到的问题是,如果我添加任何文字,比如“joker”。它会将我的长度输出为“5”,这是正确的。
但是当我输入任何整数或浮点数时,比如 "101" ,它仍然将它的长度打印为 "3",因为它将它作为字符串读取。
那么我为什么要添加变量,当我输入一个整数或字符串时,它应该将其识别为字符串或整数
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。
c++ - 如何使用 Visual Code 和 Platform IO 将环境变量注入 CPP 文件?
刚从 JS 背景开始。
我正在研究物联网开发,并希望在不上传个人 WiFi 的 SSID 和密码的情况下建立自己的存储库。
platformio.ini
据我了解,Platform IO 提供了这个设置build_flags
。
我不知道如何从我的 CPP 文件中访问它们。我想将构建标志 SSID 中的值注入到我的 *.cpp 文件中。
以上内容不会向串行监视器写入任何内容。
我究竟做错了什么?代码确实编译。
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 的功能。它会自动找到所有库并编译它们。