Files
2025-12-21 15:48:56 -08:00

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")