{"id":16133424,"url":"https://github.com/mchilli/pibox","last_synced_at":"2026-04-27T22:31:22.784Z","repository":{"id":178159605,"uuid":"245394000","full_name":"mchilli/pibox","owner":"mchilli","description":"a python based remote controlled music player","archived":false,"fork":false,"pushed_at":"2021-11-30T12:34:14.000Z","size":4075,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T15:36:01.113Z","etag":null,"topics":["i2c","music-player","pibox","python","raspberry-pi","webui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mchilli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2020-03-06T10:42:35.000Z","updated_at":"2021-11-30T12:34:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"26722adc-7037-4841-8015-a9b39e2419da","html_url":"https://github.com/mchilli/pibox","commit_stats":null,"previous_names":["mchilli/pibox"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/mchilli/pibox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchilli%2Fpibox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchilli%2Fpibox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchilli%2Fpibox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchilli%2Fpibox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mchilli","download_url":"https://codeload.github.com/mchilli/pibox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mchilli%2Fpibox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32358509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["i2c","music-player","pibox","python","raspberry-pi","webui"],"created_at":"2024-10-09T22:44:37.661Z","updated_at":"2026-04-27T22:31:22.770Z","avatar_url":"https://github.com/mchilli.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PiBox\n\n\u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/logo.png?raw=true\" height=\"80\"\u003e\n\n\nPiBox is a music player for a local device, controlled over the network with the WebUI or even a rotary encoder with or without a 16x2 lcd display, directly on a headless device. Originally designed only for a Raspberry Pi it can be used (as far as I know) on every debian based operating system, as a nice remote controlled music player :sunglasses:.\n\n##### Preview:\n\n\u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/webui001.png?raw=true\" height=\"150\"\u003e \u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/webui002.png?raw=true\" height=\"150\"\u003e \u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/webui003.png?raw=true\" height=\"150\"\u003e \u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/webui004.png?raw=true\" height=\"150\"\u003e \u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/webui005.png?raw=true\" height=\"150\"\u003e\n\n#### History:\n\nThe project start early 2017 and with this I started learn to code python (thats the point why there are some old comments in the main python script :innocent:).The idea behind was to give my kids a device where they can listen to some audiobooks for childrens. So I buyed a Raspberry Pi Zero, a rotary encoder, a 16x2 LCD display, a HiFiBerry MiniAMP and build all together in an old speaker that I still had in my basement.\n\nHere are some old project images, how the PiBoxes look like:\\\n\u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/build.png?raw=true\" height=\"150\"\u003e \u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/complete.png?raw=true\" height=\"150\"\u003e \u003cimg src=\"https://github.com/mchilli/pibox/blob/master/images/display.png?raw=true\" height=\"150\"\u003e\n\n#### Dependecies:\n\npython3 (version \u003e= 3.3):\n\n\tsudo apt install python3.X\n\nVLC Player (for better performance, version \u003e= 3.0):\n\n\tsudo apt install vlc\n\n##### Optional Raspberry Pi dependecies:\n\nThe display and rotary encoder are disabled by default, but you can enable it in the WebUI under system -\u003e config. In this configuration you can also insert all necessary values, like the display address, the gpio-pins for the rot-enc etc..\n\nTo use the 16x2 LCD display with I2C, activate I2C under:\n\n    sudo raspi-config\n\nadd following lines at the bottom of /etc/modules:\n\n    i2c-bcm2708\n    i2c-dev\n\ninstall necessary I2C tools:\n\n\tsudo apt-get install python3-smbus i2c-tools\n\nafter reboot, test I2C connection and find out the display address:\n\n\tsudo i2cdetect -y 1\n\nTo use a \"rotary encoder\" the script need the python3 gpio lib, if not already installed, use:\n\n\tsudo apt-get install python3-rpi.gpio\n\n#### Install \u0026 Use:\n\nDownload the zip-file and copy the \"PiBox\" folder to where ever you want. You can use the systemd service file under \"etc\" to start it automatically on startup, but you must change the path to your \"pibox.py\" and the user.\n\nOn first start PiBox use the default values, so it try to use the **system wide volume control**. If this is not possible it uses the VLC internal software volume control. If you want always the software volume you can check \"**force softvol**\" in the configuration.\n\nThe default port for the WebUI is **8080** it can be changed in config, but remember ports below 1024 require root privileges.\n\nStart PiBox with:\n\n\t/path/to/PiBox/pibox.py\n\nCheck the WebUI under:\n\n[http://localhost:8080](http://localhost:8080 \"http://localhost:8080\")\n\n##### Theming:\n\nThere are two diffrent type of themes, a global and a local. The global theme will used on every device as the default theme and the local theme can be set per device and will be stored in the browsers local storage (like a cookie).\n\n------------\n\n#### special thanks for this libraries I used in this project:\n\n- [Python vlc bindings](https://github.com/oaubert/python-vlc)\n- [Python websocket-server](https://github.com/Pithikos/python-websocket-server)\n- [jQuery](https://jquery.com/)\n- [jQuery contextMenu](https://swisnl.github.io/jQuery-contextMenu/)\n- [List.js](https://listjs.com/)\n- [iro.js](https://iro.js.org/)\n- [Font Awesome](https://fontawesome.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmchilli%2Fpibox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmchilli%2Fpibox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmchilli%2Fpibox/lists"}