AP mode support added
This commit is contained in:
parent
1d3cdaf1a7
commit
bbcce2d64d
68
init.lua
68
init.lua
@ -3,7 +3,7 @@
|
||||
local wifiConfig = {}
|
||||
|
||||
-- wifi.STATION -- station: join a WiFi network
|
||||
-- wifi.AP -- access point: create a WiFi network
|
||||
-- wifi.SOFTAP -- access point: create a WiFi network
|
||||
-- wifi.wifi.STATIONAP -- both station and access point
|
||||
wifiConfig.mode = wifi.STATIONAP -- both station and access point
|
||||
|
||||
@ -11,6 +11,11 @@ wifiConfig.accessPointConfig = {}
|
||||
wifiConfig.accessPointConfig.ssid = "ESP-"..node.chipid() -- Name of the SSID you want to create
|
||||
wifiConfig.accessPointConfig.pwd = "ESP-"..node.chipid() -- WiFi password - at least 8 characters
|
||||
|
||||
wifiConfig.accessPointIpConfig = {}
|
||||
wifiConfig.accessPointIpConfig.ip = "192.168.111.1"
|
||||
wifiConfig.accessPointIpConfig.netmask = "255.255.255.0"
|
||||
wifiConfig.accessPointIpConfig.gateway = "192.168.111.1"
|
||||
|
||||
wifiConfig.stationPointConfig = {}
|
||||
wifiConfig.stationPointConfig.ssid = "Internet" -- Name of the WiFi network you want to join
|
||||
wifiConfig.stationPointConfig.pwd = "" -- Password for the WiFi network
|
||||
@ -19,12 +24,20 @@ wifiConfig.stationPointConfig.pwd = "" -- Password for the WiFi
|
||||
|
||||
wifi.setmode(wifiConfig.mode)
|
||||
print('set (mode='..wifi.getmode()..')')
|
||||
print('MAC: ',wifi.sta.getmac())
|
||||
|
||||
if (wifiConfig.mode == wifi.SOFTAP) or (wifiConfig.mode == wifi.STATIONAP) then
|
||||
print('AP MAC: ',wifi.ap.getmac())
|
||||
wifi.ap.config(wifiConfig.accessPointConfig)
|
||||
wifi.ap.setip(wifiConfig.accessPointIpConfig)
|
||||
end
|
||||
if (wifiConfig.mode == wifi.STATION) or (wifiConfig.mode == wifi.STATIONAP) then
|
||||
print('Client MAC: ',wifi.sta.getmac())
|
||||
wifi.sta.config(wifiConfig.stationPointConfig.ssid, wifiConfig.stationPointConfig.pwd, 1)
|
||||
end
|
||||
|
||||
print('chip: ',node.chipid())
|
||||
print('heap: ',node.heap())
|
||||
|
||||
wifi.ap.config(wifiConfig.accessPointConfig)
|
||||
wifi.sta.config(wifiConfig.stationPointConfig.ssid, wifiConfig.stationPointConfig.pwd)
|
||||
wifiConfig = nil
|
||||
collectgarbage()
|
||||
|
||||
@ -53,26 +66,31 @@ collectgarbage()
|
||||
-- Connect to the WiFi access point.
|
||||
-- Once the device is connected, you may start the HTTP server.
|
||||
|
||||
local joinCounter = 0
|
||||
local joinMaxAttempts = 5
|
||||
tmr.alarm(0, 3000, 1, function()
|
||||
local ip = wifi.sta.getip()
|
||||
if ip == nil and joinCounter < joinMaxAttempts then
|
||||
print('Connecting to WiFi Access Point ...')
|
||||
joinCounter = joinCounter +1
|
||||
else
|
||||
if joinCounter == joinMaxAttempts then
|
||||
print('Failed to connect to WiFi Access Point.')
|
||||
else
|
||||
print('IP: ',ip)
|
||||
-- Uncomment to automatically start the server in port 80
|
||||
--dofile("httpserver.lc")(80)
|
||||
end
|
||||
tmr.stop(0)
|
||||
joinCounter = nil
|
||||
joinMaxAttempts = nil
|
||||
collectgarbage()
|
||||
end
|
||||
if (wifi.getmode() == wifi.STATION) or (wifi.getmode() == wifi.STATIONAP) then
|
||||
local joinCounter = 0
|
||||
local joinMaxAttempts = 5
|
||||
tmr.alarm(0, 3000, 1, function()
|
||||
local ip = wifi.sta.getip()
|
||||
if ip == nil and joinCounter < joinMaxAttempts then
|
||||
print('Connecting to WiFi Access Point ...')
|
||||
joinCounter = joinCounter +1
|
||||
else
|
||||
if joinCounter == joinMaxAttempts then
|
||||
print('Failed to connect to WiFi Access Point.')
|
||||
else
|
||||
print('IP: ',ip)
|
||||
end
|
||||
tmr.stop(0)
|
||||
joinCounter = nil
|
||||
joinMaxAttempts = nil
|
||||
collectgarbage()
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
-- Uncomment to automatically start the server in port 80
|
||||
if (not not wifi.sta.getip()) or (not not wifi.ap.getip()l) then
|
||||
dofile("httpserver.lc")(80)
|
||||
end
|
||||
|
||||
end)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user