Binary Street Read Me

스마트 교통 & 안전 & 편의 시스템
How to start • Features • System Structures • Test Result • 개발환경 • Devices • Contributor
이 프로젝트는 2021 시스템 프로그래밍 실습 수업의(F047-1) 일환으로 진행되었습니다.이 어플리케이션은 실제 상업적 목적이 포함되어 있지 않습니다. 이 프로젝트는 강한결, 윤지은, 장인혁의 도움으로 만들어졌습니다.
같이 고생한 팀원분들께 감사의 말을 전합니다.
How to start
-
프로젝트의 개발환경과 호환이 되는 개발환경을 구성해주세요.
-
프로젝트를 다운 받고 순서에 맞게 실행해주세요.
git clone https://git.ajou.ac.kr/hankyul2/f047_1_1997_binarystreet.git cd f047_1_1997_binarystreet/src gcc -o traffic traffic_system.c -lpthread gcc -o server server.c -lpthread gcc -o client client.c -lpthread ./traffic ./server <port> ./client <server-ip> <port>
Features
이 프로젝트의 핵심 기능은 아래 보이는 사진과 같이 크게 4가지이다.
각각의 기능은 2개의 핵심 알고리즘으로 이루어져 있다. 알고리즘에 대한 더 자세한 소개를 보기 위해서는 알고리즘.md 파일을 참고하자
System Structure
Test Result
시스템의 다음과 같은 기능을 테스트했다.
시스템 | 테스트 시나리오 | Test 결과 |
---|---|---|
National | 버튼으로 모터와 부저의 on/off를 컨트롤 할 수 있는가? | SUCCESS |
National | 태극기가 휘날릴 때 모터가 적당한 속도, 각도로 동작하는가? | SUCCESS |
Safety | 수분센서에 물을 가득 묻혔을 때 안전등이 제대로 켜지는가? | SUCCESS |
Safety | 수분센서에 물을 가득 묻혔을 때 Crosswalk 시스템의 조명의 밝기가 조절 되는가? | SUCCESS |
Traffic | 사람이 차량보다 더 많을 때 다음 신호의 빨간 불이 더 오래 유지되는가? | SUCCESS |
Traffic | 차량이 사람보다 더 많을 때 다음 신호의 초록 불이 더 오래 유지되는가? | SUCCESS |
Traffic | 차량과 사람이 둘 다 많을 때 다음 신호가 일반 신호 주기와 동일한가? | SUCCESS |
Crosswalk | 차량용 신호등의 주기와 보행자 신호등의 주기가 맞물려서 제대로 동작하는가? | SUCCESS |
Crosswalk | 보행자 신호등이 순서에 맞게 빨, 노, 초 순서대로 제대로 표시되는가? | SUCCESS |
개발환경
- OS: Linux raspberrypi 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l GNU/Linux (Raspbian GNU/Linux 10)
- Compiler: gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
Devices
외부 장치 | 사용 개수 |
---|---|
RGB LED | 10 |
servo motor | 1 |
passive buzer | 1 |
1 color LED | 2 |
압력 센서 | 2 |
수분 센서 | 1 |
ADC | 2 |
신호등 LED | 2 |
Contributor
강한결, 윤지은, 장인혁