NodeMCU 闪烁错误

Posted

技术标签:

【中文标题】NodeMCU 闪烁错误【英文标题】:NodeMCU Flashing Error 【发布时间】:2017-03-19 15:01:38 【问题描述】:

我的开发板是 NodeMCU devkit v1.0。我一直在尝试使用云服务使用 nodemcu 自定义构建来刷新它。(在标准选择之上,我只添加 DHT 库)二进制名称是 nodemcu-master-8-modules-2016-11-03-03-23 -44-integer 所以我相信它使用 master build 1.5.4.1

第一次尝试:

我在 Windows 上使用了 ESP8266Flasher.exe。我选择了自定义构建二进制文件并将其刷新到地址 0x00000。(波特:230400 闪存速度:40 MHz SPI 模式:DIO 闪存大小:4Mbyte)

此时板子反复重启(蓝色 LED 以非常高的频率打开/关闭)

因此,当您从 nodemcu 0.9 版本升级时,我浏览了文档并了解了由于 esp_init_data_default.bin 的更改而导致的问题。

第二次尝试:

我在 esptool.py 中使用了 erase_flash

esptool.py --port  /dev/tty.SLAB_USBtoUART erase_flash

然后再次刷新自定义构建。

第三次尝试:

我通过 esptool.py 进行了 erase_flash。这次我下载了 sdk 补丁 1.5.4.1 并将 esp_init_data_default.bin 刷到地址 0x3fc000 与自定义构建到 0x00000。

这没有重启错误,但是当我运行 ESPlorer 并连接到板时,我收到以下消息:

PORT OPEN 9600

Communication with MCU...
Got answer! AutoDetect firmware...
Communication with MCU established.
Can't autodetect firmware, because proper answer not received (may be unknown firmware). 
Please, reset module or continue.

当我重置模块时,我收到乱码。

我尝试使用带有整数和浮点二进制文件的 dev 和 master 分支,但我一直得到相同的结果。

你有什么建议吗?

【问题讨论】:

【参考方案1】:

关于失败的刷机尝试有很多问题(尽管文档非常详细)。此处的示例:https://***.com/a/38793023/131929

不过,在我看来,您现在有一个正确刷新的固件。

尝试按照https://nodemcu.readthedocs.io/en/latest/upload/ 将 ESPlorer 中的波特率设置为 115'200。 “无法自动检测固件”是 ESPlorer 的一个问题。我学会了不要依赖它。

【讨论】:

以上是关于NodeMCU 闪烁错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 elua(即 NodeMCU)中捕获错误

使用 sjson.decode() 在 NodeMCU Lua 中检测格式错误的 JSON

ESP8266 NodeMCU 内存不足

无法将 Lua 脚本加载到 NodeMCU:无效的 node.chipid()

如何为SparkFun ESP32事物修补/配置nodemcu构建

ESP8266(nodemcu)引脚和I2C的坑!!!