diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0a85e21f1ce6a69ebcd92270a2d72227b7015522 --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +## System Programming Team Project +2023년 2학기 시스템 프로그래밍 팀 프로젝트 : 스마트 통발 +## 🛠구현 기능들 +### PI 1 +- 주된 서버 역할 + -> 다른 파이들과의 연결을 담당 +- 카메라 센서 + -> 물고기 판단 및 안드로이드에 실시간 영상 전달 +- 모터 센서 + -> 미끼를 풀기 위한 용도 +### PI 2 +- LED 센서 + -> 어둡거나 유저가 원할때 on/off 가능 +- 조도 센서 + -> LED를 자동으로 제어하기 위함 +### PI 3 +- 모터 센서 2개 + -> 통발의 앞 뒷문의 개폐를 담당 +### PI 4 +- 스피커 + -> 유저가 원할 때 통발의 찾기 위함 +- GPS + -> 유저가 요청했을 때 현재 위치를 전달하기 위함 +- 수질 센서 + -> 현재 통발 위치의 수질정보를 유저에게 보여줌 +### ELSE +- flask&pytorch + -> 물고기인지 쓰레기인지 판단 +- android + -> 유저의 통발 작동을 위함 + +## 🔍기능들 세부 동작방법 +### PI 1 +1. C코드 실행 전 카메라 센서 웹으로 송출 +2. flask, pi2, 3, 4순으로 연결 +3. 물고기인지 판단 값, 유저의 command를 실시간으로 받아옴 +4. 각 command를 적절한 pi에 보내주기 or 모터센서를 작동 + +### PI 2 +1. 조도 센서 값이 임계값 이하일 때 LED를 작동 +2. PI 1과 socket연결을 진행 +3. PI 1 으로 부터 led command를 받아오면 조도센서값 무시 & 유저의 command에 맞게 led 작동 + +### PI 3 +1. 최초 실행시 통발의 앞 뒷문 열어둠 +2. PI 1과 socket연결을 진행 +3. 카메라 센서로 부터 물고기 정보를 받아오면 문을 닫는다. +4. 유저로 부터 command가 들어 오면 그 command에 맞춰 개폐를 하도록 한다. + +### PI 4 +1. 최초 실행시 스피커를 off시킴 +2. PI 1과 socket연결을 진행 +3. 일정 시간을 주기로 PI 1에 gps값과 수질값을 전송하게됨 (user가 command를 보낼시 PI 1에서 처리) +4. user로 부터 스피커 command를 받았을 시 스피커를 잠깐 동안 작동시킴 + +### flask & torch +1. 원기형 부탁해! + +### android +1. 유저로 부터 포트값 입력 받음 +2. 유저가 버튼을 누를 시 socket연결을 함 +3. 버튼에 맞는 command를 PI 1에 전송 +4. 정보를 받아올 필요가 있으면 받아온뒤 text값 변경 +5. 변경 or 정보를 받아올 필요가 없을 시 socket연결 종료 +6. cctv버튼이거나 gps버튼일 경우 webview를 이용해 유저에게 화면으로 보여줌 + +## 🧑각 기능별 담당자 +PI 1 & flask, pytorch : 강원기 + +PI 2 & android : 채승우 + +PI 3 : 한도훈 + +PI 4 : 정의훈