{"id":22918007,"url":"https://github.com/rdnt/ledmux","last_synced_at":"2026-05-25T00:05:02.238Z","repository":{"id":43271016,"uuid":"175922799","full_name":"rdnt/ledmux","owner":"rdnt","description":"Distributed LED control","archived":false,"fork":false,"pushed_at":"2023-03-06T23:25:21.000Z","size":1181,"stargazers_count":10,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-08T19:47:00.664Z","etag":null,"topics":["ambilight","go","golang","led","led-strip","raspberrypi","ws2811"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdnt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","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,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"rdntdev","custom":"https://paypal.me/rdntdev"}},"created_at":"2019-03-16T03:44:48.000Z","updated_at":"2024-07-18T18:18:45.000Z","dependencies_parsed_at":"2024-06-19T17:11:41.585Z","dependency_job_id":"55e10646-88e9-46a0-83b3-ebfb9b444857","html_url":"https://github.com/rdnt/ledmux","commit_stats":{"total_commits":72,"total_committers":2,"mean_commits":36.0,"dds":"0.23611111111111116","last_synced_commit":"66819a1b4706a6081d165ff49bc338f9291c3c77"},"previous_names":["sht/ambilight","rdnt/ledmux","rdnt/ledctl"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdnt%2Fledmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdnt%2Fledmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdnt%2Fledmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdnt%2Fledmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdnt","download_url":"https://codeload.github.com/rdnt/ledmux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229673650,"owners_count":18105433,"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":["ambilight","go","golang","led","led-strip","raspberrypi","ws2811"],"created_at":"2024-12-14T06:28:15.732Z","updated_at":"2026-05-25T00:05:02.198Z","avatar_url":"https://github.com/rdnt.png","language":"Go","funding_links":["https://ko-fi.com/rdntdev","https://paypal.me/rdntdev"],"categories":[],"sub_categories":[],"readme":"# ledctl\n\nThis project aims to deliver a robust client-server command-line application\nthat is able to stream live, low-latency LED color data to a controller via a\nwireless / wired network connection.\n\n---\n\n## Work in progress\n\nThe project is currently under development. There might be bugs or inaccuracies\non some parts of the documentation.\n\n---\n\n## How it works\n\nThe *client* is launched on a Windows machine (Mac and Linux coming soon™) and\nthe *server* on a microcontroller (e.g. Raspberry Pi) wired with the LED strip.\n\nOnce the server is running on the microcontroller, whenever the client is\nlaunched it will try to connect with the connection details provided through\na config file.\n\nWhen the connection is established, the client will start streaming data to the\nserver via websocket, and the server will react according to the specified mode\nof operation (for now only the 'ambilight' mode is supported, more will be\nadded soon).\n\n\u003cbr\u003e\n\n*So how do you install it?*\n\n---\n\n## Installation instructions\n\n#### Client (e.g. Windows PC)\n\n1. Download the *client* binary for your operating system from\n[here](https://github.com/rdnt/ledctl/releases/latest/). Place it anywhere\nyou want. Launch the executable. Right-click on the tray icon and quit.\n\n2. The default `ledctl.json` file was just created in your working directory.\n\n3. Edit the file to match your setup. **NOTE:** `server.leds` should be the\nsum of all of your displays' LEDs.\n\n4. Launch the client again. It will automatically connect to the server once\nthe server is online.\n\n\n#### Server (e.g. Raspberry Pi Zero W 2)\n\n0. Prerequisite: Have SSH enabled and be connected to a wifi network.  \nFor setup information look here:\n[Headless Pi Zero W Wifi Setup (Windows)](https://desertbot.io/blog/headless-pi-zero-w-wifi-setup-windows)\n\n1. Login to the Raspberry Pi via SSH.\n\n2. Install `tmux` using the following command:\n\n  `sudo apt-get install tmux -y`\n\n3. Download the server binary (for example using `wget`):\n\n  `wget https://github.com/rdnt/ledctl/releases/download/0.0.1-pre-release/ledctld-linux-arm64`\n\n4. Mark the binary as executable:\n\n  `sudo chmod +x ledctld-linux-arm64`\n\n8. To start the server, simply write `sudo ./ledctld-linux-arm64` on the terminal.\n\n9. *(optional)* Start the server at boot:  \nEdit the `/etc/rc.local` file (`sudo nano /etc/rc.local`), adding the following\nbefore the `exit 0` line, replacing `LEDCTL_DIR` with the directory where the\nledctld binary resides.\n\n  `tmux new-session -d -s ledctl 'cd /LEDCTL_DIR \u0026\u0026 sudo ./ledctld-linux-arm64'`\n\n  If you reboot the server will start automatically.\n\n---\n\n## Modes\n\n```txt\nAmbilight - Video : Captures the screen and sends averaged color data for each\n  frame and for each monitor to its respecting LED segment.\nAmbilight - Audio: same as Video, but captures audio and sends an audio spectrum\n  instead.\n```\n\n---\n\n## Dependencies\n\nThis project depends on the following libraries, among others:\n\n- [gadgetoid, supcik, urmel11](https://github.com/orgs/rpi-ws281x/people) /\n  [rpi_ws281x](https://github.com/rpi-ws281x/rpi-ws281x-go) -\n  Raspberry Pi library for controlling WS281X LEDs\n- [getlantern](https://github.com/getlantern) /\n  [systray](github.com/getlantern/systray) -\n  A library providing an easy API to add tray functionality\n\n---\n\n## Contributing\nYou are free and actively encouraged to contribute to this project by either\ncontributing code, creating issues, reporting bugs, highlighting\nvulnerabilities, proposing improvements or helping maintain the documentation.\n\nIf you would like to submit code changes, create a new branch from the *main*\nbranch with the name of the feature you are implementing and submit a pull\nrequest to the *main* branch after you make your changes. Click\n[here](https://gist.github.com/Chaser324/ce0505fbed06b947d962#doing-your-work)\nfor a how-to guide.\n\nIn case you want to submit a bug report, please add as many details as possible\nregarding how the error occurred and include the steps required to reproduce\nit if that is possible. It will help a lot in testing, finding the cause and\nimplementing fixes.\n\n---\n\n## Changelogs\nChangelogs for each and every release can be found\n[here](https://github.com/rdnt/ledctl/releases).\n\n---\n\n## Copyright\nAny reproductions of this project *must* include a link to this repository and\nthe project's LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdnt%2Fledmux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdnt%2Fledmux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdnt%2Fledmux/lists"}