{"id":16960204,"url":"https://github.com/markkvdb/curtainopener","last_synced_at":"2026-05-06T23:39:58.959Z","repository":{"id":113963804,"uuid":"95546727","full_name":"markkvdb/curtainopener","owner":"markkvdb","description":"Curtain controller using a Raspberry Pi.","archived":false,"fork":false,"pushed_at":"2017-08-25T19:47:37.000Z","size":2065,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-26T10:45:48.749Z","etag":null,"topics":["curtains","flask-application","gpio","raspberry-pi"],"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/markkvdb.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,"publiccode":null,"codemeta":null}},"created_at":"2017-06-27T10:28:34.000Z","updated_at":"2020-10-22T03:00:54.000Z","dependencies_parsed_at":"2023-11-30T20:45:18.852Z","dependency_job_id":null,"html_url":"https://github.com/markkvdb/curtainopener","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markkvdb%2Fcurtainopener","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markkvdb%2Fcurtainopener/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markkvdb%2Fcurtainopener/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markkvdb%2Fcurtainopener/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markkvdb","download_url":"https://codeload.github.com/markkvdb/curtainopener/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244822271,"owners_count":20516063,"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":["curtains","flask-application","gpio","raspberry-pi"],"created_at":"2024-10-13T22:47:32.315Z","updated_at":"2026-05-06T23:39:58.929Z","avatar_url":"https://github.com/markkvdb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Curtain opener\n\n## Info\nApplication to open or close your curtain using a webserver-based control for the stepper motor that's connected to a RPI 3.\n\n## Installation\n\n### Software\n1. Clone repository to folder. Open it by running `cd curtainopener`.\n2. Create virtual environment within the curtainopener folder, by running the command `virtualenv -p python3 venv`.\n3. Activate virtual environment `source venv/bin/activate`.\n4. Install requirements and setup: `pip install -e .`\n5. Set-up database: `python initdb.py`\n6. Run server: `python run.py`\n\nIf you want to start the server again after installing, first activate the virtual environment by running `source venv/bin/activate`.\n\n### Hardware\n1. Get the following parts: \n    - Stepper motor suitable of opening and closing your curtain(s)\n    - Stepper motor driver with the following inputs:\n        - Step\n        - Direction\n        - Enable\n2. Connect GPIO pin 4 to the Direction (CW/CCW) pin of your stepper driver\n3. Connect GPIO pin 17 to the Step pin of your stepper driver\n4. Connect GPIO pin 22 to the Enable pin of your stepper driver\n5. Be creative in making the mechanical part work, for example the stepper driving a small rope which is connected to the curtain, if possible using pulleys\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkkvdb%2Fcurtainopener","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkkvdb%2Fcurtainopener","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkkvdb%2Fcurtainopener/lists"}