Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/.idea
/.venv*
26 changes: 21 additions & 5 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import uos

# own code imports
import webserver
from config import Config
from sensors import hx711, bme280, ssd1306, ds1820
from wlanmanager import WLanManager
Expand Down Expand Up @@ -53,6 +52,7 @@ def rgb_led(rgb):
_config.get_value('sensors', 'ds1820', 'positions').items()}
_wm = WLanManager(_config)
_wlan = network.WLAN(id=0)
_mws = None


measurement_interval = _config.get_value('general', 'general', 'measurement_interval')
Expand Down Expand Up @@ -290,9 +290,23 @@ def ap_already_enabled(pin=None):
if button_ap() == 0:
print("Already trying to enable AP.")


def start_captive_portal():
global _mws
print("Starting captive portal")
from webserver import MicroWebSrv, MicroDNSSrv
if _mws is not None:
_mws = MicroWebSrv()
_mws.SetNotFoundPageUrl("http://hiverize.wifi")
MicroDNSSrv.Create({'*': '192.168.4.1'})
if not _mws.IsStarted():
_mws.Start(threaded=True)
print("Captive portal started")


# enable ap
def enable_ap(pin=None):
global _wm, loop_run, _wlan, wdt, button_ap
global _wm, loop_run, _wlan, _mws, wdt, button_ap
# if in button mode, make sure we don't enter this function again
if _config.get_value('general', 'general', 'button_ap_enabled'):
button_ap.callback(Pin.IRQ_FALLING, handler=ap_already_enabled)
Expand All @@ -301,9 +315,11 @@ def enable_ap(pin=None):
if not _wlan.mode() == network.WLAN.AP:
loop_run = False
_wm.enable_ap()
if not webserver.mws.IsStarted():
webserver.mws.Start(threaded=True)
print("Webserver started!")
try:
start_captive_portal()
except Exception as ex:
print("ERROR: Unable to start captive portal. Reason:", ex)


###### run this #######

Expand Down
5 changes: 0 additions & 5 deletions webserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,3 @@ def get_logfile(httpClient, httpResponse):
return httpResponse.WriteResponseJSONOk(
obj=data,
headers=_headers)

print("in webserver.py")
mws = MicroWebSrv()
mws.SetNotFoundPageUrl("http://hiverize.wifi")
MicroDNSSrv.Create({ '*' : '192.168.4.1' })