很多新手进行智能配网都会出现下面这样的错误提示
PANIC: unprotected error in call to Lua API(wifi.lua:27: attempt to call field 'startsmart' (a nil value))
'startsmart' (a nil value))
出现类似这样的错误是因为固件不支持智能
解决方法:
8266清空固件 再下载一个支持智能配网的固件就好了(固件在文章尾处)
下载固件教材看第一课
支持智能配网的固件在本课工具目录里面
废话不多说直接上代码
function b(ssid, password) --函数
gpio.write(4,1) --灯灭 配置完成
print("Success. SSID:%s ; PASSWORD:%s", ssid, password)--打印出 wifi名 和wifi密码
apcfg={}
apcfg.ssid = ssid --"wifi名"
apcfg.pwd = password --"wifi密码"
wifi.sta.config(apcfg)
--wifi.sta.connect()连接路由器,断开后可能就不自动连接了,可以用下面的
wifi.sta.autoconnect(1)--可以用这个断开后自动连接路由器
--wifi.stopsmart()--停止智能配置过程
end
wifi.setmode(wifi.STATION)--设置wifi模式
gpio.mode(4,gpio.OUTPUT) --设置输出模式
gpio.write(4,0) --灯亮 开始智能配置wifi
--0代表ESP_TOUCH,或1代表AIR_KISS
wifi.startsmart(0,
function(ssid, password)
b(ssid, password)--智能配网后回调函数
end
)
接下来上传代码到8266
8266复位
会看到 倒计时 接下来8266灯会长亮
手机安装 一键配网app(文章尾会打包)
手机链接路由器wifi
填上路由器 wifi账号密码
点击开始链接
按钮会变成停止链接
等一会
连接成功后会打印出wifi帐号和密码以及ip地址 灯会灭
出现这样就证明配网成功了