NodeMCU把玩(一)之固件更新

最近从某宝到手了一款性价比很高的物联网开以板NodeMCU,现将使用和调试过程写成日志,以方便大家。

首先是GPIO引脚定义:

20160612155802584.jpg

到手实物是这个样子的:

nodemcu

刚到手时,出广固件是安信可的AT指令固件,当然,这并不是我想要的。

接下来,就是更新我想要支持Lua语言的NodeMCU固件。

第一步,构建固件,有兴趣的朋友可以自己从官方Github下载源文件,自己根据需求构建,笔者为图方便,是使用的在线构建固件的网站构建的,网址如下NodeMCU custom builds

笔者构建的固件包含adc, file, gpio, http, net, node, pwm, tmr, uart, wifi模块,如果想使用相同固件,可下载:

nodemcu-master-10-modules-2016-09-21-05-51-13-float.bin

nodemcu-master-10-modules-2016-09-21-05-51-13-integer.bin

两个固件功能是一样,可根据喜好自行选择。

第二步,下载固件刷写工具NodeMCU-flasher,可从官方Github下载Release版本。

运行Flasher,在Config选项如下选择已下载的固件:

image.png

然后回到Operation下,点击Flash(F),等待进度条完成即可:

image.png

到此,你已经完成了固件的更新,此时,NodeMCU可以启动,但并不能正常运行,因为,NodeMCU在启动时,会主动去寻找一个名为“init.lua"的文件,此时并不存在,所以会出错。

为了使固件能正常运行,我们需要上传代码到模块上。官方文档提到了多种上传工具,笔者使用的是Esplorer。

注意:该工具是用JAVA代码写的,要正常使用,还需要配置JAVA环境,具体操作自行百度,这里不再描述。

下载解压,在JAVA环境下,运行ESPlorer.jar,如下:

image.png

选好COM端口和比特率,然后点击RST按下,再点击一次松开,

esplorer-open

在这个图上可以清楚的看到,缺少"init.lua"文件。

接下来我们编辑好init.lua文件,上传到模块。

官方提供的代码:

-- load credentials, 'SSID' and 'PASSWORD' declared and initialize in there
-- dofile("credentials.lua")
 
function startup()
    if file.open("init.lua") == nil then
        print("init.lua deleted or renamed")
    else
        print("Running")
        file.close("init.lua")
        -- the actual application is stored in 'application.lua'
        -- dofile("application.lua")
    end
end
 
print("Connecting to WiFi access point...")
wifi.setmode(wifi.STATION)
wifi.sta.config(SSID, PASSWORD)
-- wifi.sta.connect() not necessary because config() uses auto-connect=true by default
tmr.alarm(1, 1000, 1, function()
    if wifi.sta.getip() == nil then
        print("Waiting for IP address...")
    else
        tmr.stop(1)
        print("WiFi connection established, IP address: " .. wifi.sta.getip())
        print("You have 3 seconds to abort") -- 特别注意
        print("Waiting...")
        tmr.alarm(0, 3000, 0, startup)
    end
end)

特别注意:

官方文档中已经说明,为防止模块启动后进入死循环,上面代码有一行是延时3S,否则一但开机开往死循环,后果很严重,你将无法停下程序,也无法上传程序。

复制上面代码,把SSID和PASSWORD修改好,然后保存为init.lua,注意要写全名,该软件不支持自动后缀,再然后就可以上传了。

点击Upload,选择init.lua文件,打开,就可以上传了。

image.png

了解更多内容,可以查阅NodeMCU官方文档:

NodeMCU Documentation

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇