从无到有玩NodeMcu:web端控制
我们的目标:
利用网页web端为搭载NodeMcu的esp8266连接wifi
硬件准备:
- 基于NodeMcu的esp8266
- 数据线:usb+micr-usb
- 安装有Windows系统的电脑
软件准备:
- java运行环境:自行安装,注意,需要下载jdk8,太高的版本会使软件闪退
- nodemcu-flasher:esp8266固件烧录程序
- ESPIorer:为NodeMcu设计的编辑、上传软件
- CH340驱动:用来连接电脑和esp8266 验证码
ja94
- NodeMcu固件:NodeMcu团队为esp8266制作的固件 验证码
u5zv
如何下载Github上的源码
我们以nodemcu-flasher的下载为例
进入GitHub相关界面
点击nodemcu-flasher进入nodemcu-flasher
的项目主页,只下载的话是不用注册的:
点击项目有时间的clone or download
按键后会弹出一个小框,选择小框里的download zip
即可下载源代码,下载完毕后解压缩即可
如何安装CH340驱动
下载百度云内的文件,得到一个叫Setup 32.64位元.exe
的程序,执行它安装驱动。安装成功后使用数据线连接esp8266,打开设备管理器,如果显示下面的情况,则说明驱动已经安装完成:
如果没有显示,则有可能是数据线的问题,换一根数据线。如果显示modify、repair、remove的话,说明你以前已经安装过这个驱动了,如果你的设备管理器没有正常的话,就需要remove把以前的程序删除再重新安装
固件烧录
下载NodeMcu固件,得到nodemcu-master-11-modules-2019-07-22-07-39-27-float.bin
这个文件,然后我们打开NodeMcu-flash,连接esp8266到电脑:
我们选择config,再在下面绿色的框里填写NodeMcu固件的本地文件地址,也就是你放固件的地方
我们回到Operation(正常情况下COM Port后面的Select port是有值的,我这边为了操作方便没有连接电脑),点击Flash按钮,固件就会被烧录到esp8266中了。
源代码准备
源代码分为三类:
- 控制esp8266的lua程序
- 控制网页的html程序
- 负责沟通esp8266和网页的http服务器程序
我们需要按以下步骤获得init.lua
index.html
HttpServe.lua
三个文件,并把它们放在一个文件夹
- 新建一个
.txt
文件 - 复制代码
- 重命名文件为相应的名字
它们的源程序如下:
init.lua
wifi.setmode(wifi.STATIONAP)
cfg={}
cfg.ssid="config"
--我们的NodeMcu热点
cfg.pwd="00000000"
--密码
wifi.ap.config(cfg)
cfg2 =
{
ip="192.168.1.1",
--设置IP
netmask="255.255.255.0",
--子网掩码
gateway="192.168.1.1"
--默认网关
}
wifi.ap.setip(cfg2)
wifi.sta.autoconnect(1)
--自动连接
dofile('httpServer.lua')
--执行HttpServer.lua
httpServer:use('/config', function(req, res)
if req.query.ssid ~= nil and req.query.pwd ~= nil then
print(req.query.ssid ..req.query.pwd)
config={}
config.ssid=req.query.ssid
config.pwd=req.query.pwd
wifi.sta.config(con