.. | ||
deps | ||
.gitattributes | ||
.gitignore | ||
main.py | ||
README.md |
About
REST API to access the Raspberry PI RGB LED Matrix over HTTP.
How to run
Note: Once run, you should not simply kill the process. Graceful shutdown is work-in-progress.
-
Attached mode:
sudo python3 main.py
-
Running as daemon:
-
Create a system.d service file:
[Unit] After=network.target [Service] Restart=always WorkingDirectory=/path/to/project ExecStart=/usr/bin/python3 /path/to/project/main.py [Install] WantedBy=multi-user.target
-
Place file in
/etc/systemd/system/
-
Reload system.d daemon:
sudo systemctl daemon-reload
-
Enable and start service:
sudo systemctl enable <filename> sudo systemctl start <filename>
-
Usage
Webserver
The script will host a waitress
webserver on port 8080
of the machine it's running on.
Note: This webserver should never be exposed to the outside of the system it's running on, since it's meant to be combined with the provided SvelteKit
webserver to serve a GUI. For this reason, please make sure you set up a firewall or other kinds of access rules to forbid any connections from outside of this machine (localhost).
GET Endpoints
/clear
: Clear the buffered canvas/update
: Swap buffered canvas on VSync
POST Endpoints
Note: All POST Endpoints require to receive form data to function.
/text
: Display text on buffer- text: string
/color
: Specify a color to be used by dispaly methods- r: int
- g: int
- b: int
/pixel
: Set a single pixel on buffer- x: int
- y: int
/circle
: Display a circle on buffer- x: int
- y: int
- r: int
/rectangle
: Display a rectangle on buffer- x: int
- y: int
- w: int
- h: int