一般情况下,NodeMcu连接Wifi时是写死了SSID和密码的。
用这种方式实现的产品作为测试或者DIY时可以这样,但如果需要商业化的话,肯定是不行的,为什么呢?因为每个到达用户家里的产品,它使用的Wifi,SSID和密码都是不一样的,写死的话产品根本连不上路由器。
智能家居现阶段由于家庭wifi网络的普及,目前普遍采用wifi与路由器完成连接,与手机进行云端数据交互。如智能插座,智能空调,智能空气净化器都需要联网后才能进行端控制。但由于不具备人机交互界面,不能像电脑和手机那样有界面连入指定路由器,那么这些设备没有界面操作,如何连接wifi?
SmartConfg配网技术出现的原因就是解决这个问题的。
说得通俗点就是一键配网,当然这个一键之前还需要你选择Wifi网络,填写密码,再点下确认才行。
nodemcu是如何支持SmartConfig的?
打开我们之前的代码,修改wifi.lua文件:
wifi.lua
wifi.setmode(wifi.STATION)
wifi.startsmart(0,function(ssid, password)
print(string.format("Success. SSID:%s ; PASSWORD:%s", ssid, password))
wifi.sta.connect()
tmr.alarm(2, 1000, 1, function()
if wifi.sta.getip() == nil then
print("Connecting Wifi...")
else
tmr.stop(2)
print("Connected, IP is "..wifi.sta.getip())
dofile("tcpclient.lua")
end
end)
end )
然后保存到nodemcu,RUN一下。
一键配网成功
接下来测试下,测试工具我是使用乐鑫的配网工具ESP-Touch,下载地址:
https://github.com/EspressifApp/EsptouchForAndroid/releases/tag/v1.1.0
smartconfig一键配网
好啦,到这里SmartConfig一键配网的实现就完成了。
实现配网后可以做些什么?
当然是点个灯什么的~~这一期就到这里啦,持续关注小智,将为你带来更多物联网的实用文章。