问题描述
在 Windows 上设置
ESP8266 连接到 COM5 端口
.\com2tcp-rfc2217.bat COM5 4444
D:\Downloads\hub4com-2.1.0.0-386>"hub4com" --create-filter=escparse,com,parse --create-filter=purge,purge --create-filter=pinmap,pinmap:"--rts=cts --dtr=dsr --break=break" --create-filter=linectl,lc:"--br=remote --lc=remote" --add-filters=0:com --create-filter=telnet,tcp,telnet:" --comport=server --suppress-echo=yes" --create-filter=lsrmap,lsrmap --create-filter=pinmap,pinmap:"--cts=cts --dsr=dsr --dcd=dcd --ring=ring" --create-filter=linectl,lc:"--br=local --lc=local" --add-filters=1:tcp --baud=115200 --octs=off "COM5" --use-driver=tcp "*4444"
COM5 Open("COM5",baud=115200,data=8,parity=no,stop=1,octs=off,odsr=off,ox=off,ix=off,idsr=off,ito=0) - OK
Route data TCP(1) --> COM5(0)
Route data COM5(0) --> TCP(1)
Route flow control TCP(1) --> COM5(0)
Route flow control COM5(0) --> TCP(1)
Filters:
_______
\->{telnet.IN}-------------------------------------------->
TCP(1) | /
_______/<-----{telnet.OUT}<-{lsrmap.OUT}<-{pinmap.OUT}<-{lc.OUT}<-
________
\->{parse.IN}------------------------------>
COM5(0) | /
________/<-----{purge.OUT}<-{pinmap.OUT}<-{lc.OUT}<-
Started COM5(0)
Socket(0.0.0.0:4444) = 204
Listen(204) - OK
Started TCP(1)
在 WSL2 上设置
VSCode Remote for WSL 已安装并运行良好 安装并运行 VSCode 中的 platform.io 扩展
platformio.ini
[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = arduino
platform_packages =
framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
lib_deps = ESP Async WebServer
build_unflags = -std=gnu++17 -std=c17
build_flags = -std=gnu99 -std=c++11
monitor_port=socket://192.168.1.100:4444
monitor_speed=115200
upload_speed=115200
upload_port=socket://192.168.1.100:4444
问题
我无法向 ESP8266 上传任何内容
Connecting........_____
当使用 upload_port=rfc2217://192.168.1.100:4444
时,错误是:
A Fatal error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
使用 upload_port=socket://192.168.1.100:4444
时,错误是:
A Fatal error occurred: Failed to connect to ESP8266: Invalid head of packet (0x6F)
什么有效
我可以打开串行监视器并查看 ESP8266 的串行输出就好了。所以端口和波特率对我来说似乎很好。
我在这里遗漏了什么?
解决方法
我设法解决了它。
出于某种原因,ESP8266 在通过 rfc2217 上传时不会自动切换到 Flash 模式。我不得不在 Connecting...___
出现时按住闪光按钮并按下重置按钮手动将其置于闪光模式。