我是ESP8266的新手,我有一个ESP8266 devkit . 我用esptools闪存并使用ESPlorer作为IDE . 我经常做出无限循环错误,但我设法通过在整个闪存(包括用户空间)上擦除闪存(来自esptools的 erase_flash 命令)来摆脱它 .

为了避免这种情况,我制作了以下代码

init.lua

dofile('crazy-guard.lua')

crazy-guard.lua

gpio.mode(0,gpio.INPUT)
programPinValue = gpio.read(0)

if(programPinValue == 0) then
    print("program mode")
    return
else then
    print("run mode")
    dofile('program.lua')
end

program.lua

while true do

end

这是按预期工作的:如果我降低GPIO0,我 Build 连接时会在ESPlorer控制台上写入“程序模式” . 如果设置为hig,我会收到“运行模式”消息 .

I tought that the return instruction on program mode block (GPIO0 low) would allow me to communicate with my ESP8266 dev kit (editing .lua files) 但是因为我上传了这段代码,我无法在我的主板上获得任何连接... esptools返回:

sudo python ./esptool.py erase_flash

esptool.py v2.4.1找到1个串口串口/ dev / ttyUSB0连接......................._____ . ___..........___ / dev / ttyUSB0无法连接:无法连接到Espressif设备:等待数据包标头超时

一个ESPlorer方面,这是我得到的:

PORT OPEN 115200与MCU通信..我的答案!与MCU Build 通信 . AutoDetect固件...无法自动检测固件,因为未收到正确答案(可能是未知固件) . 请重置模块或继续 . LD锟斤拷锟斤拷#锟絥锟锟升#|锟斤拷锟绛锟斤拷锟絙锟斤拷没锟絣NN锟斤拷锟CP锟斤拷$ rdrlp锟絥锟锟d BN锟絴锟斤拷鋷燂拷ç锟斤拷上锟绦锟斤拷$锟絥ö锟絪$或锟斤拷锟絅RLD p锟絥锟ř锟斤拷锟斤拷锟b n的锟斤拷ö锟絣锟絧锟斤拷上锟斤拷升锟给ñ锟LN {锟斤拷锟给锟絣p锟絅锟ř锟斤拷锟斤拷锟b n的锟絴l靹N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N絣LL $ b锟锟絴{锟絣锟絥锟斤拷ñ锟絣锟斤拷ř锟絣锟锟$锟斤拷{锟絣锟锟升锟斤拷{锟絣锟斤拷锟 l b b b b b c c c c c c c c c c c c c c “P锟斤拷锟絧锟斤拷锟斤拷LB锟斤拷Ñ锟絅Ñ锟LD锟斤拷升锟斤拷d锟锟斤拷锟锟锟斤拷d锟絥锟斤拷锟斤拷BL $锟斤拷2B锟斤拷锟升锟絚RLR NodeMCU通过frightanic.com分支自定义生成:主承诺:5073c199c01d4d7bbbcd0ae1f761ecc4687f7217 SSL:假模块:文件,GPIO,HTTP,I2C,MQTT,网,节点, ow,tmr,uart,wifi build Build 于:2018-03-22 17:00由Lua 5.1.4提供SDK 2.1.0(116b762)程序模式

然后,如果我通过ESPlorer尝试通过USB进行任何命令,或推送任何文件编辑/创建,我得到:

等待ESP的回答 - 超时达成 . 命令中止 .

AFAIS,我的devkit看起来很砖 . 我该怎么重新编程呢?我试图改变波特,但带有固件细节的NodeMCU Headers 让我觉得硬件通信设置正确 .

非常感谢你的回复,