{"id":29063501,"url":"https://github.com/dps/piui","last_synced_at":"2025-07-21T10:02:44.014Z","repository":{"id":6381204,"uuid":"7618801","full_name":"dps/piui","owner":"dps","description":"Add a UI to your standalone Raspberry Pi project using your Android phone","archived":false,"fork":false,"pushed_at":"2020-01-26T15:21:31.000Z","size":3743,"stargazers_count":420,"open_issues_count":13,"forks_count":95,"subscribers_count":59,"default_branch":"master","last_synced_at":"2025-06-26T01:49:49.717Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/dps.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}},"created_at":"2013-01-15T04:52:17.000Z","updated_at":"2025-05-21T22:02:11.000Z","dependencies_parsed_at":"2022-07-28T22:38:58.162Z","dependency_job_id":null,"html_url":"https://github.com/dps/piui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dps/piui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dps%2Fpiui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dps%2Fpiui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dps%2Fpiui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dps%2Fpiui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dps","download_url":"https://codeload.github.com/dps/piui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dps%2Fpiui/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266278136,"owners_count":23904037,"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":[],"created_at":"2025-06-27T09:01:44.273Z","updated_at":"2025-07-21T10:02:43.995Z","avatar_url":"https://github.com/dps.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"piui\n==============\n\nAdd a UI to your standalone Raspberry Pi project using your Android or iOS phone\n\nDemo\n====\n\n[Watch Demo Video](http://youtu.be/2ay0vuW6aNY)\n\n[![Demo Video Screengrab](http://blog.davidsingleton.org/static/ytpiui.png)](http://youtu.be/2ay0vuW6aNY)\n\n\nInstall PiUi\n============\n```\npip install piui\n```\n\nSetup Instructions (to prepare your Raspberry Pi)\n=================================================\n\nThe easy way (using a pre-prepared SD card image)\n-------------------------------------------------\n\nDownload the `piui_plus_examples.zip` file from [github.com/dps/piui-sdcards](https://github.com/dps/piui-sdcards/blob/master/piui_plus_examples.zip?raw=true).  Unzip it and you'll find a 4Gb sd card image named `piui_plus_examples.img`.  Write it to an SD card by following the [usual Raspberry Pi instructions](http://elinux.org/RPi_Easy_SD_Card_Setup).  At present, this image is based on Occidentalis 0.2.\n\nAssuming you have the same wifi adapter I do, this will work out of the box.  If not, read the [Pi-Point](http://www.pi-point.co.uk/) docs to configure for your own hardware.\n\nOn first boot, you can sync the latest piui source with:\n```\ncd piui\ngit pull origin\n```\nand start the demo app with:\n```\npython piui_demo.py\n```\n\nThe do-it-yourself way\n----------------------\n\nStart with the latest release of [Raspbian](http://www.raspberrypi.org/downloads) or (better as it's ready for hardware projects) [Occidentalis](http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/occidentalis-v0-dot-2).\n\nFollow the [Pi-Point documentation](http://www.pi-point.co.uk/) to turn your Pi into a wifi access point.  Note that if you use the [Adafruit wifi adapter](https://www.adafruit.com/products/814), these instructions do not work in full as the `nl80211` driver does not support that device (which uses a Realtek chipset).  [This blog post](http://blog.sip2serve.com/post/38010690418/raspberry-pi-access-point-using-rtl8192cu) explains how to make it work - thanks Paul!\n\nAdd an entry to `/etc/hosts` mapping the DNS name `piui` to the address you configured for the Pi in the step above.  Assuming it's `192.168.1.1`, then you should add the following to `/etc/hosts`\n```\n192.168.1.1     piui\n```\n\nInstall `nginx` - nginx is an HTTP server and reverse proxy, we use it to multiplex requests to your app and the `piui-supervisor`.\n\n```\nsudo apt-get install nginx\n```\n\nConfigure nginx using the [config file](https://github.com/dps/piui/blob/master/nginx-conf/nginx.conf) in the PiUi github repo - copy this to `/etc/nginx/nginx.conf` and restart nginx.\n```\nsudo /etc/init.d/nginx restart\n```\n\nGet the piui source code from github\n```\ncd /home/pi\ngit clone https://github.com/dps/piui.git\n```\n\nArrange for the `piui-supervisor` to run on boot.\n```\nsudo cp /home/pi/piui/supervisor/piui-supervisor /etc/init.d\nsudo update-rc.d piui-supervisor defaults\n```\n\nDone!  Run the demo app:\n```\ncd piui\npython piui_demo.py\n```\n\nConnect your phone to the wifi AP and navigate to 'http://piui/'.\n\n\nKnown limitations / work in progress\n====================================\n\n- only works for one concurrently connected phone right now\n- upon reconnection, all historical updates to page elements are made in sequence - should collapse updates to the same element\n\n\nCopyright and License (BSD 2-clause)\n====================================\n\nCopyright (c) 2013, David Singleton\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\nRedistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdps%2Fpiui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdps%2Fpiui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdps%2Fpiui/lists"}