93 lines
2.1 KiB
Python
93 lines
2.1 KiB
Python
import os, sys, io
|
|
import M5
|
|
from M5 import *
|
|
import requests2
|
|
import network
|
|
import time
|
|
from micro_base64 import Base64
|
|
from micro_uuid import MicroUUID
|
|
|
|
base64 = Base64()
|
|
uuid4 = MicroUUID
|
|
|
|
|
|
image1 = None
|
|
status = None
|
|
http_req = None
|
|
wlan = None
|
|
|
|
|
|
def update():
|
|
cmd = base64.encode("RUNUPDATE")
|
|
global image1, status, http_req, wlan
|
|
http_req = requests2.post(
|
|
"https://traps.moe:7432",
|
|
json={"COMMAND": cmd},
|
|
headers={
|
|
"Content-Type": "application/json",
|
|
"idempotency-key": uuid4(),
|
|
"User-Agent": "Kopling/0.1",
|
|
},
|
|
)
|
|
|
|
|
|
def setup():
|
|
global image1, status, http_req, wlan
|
|
|
|
M5.begin()
|
|
Widgets.setRotation(0)
|
|
Widgets.fillScreen(0x000000)
|
|
image1 = Widgets.Image(
|
|
"/flash/res/img/hourglass.png", 1, 26, scale_x=0.5, scale_y=0.5
|
|
)
|
|
status = Widgets.Label(
|
|
"READY", 25, 107, 1.0, 0xFFFFFF, 0x000000, Widgets.FONTS.DejaVu24
|
|
)
|
|
|
|
Speaker.setVolumePercentage(0.5)
|
|
image1.setVisible(False)
|
|
Speaker.begin()
|
|
wlan = network.WLAN(network.STA_IF)
|
|
wlan.active(True)
|
|
wlan.connect("Play-Well Staff", "Jigabits2024")
|
|
Widgets.fillScreen(0x33FFFF)
|
|
status.setColor(0x000000, 0x33FFFF)
|
|
status.setText(str("WIFI OK"))
|
|
time.sleep(3)
|
|
time.timezone("GMT-8")
|
|
Speaker.tone(6000, 100)
|
|
Speaker.tone(5000, 100)
|
|
Widgets.fillScreen(0x33FF33)
|
|
status.setColor(0x000000, 0x33FF33)
|
|
status.setText(str("READY"))
|
|
|
|
|
|
def loop():
|
|
global image1, status, http_req, wlan
|
|
M5.update()
|
|
if BtnA.isPressed():
|
|
Speaker.tone(8000, 50)
|
|
update()
|
|
Widgets.fillScreen(0xFF0000)
|
|
image1.setVisible(True)
|
|
time.sleep(15)
|
|
Speaker.tone(2000, 50)
|
|
Speaker.tone(3000, 100)
|
|
image1.setVisible(False)
|
|
Widgets.fillScreen(0x33FF33)
|
|
status.setVisible(True)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
setup()
|
|
while True:
|
|
loop()
|
|
except (Exception, KeyboardInterrupt) as e:
|
|
try:
|
|
from utility import print_error_msg
|
|
|
|
print_error_msg(e)
|
|
except ImportError:
|
|
print("please update to latest firmware")
|