代码拉取完成,页面将自动刷新
同步操作将从 Walkline/Remote WOL MicroPython 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
"""
The MIT License (MIT)
Copyright © 2021 Walkline Wang (https://walkline.wang)
https://gitee.com/walkline/remote-wol-micropython
"""
from utils.utilities import Utilities
from utils.wifihandler import WifiHandler
from drivers.led import Led
from drivers.button import Button
from config import Config
from utime import sleep
forever_loop = True
ap_server = None
led = None
button = None
if __name__ == "__main__":
try:
if not Utilities.is_settings_file_exist():
# 进入用户配网模式
from services.web_server import WebServer
led = Led(Config.INDICATE_LED)
led.blink_medium(0)
WifiHandler.set_ap_mode()
WifiHandler.set_sta_status(False)
sleep(1)
ap_server = WebServer(root_path=Config.AP_ROOTPATH)
ap_server.bind_address(Config.AP_HOST, Config.AP_PORT)
ap_server.start()
while ap_server.is_running():
sleep(0.5)
else:
# 进入工作模式
from hardware import Selector
led = Led(Config.INDICATE_LED)
led.blink_fast(0)
def __button_click_cb():
print("button clicked")
def __button_press_cb(duration):
print("button pressed over {} ms".format(duration))
Utilities.del_settings_file()
Utilities.hard_reset()
button = Button(
pin = Config.RESET_BUTTON,
click_cb = __button_click_cb,
press_cb = __button_press_cb,
timeout = Config.BUTTON_PRESS_TIMEOUT
)
WifiHandler.set_ap_status(False)
sleep(1)
if WifiHandler.STATION_CONNECTED == Utilities.connect_to_internet():
led.stop_all()
device = Selector.select(Config.HARDWARE_VERSION)
device.setup()
device.start()
led.customize(1000, 0, 0)
while forever_loop:
sleep(0.5)
else:
# 600 秒后无法连接指定的 wifi 则重启
Utilities.hard_reset()
except KeyboardInterrupt:
forever_loop = False
print("\nPRESS CTRL+D TO RESET DEVICE")
if ap_server is not None: ap_server.stop()
if led is not None: led.deinit()
if button is not None: button.deinit()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。