Updated documentation and example for wps.start() (#1933)

This commit is contained in:
dnc40085 2017-04-24 00:59:30 -07:00 committed by Marcel Stör
parent 572e4235fb
commit f5fac7a19e
1 changed files with 93 additions and 16 deletions

View File

@ -34,6 +34,9 @@ none
## wps.start() ## wps.start()
Start WiFi WPS function. WPS must be enabled prior calling this function. Start WiFi WPS function. WPS must be enabled prior calling this function.
!!! note
This function only configures the station with the AP's info, it does not connect to AP automatically.
#### Syntax #### Syntax
`wps.start([function(status)])` `wps.start([function(status)])`
@ -45,21 +48,95 @@ Start WiFi WPS function. WPS must be enabled prior calling this function.
#### Example #### Example
```lua ```lua
wps.enable() --Basic example
wps.start(function(status) wifi.setmode(wifi.STATION)
if status == wps.SUCCESS then wps.enable()
print("SUCCESS!") wps.start(function(status)
elseif status == wps.FAILED then if status == wps.SUCCESS then
print("Failed") wps.disable()
elseif status == wps.TIMEOUT then print("WPS: Success, connecting to AP...")
print("Timeout") wifi.sta.connect()
elseif status == wps.WEP then return
print("WEP not supported") elseif status == wps.FAILED then
elseif status == wps.SCAN_ERR then print("WPS: Failed")
print("WPS AP not found") elseif status == wps.TIMEOUT then
else print("WPS: Timeout")
print(status) elseif status == wps.WEP then
print("WPS: WEP not supported")
elseif status == wps.SCAN_ERR then
print("WPS: AP not found")
else
print(status)
end
wps.disable()
end)
--Full example
do
-- Register wifi station event callbacks
wifi.eventmon.register(wifi.eventmon.STA_CONNECTED, function(T)
print("\n\tSTA - CONNECTED".."\n\tSSID: "..T.SSID.."\n\tBSSID: "..
T.BSSID.."\n\tChannel: "..T.channel)
end)
wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)
print("\n\tSTA - GOT IP".."\n\tStation IP: "..T.IP.."\n\tSubnet mask: "..
T.netmask.."\n\tGateway IP: "..T.gateway)
end)
wifi.setmode(wifi.STATION)
wps_retry_func = function()
if wps_retry_count == nil then wps_retry_count = 0 end
if wps_retry_count < 3 then
wps.disable()
wps.enable()
wps_retry_count = wps_retry_count + 1
wps_retry_timer = tmr.create()
wps_retry_timer:alarm(3000, tmr.ALARM_SINGLE, function() wps.start(wps_cb) end)
print("retry #"..wps_retry_count)
else
wps_retry_count = nil
wps_retry_timer = nil
wps_retry_func = nil
wps_cb = nil
end
end
wps_cb = function(status)
if status == wps.SUCCESS then
wps.disable()
print("WPS: success, connecting to AP...")
wifi.sta.connect()
wps_retry_count = nil
wps_retry_timer = nil
wps_retry_func = nil
wps_cb = nil
return
elseif status == wps.FAILED then
print("WPS: Failed")
wps_retry_func()
return
elseif status == wps.TIMEOUT then
print("WPS: Timeout")
wps_retry_func()
return
elseif status == wps.WEP then
print("WPS: WEP not supported")
elseif status == wps.SCAN_ERR then
print("WPS: AP not found")
wps_retry_func()
return
else
print(status)
end
wps.disable()
wps_retry_count = nil
wps_retry_timer = nil
wps_retry_func = nil
wps_cb = nil
end
wps.enable()
wps.start(wps_cb)
end end
wps.disable()
end)
``` ```