NodeMCU之旅(一):构建、刷入固件,上传代码

本文介绍如何使用NodeMCU构建一个可通过Web页面远程控制的LED系统。主要内容包括:搭建HTTP服务器实现网络配置,利用MQTT协议进行Node.js服务端通信,并提供固件构建、代码上传的具体步骤。

扬帆起航

本系列文章将试图实现,使用Web页面远程点亮led。具体包括:

  • 在NodeMCU上搭建HTTP服务器,使其可以通过Web页面配置要接入的网络。

  • 在配置页面可以显示附近中英网络名与信号强度。

  • 使用MQTT协议与Node.js服务端的通信。

nodemcu

构建固件

Building the firmware提供了三种构建你自己固件的方式。

这里推荐使用简单的云构建服务NodeMCU custom builds来定制自己的固件,只需要在该网站选择你需要的库,留下邮箱,不一会就能收到编译好的固件。

我选择了这些库:cjson,crypto,file,gpio,http,mqtt,net,node,pwm,tmr,uart,wifi

刷入固件

下载nodemcu-flasherRelease版本,注意操作系统位数。

连接NodeMCU到电脑,运行flasher

Config选项卡下,配置好自己固件的路径。

flasher-config

然后回到Operation下,点击Flash(F),稍等片刻即可。

flasher-flashing
flasher-finished

上传代码

Uploading code同样提供了多种工具来上传代码与文件到NodeMCU。

推荐使用ESPlorer,需要Java环境。下载ESPlorer.zip

解压后,运行ESPlorer.jar

在ESPlorer窗口右上部,设置端口号。

点击Open,按下NodeMCU上的RST按钮重启。如果一切正常,会有这些输出:

esplorer-open

NodeMCU会在启动后立即运行init.lua,但是现在我们还没有上传这个文件。

用你喜爱的编辑器保存下面代码为init.lua。这些代码会使NodeMCU连接到一个AP(Access Point),通过修改第四行代码来配置SSID和密码。对于开放网络,使用空文本作为密码。

-- init.lua
print('Setting up WIFI...')
wifi.setmode(wifi.STATION)
wifi.sta.config('MY_SSID', 'MY_PASSWORD')
wifi.sta.connect()

tmr.alarm(1, 1000, tmr.ALARM_AUTO, function()
    if wifi.sta.getip() == nil then
        print('Waiting for IP ...')
    else
        print('IP is ' .. wifi.sta.getip())
    tmr.stop(1)
    end
end)

保存后,点击ESPlorer窗口左下区域的Upload ...来上传。如果上传失败,尝试重启NodeMCU再试。

esplorer-upload

上传完毕后重启NodeMCU。如果一切正常,你将看到NodeMCU成功连入你的AP。

esplorer-ok

相关资源

NodeMCU文档

NodeMCU custom builds

nodemcu-flasher

ESPlorer.zip

你也可以在NodeMCU-Tutorial下载到本文的相关资源和代码。

转载于:https://www.cnblogs.com/wangzexi/p/5696925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值