{"id":24425931,"url":"https://github.com/neirrek/piweb","last_synced_at":"2026-05-14T20:33:00.610Z","repository":{"id":136339053,"uuid":"47459916","full_name":"neirrek/PiWeb","owner":"neirrek","description":"PiWeb is a Sinatra-based Ruby webapp to be installed on a Raspberry Pi in order to remotely control its GPIO pins","archived":false,"fork":false,"pushed_at":"2018-01-06T19:56:18.000Z","size":14,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-07T14:50:33.131Z","etag":null,"topics":["gpio-pins","raspberry-pi","ruby","ruby-webapp","sinatra","whenever"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/neirrek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2015-12-05T14:55:58.000Z","updated_at":"2021-03-28T05:33:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba9859f4-53d5-4f66-9f08-72bce7063b4b","html_url":"https://github.com/neirrek/PiWeb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/neirrek/PiWeb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neirrek%2FPiWeb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neirrek%2FPiWeb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neirrek%2FPiWeb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neirrek%2FPiWeb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neirrek","download_url":"https://codeload.github.com/neirrek/PiWeb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neirrek%2FPiWeb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33042184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["gpio-pins","raspberry-pi","ruby","ruby-webapp","sinatra","whenever"],"created_at":"2025-01-20T11:14:27.883Z","updated_at":"2026-05-14T20:33:00.602Z","avatar_url":"https://github.com/neirrek.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"PiWeb\n=====\n\nPiWeb is a Sinatra-based Ruby webapp to be installed on a Raspberry Pi in order to remotely control its GPIO pins. This allows to control relay modules to switch devices on and off.\n\n## Installation Prerequisite\n\nIn order to install PiWeb on your Raspberry Pi, you first have to ensure that the WiringPi GPIO interface library is already installed. To check this, execute the following command on your Raspberry Pi using a SSH connection:\n\n```\ngpio -v\n```\n\nIf the `gpio` command is not recognized, then you have to install WiringPi. To do so, follow the instructions given at the following link: http://wiringpi.com/download-and-install/\n\n## Installation\n\nTo install PiWeb on your Raspberry Pi, execute the following command in the root directory of the application:\n\n```\nbundle install\n```\n\n## Configuration\n\nThanks to the Whenever Gem, the activation/deactivation of each GPIO pin may be croned at will. To do so, you have to schedule the switching in the file `config/schedule.rb`. Then, execute the following command in PiWeb's root directory:\n\n```\n$ whenever --update-crontab\n```\n\nIn order to make the PiWeb webapp know which GPIO pin controls which device, you can configure your GPIO pins in the configuration file `config/config.yml`. Here is an example of configuration:\n\n```\nplace: Home\ndevices:\n 0: Living Room Lamp\n 1: Bedroom Lamp\n 2: CMV\n```\n\n## Make PiWeb a Service\nIf you want the PiWeb webapp to start automatically at boot time, you can copy the script `piweb` located in PiWeb's root directory in `/etc/init.d` and execute the following command:\n\n```\nsudo update-rc.d /etc/init.d/piweb defaults\n```\n\nDoing this will make PiWeb a service started at boot time. Then, you will be able to execute the following commands:\n\n```\n$ service piweb status\n$ service piweb stop\n$ service piweb start\n$ service piweb restart\n```\n\nBy default, the PiWeb webapp will use the port `15117`. To change this port, you have to modify it in the files `start.sh` and `piweb` (the one installed in `/etc/init.d` to make PiWeb a service).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneirrek%2Fpiweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneirrek%2Fpiweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneirrek%2Fpiweb/lists"}