我是ESP8266初学者,并且我有ESP8266 devkit。我用esptools对其进行了闪烁,并使用ESPlorer作为IDE。
我通常会发生无限循环错误,但是我设法通过擦除整个闪存(包括用户空间)中的flash(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低,则在建立连接时会在ESPlorer控制台上写入“程序模式”。如果设置为高,我会收到“运行模式”消息。
我认为程序模式模块(GPIO0低)上的return
指令将使我能够与ESP8266开发套件进行通信(编辑.lua文件),但是由于我上传了这段代码,我板上没有任何连接... esptools return:
sudo python ./esptool.py erase_flash
esptool.py v2.4.1
找到1个串行端口串行端口/ dev / ttyUSB0 正在连接........_____.._______....._____....._____....._____....._____....._____ / dev / ttyUSB0连接失败:连接至Espressif设备失败: 等待数据包头超时
一个ESPlorer方面,这就是我得到的:
PORT OPEN 115200
与MCU通讯..得到答案!与MCU通讯 成立。 AutoDetect固件...
无法自动检测到固件,因为未收到正确的答案(可能是 固件未知)。请重置模块或继续。 l�d��#�n�l�#|�2。{�b��no�lNn�cpcp$rdrlp�n��dbN�|��䎟c $
�no�s$or���Nrld p�n�r�����bN��o�l�p��on���l �oN�ln{���o�l p�N�r�����bN�|l섎p��on���l �no�{lNs�����{${��o�{$����n�{��n|�lll$
b��| {�l�n��n��l��r�l�$�$
��{�l$$ l��{�l���dl
rl。 �o��bc��cp|“p���p����lB��N�Nn��ld��l���d��$����$��d �n�����bl$��2b���''l�crlrfrightanic.com分支的NodeMCU自定义构建:主提交: 5073c199c01d4d7bbbcd0ae1f761ecc4687f7217 SSL:错误的模块: 文件,gpio,http,i2c,mqtt,net,节点,ow,tmr,uart,wifi建立在: 2018-03-22 17:00由Lua 5.1.4在SDK 2.1.0(116b762)上供电
程序模式
然后,如果我通过ESPlorer通过USB尝试执行任何命令,或者推动任何文件编辑/创建,我都会得到:
等待ESP回答-超时。命令已中止。
据我所知,我的devkit似乎很笨。如何重新编程?我尝试更改波特率,但是带有固件详细信息的NodeMCU标头使我认为硬件通信已正确设置。