{"id":20697646,"url":"https://github.com/capstone-projects-2023-spring/project-multi-purpose-camera","last_synced_at":"2026-04-18T23:06:58.826Z","repository":{"id":143303345,"uuid":"601329480","full_name":"Capstone-Projects-2023-Spring/project-multi-purpose-camera","owner":"Capstone-Projects-2023-Spring","description":"project-multi-purpose-camera created by GitHub Classroom","archived":false,"fork":false,"pushed_at":"2023-05-13T23:30:37.000Z","size":550173,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T18:44:45.838Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Capstone-Projects-2023-Spring.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":"2023-02-13T20:53:33.000Z","updated_at":"2023-04-17T19:56:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"c360dbaf-e477-43cd-9175-8e15b6a776c3","html_url":"https://github.com/Capstone-Projects-2023-Spring/project-multi-purpose-camera","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":"ApplebaumIan/tu-cis-4398-docs-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capstone-Projects-2023-Spring%2Fproject-multi-purpose-camera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capstone-Projects-2023-Spring%2Fproject-multi-purpose-camera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capstone-Projects-2023-Spring%2Fproject-multi-purpose-camera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capstone-Projects-2023-Spring%2Fproject-multi-purpose-camera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Capstone-Projects-2023-Spring","download_url":"https://codeload.github.com/Capstone-Projects-2023-Spring/project-multi-purpose-camera/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242961747,"owners_count":20213315,"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":"2024-11-17T00:19:18.526Z","updated_at":"2026-04-18T23:06:58.750Z","avatar_url":"https://github.com/Capstone-Projects-2023-Spring.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--[![Open in Codespaces](https://classroom.github.com/assets/launch-codespace-f4981d0f882b2a3f0472912d15f9806d57e124e0fc890972558857b51b24a6f9.svg)](https://classroom.github.com/open-in-codespaces?assignment_repo_id=10120387)\n\u003cdiv align=\"center\"\u003e\n\n# Multi-Purpose Camera\n[![Report Issue on Jira](https://img.shields.io/badge/Report%20Issues-Jira-0052CC?style=flat\u0026logo=jira-software)](https://temple-cis-projects-in-cs.atlassian.net/jira/software/c/projects/DT/issues)\n[![Deploy Docs](https://github.com/ApplebaumIan/tu-cis-4398-docs-template/actions/workflows/deploy.yml/badge.svg)](https://github.com/ApplebaumIan/tu-cis-4398-docs-template/actions/workflows/deploy.yml)\n[![Documentation Website Link](https://img.shields.io/badge/-Documentation%20Website-brightgreen)](https://applebaumian.github.io/tu-cis-4398-docs-template/)\n\n\u003c/div\u003e--\u003e\n\n\n## Keywords\n\n- Adroid mobile app\n- Raspberry pi\n- Camera\n- AWS\n- MySQL Database\n\n\u003c!--Section #, as well as any words that quickly give your peers insights into the application like programming language, development platform, type of application, etc.--\u003e\n\n## Project Abstract\n\nThis document proposes a multiple purpose camera that has multiple functions which can adapt to the user's needs depending on the situation. The system will be built using a raspberry pi with camera and microphone attachments. Features include regular camera capturing, thermal mode, night vision mode, sound detection, motion detection, and light detection. The camera will connect to mobile devices and the cloud via wifi and bluetooth. \n\n## High Level Requirement\n\n\u003c!--Describe the requirements – i.e., what the product does and how it does it from a user point of view – at a high level.--\u003e\nThe multi purpose camera is a product that can be used in a variety of ways. Essentially, it is a camera that can video record, capture, and livestream that can be used for whatever the user needs it for (ie. baby monitor, car dashcam, door cam, etc.). Using the app, users will initially connect the camera to their device via bluetooth. After the initial buletooth connection is established, the user can get their camera connected to their wifi. Once the wifi connection is established, the camera will just need to be set up in the right location, and it is good to go. The app can be used to access stored recordings, camera captures, and livestreams. Camera settings can also be modified and viewed in the app. \n\n\n\n## Conceptual Design\n\n\u003c!--Describe the initial design concept: Hardware/software architecture, programming language, operating system, etc.--\u003e\nThis project has three working components: the raspberrry pi, the android app, and the server. \n\nThe Raspberry pi needs to be configured with the hardware: camera, microphone, SD card, and power cable. The raspberry pi then needs establish a connection with the device via Bluetooth. This is because the raspberry pi is a headless machince, meaning that it does not have a monitor or keyboard attached which will allow users to enter credentials for wifi connection. Therefore, once the bluetooh connection is established, the device will send wifi configurations packets which will allow the raspberry pi to connect to the wifi. The Raspberry Pi 4 comes with bluetooth and wifi capabliities so no additional hardware/software is necessary to enable that. \n\nThe Android app can be installed on Android devices. The app was coded in Java on Android Studios. Through the app, the user should be able to create an account or login in with previously existing account. Then, the connections for the Raspberry pi and the server can be established. Using the app, the user will be able to view livestream, captures, and audios.\n\nFinally, the server is operated on the back end. In the cloud system. The code in AWS Lambda will be either java using RDS for a database and Amazon S3 for storage. The cloud will also be accessible using the client devices via wifi. The video data will be sent to the cloud and analyzed in the server to reduce the computational work on the client side and take advantage of high performance computers on cloud to speed up the analysis of the video footagethat are able to analyze video footage much faster than any Android phone would be able to. The video data and analyzed result will be sent back to clients when necessary.\n\n\n## Background\n\n\u003c!--The background will contain a more detailed description of the product and a comparison to existing similar projects/products. A literature search should be conducted and the results listed. Proper citation of sources is required. If there are similar open-source products, you should state whether existing source will be used and to what extent. If there are similar closed-source/proprietary products, you should state how the proposed product will be similar and different.--\u003e\n\nCompared to most products on the market, our products aims to be more multi-functional. With different persona configurations and optimizable design, our product is not only limited to a regular security camera that is pre-designed to be used in a specific way, such as a doorbell monitor, baby monitor, dashcam, etc. Our product can be all these in one. Action cameras such as GoPros can come close to what our product aims to achieve, however, our Multi-Purpose Camera is set apart by our corrsponsing app. Using our app and camera together, the user can easily achieve what they want through the customization options our app offers. \n\n\n\u003cb\u003eResources\u003c/b\u003e\n\n- https://github.com/rpellerin/raspberry-pi-home-automation (python version) \n- https://github.com/Ruud14/SecurityCamera (python version) \n- https://github.com/MieszkoMakuch/pi-security-camera (python version) \n- https://github.com/TaylorTheDeveloper/AzureCloudCam (python version) \n- https://www.enostech.com/the-pros-of-using-a-gopro-as-an-everyday-or-travel-camera/#:~:text=One%20of%20the%20main%20drawbacks,entire%20day's%20worth%20of%20adventure.\n- https://pyshine.com/Send-video-over-UDP-socket-in-Python/\n- https://pyshine.com/Send-video-over-UDP-socket-in-Python/\n- https://people.csail.mit.edu/albert/bluez-intro/c212.html\n\n## Required Resources\n\n\u003c!--Discuss what you need to develop this project. This includes background information you will need to acquire, hardware resources, and software resources. If these are not part of the standard Computer Science Department lab resources, these must be identified early and discussed with the instructor.--\u003e\n\u003cb\u003eHardware Requirements\u003c/b\u003e\n\n- Raspberry Pi\n- Camera\n- Microphone\n- MicroSD card\n\n\u003cbr /\u003e\n\u003cb\u003eSoftware Requirements\u003c/b\u003e\n\n- Android Studios\n- Visual Studios\n- PyCharm\n- AWS\n- MySQL Database\n- Android Emulator (or physical Android device will work too)\n\n## Features\n\u003cb\u003eSystem and Device Installation\u003c/b\u003e\n- Mounting and securing the camera in the desired spot\n- Setting up the Night Vision/Thermal Vision to Raspberry Pi\n- Setting up the Raspberry Pi on your device and cloud.\n\n\u003cb\u003eCreate and Modify User Account\u003c/b\u003e\n- Create/Modify User Account and Password\n- Profile Management\n- Database Management\n\n\u003cb\u003eReceiving live stream from another device\u003c/b\u003e\n- Users should be able to receive a live video feed from another device\n- Users should be able to receive a live audio feed from another device\n- Users should be able to record live video feed\n- Users should be able to record live audio feed\n- Recording video and audio to the cloud\n- Cloud Storage\n- Self-Device Camera\n\n\u003cb\u003eCreate Custom Alert and Notifications\u003c/b\u003e\n- Tracking User Interactions\n\n## Bugs\n- Account will automatically logout after pressing on the account button or account settings\n- Recording will sometimes record\n- Too many task will crash the app \n\n## Instructions to Build \n- Android Only!\n- Make sure you have at least Android Version 10 or higher\n- Download the latest release\n- Make an account and you're set\n\n## Quick Setup:\n- pip install opencv-python\n- pip install imutils\n- pip install pybluez\n- pip install pyaudio\n\n\n## Collaborators\n\n[//]: # ( readme: collaborators -start )\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/JustinArd\"\u003e\n            \u003cbr /\u003e\n            \u003csub\u003e\u003cb\u003eJustin Ardamoy\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/tuk12915\"\u003e\n            \u003cbr /\u003e\n            \u003csub\u003e\u003cb\u003eTim Brennan\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/NickCoffin\"\u003e\n            \u003cbr /\u003e\n            \u003csub\u003e\u003cb\u003eNicholas Coffin\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/jo-k0806\"\u003e\n            \u003cbr /\u003e\n            \u003csub\u003e\u003cb\u003eJoanne Kim\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/fes7713\"\u003e\n            \u003cbr /\u003e\n            \u003csub\u003e\u003cb\u003eKeita Nakashima\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/tuj02630\"\u003e\n            \u003cbr /\u003e\n            \u003csub\u003e\u003cb\u003eSid Philips\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/TylerSchemaitat\"\u003e\n            \u003cbr /\u003e\n            \u003csub\u003e\u003cb\u003eTyler Schemaitat\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n[//]: # ( readme: collaborators -end )\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapstone-projects-2023-spring%2Fproject-multi-purpose-camera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapstone-projects-2023-spring%2Fproject-multi-purpose-camera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapstone-projects-2023-spring%2Fproject-multi-purpose-camera/lists"}