{"id":15172833,"url":"https://github.com/kengen1/vivid-sync-pi","last_synced_at":"2026-01-31T08:31:32.366Z","repository":{"id":231317517,"uuid":"713375816","full_name":"kengen1/Vivid-Sync-Pi","owner":"kengen1","description":"Python application for receiving scheduled requests from Vivid Sync web app and controlling LEDs","archived":false,"fork":false,"pushed_at":"2024-04-03T12:41:06.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T13:03:36.421Z","etag":null,"topics":["flask","python","raspberry-pi-3","threads"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kengen1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-02T11:52:35.000Z","updated_at":"2024-04-03T12:34:38.000Z","dependencies_parsed_at":"2024-04-03T13:49:32.012Z","dependency_job_id":"ee29406a-c09f-4ccb-b217-c22f7575f809","html_url":"https://github.com/kengen1/Vivid-Sync-Pi","commit_stats":null,"previous_names":["kengen1/vivid-sync-pi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kengen1/Vivid-Sync-Pi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kengen1%2FVivid-Sync-Pi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kengen1%2FVivid-Sync-Pi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kengen1%2FVivid-Sync-Pi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kengen1%2FVivid-Sync-Pi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kengen1","download_url":"https://codeload.github.com/kengen1/Vivid-Sync-Pi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kengen1%2FVivid-Sync-Pi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261879271,"owners_count":23223736,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","python","raspberry-pi-3","threads"],"created_at":"2024-09-27T10:20:43.385Z","updated_at":"2026-01-31T08:31:32.360Z","avatar_url":"https://github.com/kengen1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LED Control Server with Flask\n\nThis project is a Flask-based server designed to control LED displays using WS281x LED strips. It provides a REST API to receive LED colour values and a timer (`etime`) to manage the display. The server runs on a Raspberry Pi and controls the LEDs by updating their colours based on the received hex colour values.\n\n## Features\n\n- **Dynamic LED Display Control**: Update LED colours in real-time through a REST API.\n- **Time-based LED Display Reset**: Automatically turns off the LED display at a specified time.\n- **Flexible colour Configuration**: Allows dynamic updates of LED colours via hex colour values.\n\n## Dependencies\n\n- Flask\n- rpi_ws281x\n- pytz\n\nEnsure you have Python 3 installed on your Raspberry Pi. This project uses the rpi_ws281x library for controlling WS281x LED strips and Flask for setting up the server.\n\n## Installation\n\n1. Clone this repository to your Raspberry Pi.\n2. Install the required libraries:\n\n    ```bash\n    pip install flask rpi_ws281x pytz\n    ```\n\n3. Setup your LED strip by connecting it to the Raspberry Pi GPIO pin 18.\n\n## Configuration\n\nBefore running the server, you may want to adjust the following variables in the code to match your LED strip setup:\n\n- `NUM_ROWS`: Number of LED rows.\n- `LEDS_PER_ROW`: LEDs per row.\n- `LED_PIN`: The GPIO pin connected to the LED strip.\n- `LED_BRIGHTNESS`: Brightness level (0-255).\n\n## Running the Server\n\nTo start the server, run:\n\n  ```bash\n    python path/to/your/script.py\n  ```\n\nThis will start the Flask server on port 3000, allowing it to receive POST requests with LED colour values and etime.\n\n## API Endpoints\n\n- **POST /data**: Updates the hex colour values for the LEDs and the `etime` (optional) when the display should reset. Expect a JSON payload with `message` (array of hex colour values) and `etime` (string, optional).\n\n- **GET /ping**: Health check endpoint to verify the server is running.\n\nExample POST request to `/data`:\n\n  ```json\n    {\n      \"message\": [\"#FF0000\", \"#00FF00\", \"#0000FF\"],\n      \"etime\": \"22:30\"\n    }\n  ```\n\n## Contributing\n\nFeel free to fork this project and submit pull requests with new features or improvements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkengen1%2Fvivid-sync-pi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkengen1%2Fvivid-sync-pi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkengen1%2Fvivid-sync-pi/lists"}