将代码上传到ESP8266时出现问题:esptool.FatalError:无法连接到ESP8266:超时等待包头

时间:2019-05-29 09:12:59

标签: esp8266 esp32

我试图将示例Blink代码上传到我的ESP8266模块,其中一个是ESP8266-07,另一个是WeMos D1 mini PRO。我已经根据在线说明为ESP安装了该库。我正在从Ubuntu 16.04,Arduino 1.8.9上传。我还确保使用sudo chmod 666 /dev/ttyUSB0

我尝试通过普通的USB电缆和USB-TTL板进行上传,但这两者没有什么区别。我的工具>开发板设置是用于ESP8266-07的“通用ESP8266模块”和用于我的mini Pro的“ LOLIN(WEMOS)D1 mini Pro”。在所有4种情况下(2个不同的板,2个上传电缆/网关),我得到的错误消息都是相同的。

raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for package header

我还尝试将代码上传到我的Node MCU,在这种情况下,我遇到了另一个错误:

esptools.FatalError: Invalid head of package (0x46)

2 个答案:

答案 0 :(得分:0)

要进行故障排除,需要检查几件事:

  • 检查串行设备的枚举方式。它们可能显示为/dev/ttyACM*而不是/dev/ttyUSB0

  • 将您的用户添加到拨出组

    sudo usermod -a -G tty yourUserName
    sudo usermod -a -G dialout yourUserName
    
  • 您是否正在尝试通过USB集线器进行编程?这些有时会引起奇怪的电源问题,从而干扰编程设备。如果是这样,请尝试直接插入主USB端口。

答案 1 :(得分:0)

我已通过将上传速度更改为115200解决了ESP8266-07和D1 mini Pro的问题。
另一个需要注意的重要事项是设置正确的板卡:ESP8266-07的“通用ESP8266模块”和mini Pro的“ LOLIN(WEMOS)D1 mini Pro”。在两个板之间切换时,我有时会忘记这样做。
但是,我尚未解决NodeMCU不断返回esptool.FatalError: Invalid head of packet (0x46)

的问题