NodeMCU模块之WiFi

WIFI模组

重要:WiFi子系统由必须定期运行的后台任务维护。任何超过15ms(毫秒)的功能或任务都可能导致WiFi子系统崩溃。为了避免这些潜在的崩溃,建议在执行任何超过15ms的任务或函数之前,使用wifi.suspend()挂起WiFi子系统。

esp8266链接WIFI(简单)

wifi.setmode(wifi.STATION)
station_cfg = {}
station_cfg.ssid = WIFI名字
station_cfg.pwd = WIFI密码
--这里是把WIFI名字,密码保存到内部存储中,断电后也一直存在,好像,以后把上面的WIfi名字,密码删了都还保存着
station_cfg.save = true
wifi.sta.config(station_cfg)
--链接wifi
--wifi.sta.connect()
--自动重连
wifi.sta.autoconnect(1)

wifi断线后自动重连

1.通过wifi.sta.autoconnect(1)命令

这是最简单的,就是把链接代码

wifi.sta.connect() 改为 wifi.sta.autoconnect(1)

这样,在断线后就能自动链接

2.通过监听器获知wifi连接状态

注册事件监听器 wif.sta.eventMonReg()
开始监听 wifi.sta.eventMonStart()

wifi.setmode(wifi.STATION)
wifi.sta.config('wifi账号', 'wifi密码')
wifi.sta.connect() 
status = nil 
wifi.sta.eventMonReg(wifi.STA_GOTIP, function()
    status = 'STA_GOTIP'
    print(status, wifi.sta.getip())
end)
--wifi.sta.eventMonStart(1000)函数表明检测网络状态的间隔是一秒 
wifi.sta.eventMonStart(1000)

一般8266用到的命令

1.设置wifi模式 wifi.setmode()

此命令参数:wifi.STATION 仅链接wifi模式
wifi.SOFTAP 仅作为热点模式
wifi.STATIONAP 允许建立wifi热点,并链接到其他wifi
wifi.NULLMODE 关闭wifi
语法:

wifi.setmode(wifi.STATION)

2.设置wifi链接配置 wifi.sta.config()

参数:station_config 包含配置的表格 ,其中
ssid 小于32字节的wifi名
pwd 0-64的字符串wifi密码
save 默认为true就把参数保存到内存,false 不保存
语法1:

station_cfg = {}
station_cfg.ssid = "wifi账号"
station_cfg.pwd = "wifi密码"
station_cfg.save = true
wifi.sta.config(station_cfg)

语法2(推荐):

wifi.sta.config("wifi账号","wifi密码")

WiFi modes 无线模式

连接到WiFi网络的设备称为工作站(STA)。连接到Wi-Fi由一个接入点(AP)提供,它充当一个或多个站点的集线器。另一端的接入点连接到有线网络。接入点通常与路由器集成在一起,提供从Wi-Fi网络到internet的访问。每个接入点都由SSID(服务集标识符)识别,该标识符本质上是连接设备(站点)到WiFi时选择的网络名称。
每个ESP8266模块都可以作为一个站运行,所以我们可以连接到WiFi网络。它还可以作为热点(soft- ap),建立自己的WiFi网络。因此,我们可以将其他站点连接到这些模块。第三,ESP8266还可以同时在终端和热点模式下运行。

猜你喜欢

转载自blog.csdn.net/oXingChenWuJi/article/details/83738527