I submitted my project for review and I thought I would get a way to explain how it works, so since I didn’t, I’ll explain it here.Once you are in the web you’ll probably wonder how I send it to the esp32.A GitHub Action runs every 20 minutes. It opens chromium, logs into the web and takes a screenshot of each the screens. Then a python script rotates each one 90 degrees (the web is vertical, the panel is horizontal) and converts it into 4 levels of gray, 2 bits per pixel. That raw file is what gets uploaded to supabase, not the screenshot: the panel has no image decoder, it only takes a stream of bytes that maps directly to pixels. It downloads all the screens, so pressing a button doesn’t need any network at all: it just picks which file to push to the panel. That’s instant.The bucket is private, so the esp32 doesn’t have any supabase credentials. It sends its own API key, and that function is the one that reads the file.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.