{"id":28385187,"url":"https://github.com/pageauc/flask-pantilt-cam","last_synced_at":"2025-08-11T17:33:26.761Z","repository":{"id":286859179,"uuid":"962783159","full_name":"pageauc/flask-pantilt-cam","owner":"pageauc","description":"A Flask web page to control a RPI pimoroni pantilthat with take photos and view photos","archived":false,"fork":false,"pushed_at":"2025-07-21T19:08:37.000Z","size":1953,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T21:28:03.502Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/pageauc.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,"zenodo":null}},"created_at":"2025-04-08T17:04:28.000Z","updated_at":"2025-07-21T19:08:41.000Z","dependencies_parsed_at":"2025-07-21T21:10:33.860Z","dependency_job_id":"cc4dbc53-38d3-47a9-a270-37b43b7d59db","html_url":"https://github.com/pageauc/flask-pantilt-cam","commit_stats":null,"previous_names":["pageauc/flask-pantilt-cam"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pageauc/flask-pantilt-cam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pageauc%2Fflask-pantilt-cam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pageauc%2Fflask-pantilt-cam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pageauc%2Fflask-pantilt-cam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pageauc%2Fflask-pantilt-cam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pageauc","download_url":"https://codeload.github.com/pageauc/flask-pantilt-cam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pageauc%2Fflask-pantilt-cam/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267368933,"owners_count":24076093,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"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":[],"created_at":"2025-05-30T10:11:11.553Z","updated_at":"2025-07-27T14:07:46.143Z","avatar_url":"https://github.com/pageauc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## FLASK PANTILT CAMERA - pan-tilt control a pi-camera video stream\n\n\u003cimg src=\"flask-pantilt-cam.png\" width=600\u003e\n\n### Introduction\n\nThis program is a python3 flask web server application that allows control of a pimoroni pantilthat with a picamera2 compatible camera module attached.\nA web page displays a low latency live camera video stream.\nKeyboard arrow keys or on screen navigation buttons control pantilt. A Take Photo button can be used to take, view and save an image to a specified folder.\nThe Save image folder path will be auto created per config.py setting.\nA view photos button brings up a browse thumbnails image grid web page of previously saved images. Click on Thumbnail to view full size image. \n\nI developed this app completely from scratch using only DeepSeek generative AI prompts for the coding. I did add the import from config.py feature myself,\nplus misc edits and fixes. \n\nI called my DeepSeek AI assistant Codey. The basic version took approximately two hours for the AI interaction and testing on a Raspberry Pi 3B+. \nI started from scratch using just prompts and no example starting code. The Take and View photos feature took quite a bit longer due trouble shooting and testing issues.\n\n### Requirements\n\n* Raspberry Pi computer (model 3 or greater) with Raspberry OS Bullseye or later (32 or 64 bit). May work on RPI 2 but not tested.\n* Pimoroni pantilthat assembly, installed and working.\n* A Pi Camera module (compatible with Picamera2, libcamera python libraries). Installed on pantilthat assembly and working.\n* User should be comfortable with working in a terminal or SSH session\n* User should have basic skills with computer hardware assembly (pantilt hat), testing and problem solving issues.\n* Internet access and local area network is required for installing software from Github and accessing the web page from another computer on you local area network..\n\n### Installation\n\nOpen a terminal or SSH session and clone the github repository.\n\n    cd ~\n    sudo apt update \u0026\u0026 sudo apt upgrade -y\n\tsudo apt install python3-pantilthat\n    git clone https://github.com/pageauc/flask-pantilt-cam.git\n    cd flask-pantilt-cam\n    chmod +x flask-pantilt-cam.py\n\tsudo apt install supervisor\n\tchmod +x flask-pantilt-cam.sh\n\t\nEdit the config.py settings\t\n\t\n\tnano config.py\n\t\nEdit the class Config() variable settings as required.\n\nTo exit and save nano changes Press Ctrl-x y  \n\nTo launch the web server\n\n    ./flask-pantilt-cam.py\n\t\nFrom a browser on your local network paste the flask url eg\n\n    http://192.168.1.178:5000\n\n### Run in Python Virtual Environment\n\nTo run this app in a python3 virtual Environment. If you already have a python3 virtual env with another name, you can use that.\n\n    cd ~\n\t# If required install virtual environment dependency.\n    sudo apt install python3-venv\n    # Create a virtual environment, Note you can change venv to another name if desired.\n    python -m venv --system-site-packages /home/pi/venv\n\t# Activate venv. You will see a different prompt eg (venv) pi@hostname:\n    source /home/pi/venv/bin/activate\n\t# Run app in the virtual environment\n\tcd flask-pantilt-cam\n    ./flask-pantilt-cam.py\n\t# When done ctrl-C to stop app\n\t# To exit the virtual environment\n\tdeactivate\n\n### Run in Background using supervisor.\n\nThe bash script flask-pantilt-cam.sh manages the supervisorctl background service for flask-pantilt-cam.py\nper the associated [configuration .conf files ](https://raw.githubusercontent.com/pageauc/flask-pantilt-cam/refs/heads/main/source/supervisor/flask-pantilt-cam.conf) \nlocated in the supervisor folder. \nThe scripts can start the .py script as a background task under the specified user= in the conf file settings. \nThese .conf files will by default not autostart run on boot but will attempt a restart if there is a program issue. \nEg problem with camera.\n\nBasic instuctions to install and run\n\n    cd ~/flask-pantilt-cam\n    ./flask-pantilt-cam.sh help\n    ./flask-pantilt-cam.sh install\n    ./flask-pantilt-cam.sh start\t\n\t\n### Upgrade\n\nTo update your existing cloned project execute the commands below from SSH or Terminal session.\n\n    cd ~/flask-pantilt-cam\n\t# git reset --hard \n\tgit pull\t\n\n### Credits\n\nClaude Pageau developed this application from scatch using only DeepSeek generative AI prompts.  \nI called my assistant Codey. It was a rewarding and at times frustrating experience. I started from scratch using just prompts and no example starting code.\n\nGitHub Repo: https://github.com/pageauc/flask-pantilt-cam\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpageauc%2Fflask-pantilt-cam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpageauc%2Fflask-pantilt-cam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpageauc%2Fflask-pantilt-cam/lists"}