Skip to content
Snippets Groups Projects
Unverified Commit 9cc99223 authored by Younho Choo's avatar Younho Choo Committed by GitHub
Browse files

Add proposal (#25)

* Update README.md

* Add proposal
parent 179ad1e8
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,10 @@ ...@@ -11,6 +11,10 @@
- [박효성](https://github.com/HyoSungP) - [박효성](https://github.com/HyoSungP)
- [추연호](https://github.com/younho9) - [추연호](https://github.com/younho9)
## Proposal
[아주대학교 대면 수업 관리 시스템 제안서](/proposal.md)
## Device Drivers ## Device Drivers
| 디바이스 드라이버 | 사용 디바이스 / 모델명 | 관련 시나리오 | 기능 | 작동 방식 | | 디바이스 드라이버 | 사용 디바이스 / 모델명 | 관련 시나리오 | 기능 | 작동 방식 |
...@@ -49,7 +53,7 @@ ...@@ -49,7 +53,7 @@
3. 팀 repo 를 remote로 추가 3. 팀 repo 를 remote로 추가
``` ```
git remote add upstream https://github.com/going-berry-pi/f2f-class-management-system.git git remote add upstream https://github.com/going-berry-pi/offline-class-management-system.git
``` ```
### 작업 방법 ### 작업 방법
...@@ -104,7 +108,7 @@ git push origin master ...@@ -104,7 +108,7 @@ git push origin master
``` ```
# 예시 # 예시
f2f-class-management-system offline-class-management-system
├── README.md ├── README.md
├── led ├── led
│ ├── led_dev.c │ ├── led_dev.c
......
images/motive.png

1.91 MiB

images/structure-prototype.png

240 KiB

# 아주대학교 대면 수업 관리 시스템 제안서
## 주제 및 선정 이유(Motivation)
> 아주대학교 대면 수업 관리 시스템
![motive](/images/motive.png)
일부 대면 수업을 실시함에 따라 학교에게는 학생들의 체온을 확인하고, 교실에 배치시키고, 교실에 학생들을 적절히 분배해야 할 책임이 요구된다.
그런데 한 명의 교수자 또는 건물 관리자에게 발열을 확인하고 좌석을 배치할 모든 책임을 부여하는 것은 교수자 또는 건물 관리자의 업무 강도를 높인다. 이는 수업의 질 저하, 학교 서비스 질의 저하로 이어질 우려가 있다. 하지만 추가 인력을 투입하는 것은 학교 예산의 낭비를 일으켜 마찬가지로 전체 학교 서비스의 질 저하로 이어질 수 있다.
또한 학교 차원에서는 각 교실에 학생들의 발열 체크와 좌석 배치가 적절하게 이루어졌는지 중앙에서 확인하거나 관리할 방법이 없다. 이에 따라 각 교실마다 학생들의 온도 체크와 좌석 배치를 효과적으로 할 수 있는 시스템을 만들고자 한다.
### 개발 목표 및 요구 조건, 프로젝트의 필요성 및 차별성
- 개발 목표
1. 대면 수업 시, 학생 신원 확인, 학생 발열 확인, 좌석 배치, 적정 거리 유지 등의 과정을 간편하게 함.
2. 대면 수업 상황을 파악하고, 관리할 수 있는 중앙 관리 시스템을 제공함.
- 요구 조건
1. 표준적으로 사용되는 일반 체온계와 오차 범위가 ± 0.5°C 내로 정확한 온도 확인이 이루어질 수 있어야 한다.
2. RFID 센서를 활용해 아주대 학생증으로 개별 학생의 학번, 이름 정보를 조회할 수 있어야 한다.
2-1. 학생증을 소지하지 않은 학생에게는 학번을 직접 입력 받아 학생의 학번, 이름 정보를 조회할 수 있어야 한다.
2-2. (옵션) 아주대 모바일 학생증의 NFC, QR코드 기능을 활용한다.
3. 99% 이상의 정확도로 이용 중인 좌석과 빈 좌석을 구분할 수 있어야 하고, 사람이 아닌 물체가 좌석에 놓인 경우 등을 구분할 수 있어야 한다.
4. 대면 수업이 실시되는 교실의 최대 수용 인원, 좌석 배치도, 참여 학생 수에 대한 정보를 갖고 있어야 하고, 이에 따라 적절하게 학생들을 교실에 배치하는 알고리즘을 제공해야 한다.
- 프로젝트의 필요성
1. 코로나19에 대한 상황이 앞으로 어떻게 진행될 지 예측할 수 없으므로, 이에 대한 학교 차원의 대응 방법이 필요함.
2. 대면 수업 관리로 인한 업무 과중, 예산 낭비 등의 문제가 발생할 수 있음.
3. 현재 대면 수업에 대한 학교 차원의 중앙 관리 시스템이 없음.
4. 확진자가 발생하는 만일의 경우에, 역학 조사에 활용할 수 있는 데이터를 제공할 수 있음.
- 프로젝트의 차별성
1. 교실 내에 CCTV를 설치하는 것과의 차별성
- 관리자가 상황을 파악하고 관리하기 용이함.
- 영상 데이터는 용량이 커서 보존에 많은 비용이 발생함.
2. 대면 수업에 대해 불안감을 느끼는 학생들에게 안전함과 편리함을 동시에 제공할 수 있음.
## 응용 서비스 및 시스템 개요
### 전체 개요 및 기능적 요소에 대한 설명
![structure prototype](/images/structure-prototype.png)
1. 학생이 대면 수업이 실시되는 교실에 입실하기 전, RFID 센서에 학생증 접촉
- 학생증이 없는 경우 키패드로 학번을 입력 (추가 구현)
2. 학생의 정보가 확인되면 온도 센서로 온도를 측정
3. 입실 가능 여부가 확인되면, 학생에게 좌석을 배치하여 알려줌.
4. 교실의 각 좌석에는 압력 센서가 부착되어 있어, 사용자의 착석 여부를 판단
5. 관리자는 각 교실의 좌석 배치도와 학생들의 착석 상태를 파악 할 수 있음.
6. 모터는 대면 수업 시간 전에 자동적으로 창문을 열어 교실을 환기하는데 사용되고 관리자가 제어할 수 있음.
#### 각 파이별 요구사항
공통 ) 각 파이는 모두 TCP 소켓 통신으로, 수집한 데이터를 중앙 관리 PC로 전송한다.
RFID, 온도 센서 파이 : 학생의 정보와 온도, 시간 정보를 서버로 전송.
> ※ 학생의 RFID 정보와 그 학생의 온도를 연관시키는 방법
> 하나의 파이에서 순차적으로 정보를 입력받아 하나의 데이터 셋으로 묶는다.
> 조건 : 학생이 반드시 한명씩 순차적으로 학생증을 입력하고 온도를 측정해야 함.
압력 센서 파이 : 좌석의 착석 여부를 실시간으로 서버로 전송.
창문 제어 모터 파이 : 정해진 시간에 창문을 열고 닫음. 관리자가 열거나 닫을 수도 있음.
## 분석
### 목표 서비스 구현을 위한 요구사항 및 기술 분석
1. RFID
태그(학생증)의 주파수 대역과 맞는 RFID 리더기가 필요하다. RFID는 LF, HF, UHF와 같이 여러가지 종류의 주파수를 가질 수 있다. 그 중 학생증에서 많이 사용하는 주파수인 13.56MHz(HF)를 가지는 RFID 리더기를 사용하고자 한다. 13.56MHz를 사용하는 RFID 리더기는 NFC와도 통신이 가능하여 더 다양하게 활용할 수 있다.
RC522는 기본적으로 SPI(Serial Peripehral Interface Bus) 통신 방법을 사용한다. 그래서 SPI통신을 위한 핀인 MISO, MOSI, SCLK를 가지고있다. 이 중 데이터 송수신을 위한 핀은 MISO, MOSI이다. I2C에 비해 데이터 송수신을 위한 핀이 하나 더 많아서 전송 속도는 빠르나, 회로가 복잡해질 수 있다는 단점을 가진다. SPI 통신이 가능한 핀은 GPIO10, 9, 11, 8, 7 이 있다. 기존에 있는 SPI 인터페이스를 그대로 사용하는 것은 금지되어 있으므로, 위에서 언급한 GPIO 핀을 이용하여 새로운 SPI 인터페이스를 구현해야한다.
2. 온도 센서
온도센서를 고를 때 측정 온도의 오차 범위가 0.5도 이내여야 한다는 점을 고려하였다. 그래서 그러한 오차 범위를 가지는 AM2320이 적합하다고 판단하였다. AM2320은 I2C통신을 이용한다. 그래서 SDA, SCL핀에 대한 처리를 해야한다.
이 중 데이터 송수신을 위한 핀은 SDA이다. SPI에 비해 데이터 송수신을 위한 핀의 개수가 작아서 회로 구조는 간단해질 수 있지만, 속도가 비교적 느리다는 단점을 가진다. I2C통신 구현을 할 때에는 기존에 존재하는 라이브러리를 이용하지 않고, 직접 Device Driver를 구현하고자 한다. I2C 통신을 위한 Device Driver를 구현하기 위해서 GPIO 2번과 GPIO 3번을 이용해야 한다.
3. 압력 센서
간단한 구조, 얇은 기구적 특성의 이유로 선택하였습니다. 압력센서는 힘,무게 등에 따라 저항 값이 바뀌는 성질을 이용한 센서이다.
센서에 가해지는 압력의 정도를 전기 신호로 생성한다. 압력의 정도가 커지면 저항이 작아지는 원리를 이용한다. 보편적으로 정확도 보완을 위해 적외선 센서와 겸용하기 때문에 추가 구현도 고려중에 있다.
※ 압력센서에 따른 학생의 착석여부 판단 방법
- 조건 : 센싱 존에 압력이 가해졌을 때만 인식이 가능 하기 때문에 만약 데드 존(인식불가)에 압력이 가해지는 경우를 대비해야 하는 필요성이 있음
4. 모터
앞의 센서들과는 조금 개별적인 기능을 위해 사용할 것이다. 관리자가 모터를 제어하여 대면 수업 전에 정해진 각도로 창문을 열어 환기를 시키는 용도에 사용할 것이다. 학기초에 분배 받은 모터센서를 활용할 것이다.
### 목표 서비스 구현을 위한 도전적 이슈 및 제한 사항 분석
- 아주대학교에서 실시하는 대면 수업에 대한 다음의 정보들이 확보되어야 한다.
- 대면 수업이 실시되는 교실의 좌석 배치도
- 교실의 최대 수용 가능 인원
- 수업에 참여하는 학생 수
- 학생증 RFID에 담긴 ID로 학생의 정보를 조회할 수 있어야 한다. (학교 측과 협의)
- 대면 수업에 참여한 학생들의 정보와 온도, 좌석 배치가 데이터베이스에 저장되고, 이를 날짜 별, 수업 별로 조회할 수 있어야 한다.
- 중앙 관리자가 교실들의 좌석 배치 상황을 실시간으로 파악할 수 있는 화면을 구성해야 한다.
## 수행 계획
팀은 모두 금요일 대면 수업에 참여하는 것으로 결정하였기 때문에, 목요일에 매주 온라인/오프라인을 병행하며 프로젝트를 수행하고 금요일에 수업에 참여하여 회의를 나누기로 한다. Github으로 프로젝트를 관리하기 위해 Organization을 만들었으며, 컨트리뷰션 규칙을 정하였다. 그리고 노션을 활용하여 공동 문서를 관리한다. 앞으로 코로나19 상황에 따른 오프라인으로 프로젝트 를 수행해야 하는 상황이므로, 이러한 협업 툴을 잘 활용하여 수행할 계획이다.
### 팀원 별 역할 및 진행 일정
#### 팀원 별 역할
추연호 : 팀장, 프로젝트 관리, 적외선 온도 센서, 키패드 디바이스 드라이버 구현, 관리자 페이지 화면 구성
박효성 : 모터 디바이스 드라이버 구현, 앱 구현 및 제안서 발표
경주현 : 압력 센서 디바이스 드라이버 구현, TCP 통신 구축
박병준 : RFID 센서 디바이스 드라이버 구현, 서버 구축
(추가 가능) 데이터베이스 구축, 웹 소켓 서버 구축
※ 난이도가 높을 것으로 판단되는 RFID, 적외선 온도 센서에 적용되는 I2C, SPI 통신에 대해서는 함께 조사하고 함께 구현하는 것으로 융통성 있게 디바이스 드라이버를 구현할 예정임.
#### 진행 일정
5/25 ~ 5/31 : 프로젝트 아이디어 구상 & 발표 자료 준비
6/1 ~ 6/7 : 디바이스 분석 및 제안서 준비
6/8 ~ 6/14 : 디바이스 드라이버 구현 1
6/15 ~ 6/21 : 디바이스 드라이버 구현 2 & 앱 구현 & 서버 & 클라이언트 구축
6/22 ~ 6/25 : 웹 구현 및 최종 발표
6/26 ~ 7/3 : 코드 리뷰 및 최종 보고서 작성
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment