Platformio+VsCode OTA 上传默认为“COMx”而不是 IP

问题描述 投票:0回答:1

我正在尝试在我的 ESP32 上进行 OTA。 cpp 没问题,手动触发更新工作正常,但是当我单击“上传”按钮上的 VS Code 时,它默认为“COMx”而不是给定的 IP。

手动调用:

python C:\Users\<user>\.platformio\packages\framework-arduinoespressif32\tools\espota.py --ip 192.168.178.51 --port 3232 --timeout 60 --file "firmware.bin" --debug

这工作完美,我在我的 ESP 上获得了给定的固件。

通过 VS Code 调用:

我现在想要的是使用 VS code 上的 PlatformIOs IDE 按钮触发上传。 VS Code Screenshot showing the PlatformIO action buttons

我的 plaftormio.ini 文件:

[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4
framework = arduino
upload_port = 192.168.178.51
monitor_speed = 115200
; OTA
upload_protocol = espota
upload_flags =
    --port=3232
board_build.partitions = min_spiffs.csv
build_unflags = -Os
lib_compat_mode = strict
lib_deps =
    ArduinoOTA
    knolleary/PubSubClient@^2.8
    bblanchon/ArduinoJson@^7.2.0
    paulstoffregen/OneWire@^2.3.8
    milesburton/DallasTemperature@^3.11.0
    thomasfredericks/Bounce2@^2.72

我构建了项目 -> 一切OK

当我点击“上传”时,我在终端上看到:

Executing task: C:\Users\<user>\.platformio\penv\Scripts\platformio.exe run --target upload --upload-port COM5

然后失败并显示以下信息:

Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   8.2% (used 43848 bytes from 532480 bytes)
Flash: [====      ]  42.8% (used 841746 bytes from 1966080 bytes)
Configuring upload protocol...
AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = espota
Uploading .pio\build\az-delivery-devkit-v4\firmware.bin
08:53:22 [DEBUG]: Options: {'esp_ip': 'COM5', 'host_ip': '0.0.0.0', 'esp_port': 3232, 'host_port': 30698, 'auth': '', 'image': '.pio\\build\\az-delivery-devkit-v4\\firmware.bin', 'spiffs': False, 'debug': True, 'progress': True, 'timeout': 10}
08:53:22 [INFO]: Starting on 0.0.0.0:30698
08:53:22 [INFO]: Upload size: 841856
Sending invitation to COM5 failed
08:53:24 [ERROR]: Host COM5 Not Found
*** [upload] Error 1

为什么上传按钮没有读取 platformio.ini 文件中设置的目标 IP,并固定在我的 COM5(初始下载时我的 ESP32 连接到的串行端口)?我已经断开了 ESP32 与 COM5 的连接,但 PlatformIO 仍然默认为它。

我已在 VS Code 上删除并重新安装 platformio IDE,但问题仍然存在。

有什么想法可以解决这个问题吗?

esp32 arduino-esp32 ota platformio
1个回答
0
投票

问题是 VS Code 上的“设置上传/监控/测试端口”没有设置为 AUTO,而是设置为 COM5。

将其设置为“自动”解决了该问题。 Screenshot of VS Code showing where to change the port

© www.soinside.com 2019 - 2024. All rights reserved.