- Windows 7 or later
- Raspbian Buster or later(Buster 미만 버전은 Python3.7을 지원하지 않음)
- Python 3.7 설치
- Pycharm Community 설치
- GitTool(GitKraken, Github Desktop, Git Bash 등등)로 레포지토리 복제
- Pycharm 으로 virtual env 생성
pip3 install -r requirements-windows.txt로 의존 라이브러리 설치- Python으로 run.py 실행
sudo apt-get install python3 python3-dev-tools python3-setuptools qt5-default로 파이썬 설치sudo python3 -m pip install -r requirements-posix.txt로 의존 라이브러리 설치sudo python3 run.py로 실행(GUI 환경에서 실행)
planner.ui를 이용하여MainWindow(QtWidgets.QMainWindow)를 생성- 각 로그 유닛(
external_storage_manager.py,music_player.py,scheduler.py)을 생성 후 실행 data/schedule.py를 바탕으로 스케줄 조회 창 완성,data/quick_macros.py를 바탕으로 매크로 버튼 목록 완성- 로그 갱신 타이머(
log_timer(QTimer)) 실행 MainWindow콘솔 입력, 로그 표시, 매크로 입력 등의 UI 작업 처리
ExternalStorageManager(QThreadWithLogging)외부저장장치 변동 시에 외부저장장치의 mp3를 내부저장장치로 복사MusicPlayer(QThreadWithLogging)플레이 리스트에 음악이 있다면 재생
Scheduler(QThreadWithLogging)data/schedule.py에 따라서 해당하는 태그를 실행- 로그 갱신 타이머 중단 후 각 로그 유닛의
close()호출 뒤 종료.
test테스트 방송 송출get_musics현재 기상송 목록 표시all_around_test당일 스케줄의 모든 태그 명령어 순차 실행-로 시작하는 명령어들태그 명령어로 실행
고정 오디오 재생시 사용
입구폐쇄, 점호준비, 점호시작, 점호종료, 기숙사퇴실, M-N학년급식
기상송기상송 재생목록에 추가buffer/에 비었을 경우(ExternalStorageManager참조) 기본 노래 추가
(실제 재생은MusicPlayer에서 실행함)기상송초기화buffer/초기화아침운동체크MusicPlayer에서 재생중인 노래 일시정지 후아침운동체크.mp3재생
create_quick_macro_button매크로 버튼 UI 생성 함수qt_message_handlerQt가 보내는 메시지 핸들링 함수
run.py,scheduler.py,music_player.py,external_storage_manager.py
등의 기본 소스코드가 루트에 존재audio/오디오 파일 존재audio/default_music/각 요일별 기본 노래 존재buffer/외부저장소(USB)에서 복사된 파일이 존재data/리소스 파일 존재data/planner.uiQt5 UI 파일data/quick_macros.py매크로의 이름과 해당 콘솔 명령어 목록data/requiremnets-posix.txt리눅스 환경에서 필요한 파이썬 모듈 목록data/requiremnets-windows.txt윈도우 환경에서 필요한 파이썬 모듈 목록data/schedule.py평일과 휴일의 스케쥴의 태그 명령어와 시간 목록


