123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- -- Begin WiFi configuration
- local wifiConfig = {}
- -- wifi.STATION -- station: join a WiFi network
- -- wifi.AP -- access point: create a WiFi network
- -- wifi.wifi.STATIONAP -- both station and access point
- wifiConfig.mode = wifi.STATIONAP -- both station and access point
- 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.stationPointConfig = {}
- wifiConfig.stationPointConfig.ssid = "Internet" -- Name of the WiFi network you want to join
- wifiConfig.stationPointConfig.pwd = "" -- Password for the WiFi network
- -- Tell the chip to connect to the access point
- wifi.setmode(wifiConfig.mode)
- print('set (mode='..wifi.getmode()..')')
- print('MAC: ',wifi.sta.getmac())
- 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()
- -- End WiFi configuration
- -- Compile server code and remove original .lua files.
- -- This only happens the first time afer the .lua files are uploaded.
- local compileAndRemoveIfNeeded = function(f)
- if file.open(f) then
- file.close()
- print('Compiling:', f)
- node.compile(f)
- file.remove(f)
- collectgarbage()
- end
- end
- local serverFiles = {'httpserver.lua', 'httpserver-request.lua', 'httpserver-static.lua', 'httpserver-header.lua', 'httpserver-error.lua'}
- for i, f in ipairs(serverFiles) do compileAndRemoveIfNeeded(f) end
- compileAndRemoveIfNeeded = nil
- serverFiles = nil
- 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('Faild 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
- end)
|