【问题标题】:NodeMCU Custom Firmware ProblemsNodeMCU 自定义固件问题
【发布时间】:2016-11-07 02:42:55
【问题描述】:

在使用自定义 NodeMCU buildist 刷写 ESP8266 后,无法像之前的版本那样工作。对于自定义构建,我使用了 http://nodemcu-build.com 的云服务,之前的版本是来自 github 的 nodemcu_float_0.9.6-dev_20150704.bin。

现在的问题是,现在通过串口进行的通信很古怪,有时似乎可以工作,有时却不行。

例子:

当我列出文件时:

> for k,v in pairs(file.list()) do l = string.format("%-15s",k)
print(l.."   >..v.." bytes") end
stdin:1: ')' expected near 'bytes'
> 
> 

或者当我执行node.chipid()时

þ®ÈJÀHƒÌHÜÞ{½ÝÕ½{ommw¯­íë= node.chipid()
> = node.cèipid()
stdin:1: '<eof>' expected near 'è'
> = node.,+¥‘¡)
stdin:1: '<name>' expected near ','
> = node.,+¥‘¡)
stdin:1: '<name>' expected near ','
> = node.chipid()
13840686
> = node.chipid()
13840686
> = node.chipid()
13840686
> 

在上面的例子中,我已经执行了 node.chipid() 六七次,后两次成功了。此类错误一再发生,上传lua文件不起作用,虽然说成功了。

我已经用 LuaLoader 和 LuaUploader 试过了,它是可重现的。刷新旧固件时,一切都按预期工作,但它没有提供一些我想使用的模块。对于闪烁,我使用了 ESP8266Flasher.exe。

出了什么问题?我做错了什么?更改波特率确实会产生一些差异,但问题仍然存在。

【问题讨论】:

    标签: esp8266 nodemcu


    【解决方案1】:

    我认为最新版本的默认波特率有所改变,请尝试将读取端的波特率设置为115200。

    或者,尝试使用 init 文件中的 lua 代码将 ESP 的波特率设置为较低 (9600),可能 115200 对您的串行芯片来说太快了。

    【讨论】:

    • 谢谢,添加 uart.setup(0,9600,8,0,1) 作为 init.lua 的第一行就可以了。但首先我必须以更高的波特率执行这条线,这需要几次尝试,因为波特率太高了。然后可以编写文件,然后一切似乎都很好。看来我的 0,97 欧元 USB 转串口转换器物有所值,但仅此而已:)
    • @user3392724 这只是部分正确。是的,我们确实更改了默认值,但我们还添加了自动波特率检测,请参阅nodemcu.readthedocs.io/en/latest/en/modules/uart
    • Marcel Stor:很酷,在文档中还没有找到 :) Michi Kaa:我可以推荐便宜的基于 CP2012 的串行适配器,价格相同,但它们在 3.3v 下运行ESP 需要,到目前为止我的稳定性非常好,直到它们的最大额定波特率(接近 1Mbit)。当然,您的里程可能会有所不同:)
    • 谢谢你的建议,我已经让我的朋友阿里给我发一份了。
    【解决方案2】:

    如果您使用 ESPlorer 发送 Lua 代码/文件,请尝试在设置中打开“turbo”模式。我依稀记得类似的问题。

    【讨论】:

    • 我会给 ESPlorer 和这个设置一试,但似乎 user3392724 有适合我的解决方案。
    • 如果你被困在 9600,我猜你就不需要涡轮 ;-)
    猜你喜欢
    • 2016-11-17
    • 2016-11-23
    • 2019-10-09
    • 2018-12-20
    • 2017-06-13
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多