저희는 RFID 기술을 이용한 IoT 장치와 휴대전화를 통제하는 APP을 개발하여 군에서의 보안/안전적인 측면을 더욱 강화시키는 것 뿐만아니라 전군 장병들의 휴대폰 관리를 전산화 처리를 할려고 합니다. 저희 팀은 국방 오픈소스 아카데미에 참가하여 국군 모바일 단말 장치 관리 시스템(Army Mobile Device Management System)을 구현시키고자 합니다. 🔥
AMDM의 로고는 초승달과 자물쇠가 합쳐서 좋은 밤을 위해서는 보안을 잠그자 라는 뜻을 의미하고 있습니다.
- Android 6.0 (Marshmallow) 이상
- 휴대폰 NFC, 인터넷 기능 필수
- Python3.0 이상 필요
- AMDMServer가 실행되어있어야 정상적으로 작동함
- Python 3버전을 통해 개발
- TCP 소켓 통신 서버
- SQLite로 DB 구현
- 아두이노를 중심으로한 잠금장치 구현(조도센서,서보모터 이용)
- 라즈베리 ↔ 아두이노 간 I2C 통신을 통한 Master-Slave 아키텍처 구현
- 라즈베리 TCP 클라이언트 구현
- Fragment를 통하여 메인화면 구현
- BroadCast Receiver를 통해 안드로이드 켜질시 상태 구현
- chart 구현을 위해 MPAndroidChart를 사용하여 구현
- Lock구현을 위해 Screen 없애질때마다 커스텀 액티비티로 대체함
- TurnOnService 서비스 구현
- ${Git Home}/app-debug.apk
$ python3 ${Git Home}/AMDMServer/server.py
$ sqlite3
$ .open AMDMserver.sqlite3
- SplashActivity
- LoginMainActivity
- LoginActivity
- MainActivity
- MainLockFragment
- MainSetupFragment
- MainStaticsFragment
- TurnOnActivity
- TurnOnReceiver
- LockService
- 로그인 ID: admin PW: admin
- 서버통신 대체 : 3초 대기
- RFID 태그 대체 : 3초 대기
- Python3으로 이루어진 TCP 소켓 서버입니다.
- logs 폴더
- 서버의 로그를 저장하는 폴더입니다. D로 시작하면 Default, W로 시작하면 Warning, E로 시작하면 Error를 뜻합니다.
- util 폴더
- 서버의 전반적인 유틸에 관한 코드입니다.
- DBManager.py는 SQLite와 연결하기 위한 코드입니다.
- jsonManager.py는 데이터와 Json 끼리 교환하기 위한 코드입니다.
- serverLog.py는 로그저장하는 코드입니다.
- ServerTime.py는 서버의 시간을 체크하는 코드입니다.
참고 : 데이터 교환.txt
참고 : 데이터베이스 스키마.txt
- 김영호 ([email protected]), Github Id: yeonghokim
- 부규필 ([email protected]), Github Id: Qfeel-Dev