Skip to content

osamhack2020/APP_AMDM_KimChunma

Repository files navigation

AMDM(Army Mobile Device Management)

์ €ํฌ๋Š” RFID ๊ธฐ์ˆ ์„ ์ด์šฉํ•œ IoT ์žฅ์น˜์™€ ํœด๋Œ€์ „ํ™”๋ฅผ ํ†ต์ œํ•˜๋Š” APP์„ ๊ฐœ๋ฐœํ•˜์—ฌ ๊ตฐ์—์„œ์˜ ๋ณด์•ˆ/์•ˆ์ „์ ์ธ ์ธก๋ฉด์„ ๋”์šฑ ๊ฐ•ํ™”์‹œํ‚ค๋Š” ๊ฒƒ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ์ „๊ตฐ ์žฅ๋ณ‘๋“ค์˜ ํœด๋Œ€ํฐ ๊ด€๋ฆฌ๋ฅผ ์ „์‚ฐํ™” ์ฒ˜๋ฆฌ๋ฅผ ํ• ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ ํŒ€์€ ๊ตญ๋ฐฉ ์˜คํ”ˆ์†Œ์Šค ์•„์นด๋ฐ๋ฏธ์— ์ฐธ๊ฐ€ํ•˜์—ฌ ๊ตญ๊ตฐ ๋ชจ๋ฐ”์ผ ๋‹จ๋ง ์žฅ์น˜ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(Army Mobile Device Management System)์„ ๊ตฌํ˜„์‹œํ‚ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ”ฅ

๋กœ๊ณ 

Logo

AMDM์˜ ๋กœ๊ณ ๋Š” ์ดˆ์Šน๋‹ฌ๊ณผ ์ž๋ฌผ์‡ ๊ฐ€ ํ•ฉ์ณ์„œ ์ข‹์€ ๋ฐค์„ ์œ„ํ•ด์„œ๋Š” ๋ณด์•ˆ์„ ์ž ๊ทธ์ž ๋ผ๋Š” ๋œป์„ ์˜๋ฏธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ€์†Œ๊ฐœ ๋ฐ ํ”„๋กœ์ ํŠธ ์„ค๋ช… ๋™์˜์ƒ ๐Ÿ‘

AMDM ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ์ž๋ฃŒ(์ตœ์ข…๋ณธ)_22

๊ธฐ๋Šฅ ์„ค๊ณ„

๊ตฌ์„ฑ / ํ•„์ˆ˜ ์กฐ๊ฑด ์•ˆ๋‚ด (Prerequisites)

  • Android 6.0 (Marshmallow) ์ด์ƒ
  • ํœด๋Œ€ํฐ NFC, ์ธํ„ฐ๋„ท ๊ธฐ๋Šฅ ํ•„์ˆ˜
  • Python3.0 ์ด์ƒ ํ•„์š”
  • AMDMServer๊ฐ€ ์‹คํ–‰๋˜์–ด์žˆ์–ด์•ผ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•จ

๊ธฐ์ˆ  ์Šคํƒ (Technique Used)

Server(back-end)

  • Python 3๋ฒ„์ „์„ ํ†ตํ•ด ๊ฐœ๋ฐœ
  • TCP ์†Œ์ผ“ ํ†ต์‹  ์„œ๋ฒ„
  • SQLite๋กœ DB ๊ตฌํ˜„

IoT

  • ์•„๋‘์ด๋…ธ๋ฅผ ์ค‘์‹ฌ์œผ๋กœํ•œ ์ž ๊ธˆ์žฅ์น˜ ๊ตฌํ˜„(์กฐ๋„์„ผ์„œ,์„œ๋ณด๋ชจํ„ฐ ์ด์šฉ)
  • ๋ผ์ฆˆ๋ฒ ๋ฆฌ โ†” ์•„๋‘์ด๋…ธ ๊ฐ„ I2C ํ†ต์‹ ์„ ํ†ตํ•œ Master-Slave ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„
  • ๋ผ์ฆˆ๋ฒ ๋ฆฌ TCP ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„

Android

  • Fragment๋ฅผ ํ†ตํ•˜์—ฌ ๋ฉ”์ธํ™”๋ฉด ๊ตฌํ˜„
  • BroadCast Receiver๋ฅผ ํ†ตํ•ด ์•ˆ๋“œ๋กœ์ด๋“œ ์ผœ์งˆ์‹œ ์ƒํƒœ ๊ตฌํ˜„
  • chart ๊ตฌํ˜„์„ ์œ„ํ•ด MPAndroidChart๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„
  • Lock๊ตฌํ˜„์„ ์œ„ํ•ด Screen ์—†์• ์งˆ๋•Œ๋งˆ๋‹ค ์ปค์Šคํ…€ ์•กํ‹ฐ๋น„ํ‹ฐ๋กœ ๋Œ€์ฒดํ•จ
  • TurnOnService ์„œ๋น„์Šค ๊ตฌํ˜„

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ (System Architecture)

AMDM ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ์ž๋ฃŒ(์ตœ์ข…๋ณธ)_7

์‹œ์Šคํ…œ ๋ผ์ดํ”„์‚ฌ์ดํด (System LifeCycle)

๋ฐ˜๋‚ฉ ์‚ฌ์ดํด

AMDM ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ์ž๋ฃŒ(์ตœ์ข…๋ณธ)_9

๋ถˆ์ถœ ์‚ฌ์ดํด

AMDM ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ์ž๋ฃŒ(์ตœ์ข…๋ณธ)_8

์„ค์น˜ ์•ˆ๋‚ด (Installation Process)

Android apk ์‹คํ–‰

  • ${Git Home}/app-debug.apk

Python ์„œ๋ฒ„ ์‹คํ–‰

$ python3 ${Git Home}/AMDMServer/server.py

SQLite ์‹คํ–‰(ํ•„์š”์‹œ)

$ sqlite3
$ .open AMDMserver.sqlite3

ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ๋ฒ• (Getting Started)

  1. Android
  2. Server
  3. IoT์žฅ๋น„์™€ ๋ฐ์ดํ„ฐ ๊ตํ™˜
  4. Android์™€ ๋ฐ์ดํ„ฐ ๊ตํ™˜
  5. DataBase(SQLite)

Android

ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ

  • SplashActivity
  • LoginMainActivity
  • LoginActivity
  • MainActivity
    • MainLockFragment
    • MainSetupFragment
    • MainStaticsFragment
  • TurnOnActivity
  • TurnOnReceiver
  • LockService

์ฐธ๊ณ ์‚ฌํ•ญ

  • ๋กœ๊ทธ์ธ ID: admin PW: admin
  • ์„œ๋ฒ„ํ†ต์‹  ๋Œ€์ฒด : 3์ดˆ ๋Œ€๊ธฐ
  • RFID ํƒœ๊ทธ ๋Œ€์ฒด : 3์ดˆ ๋Œ€๊ธฐ

Server

  • Python3์œผ๋กœ ์ด๋ฃจ์–ด์ง„ TCP ์†Œ์ผ“ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

์ฝ”๋“œ ์†Œ๊ฐœ

  1. logs ํด๋”
    • ์„œ๋ฒ„์˜ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๋Š” ํด๋”์ž…๋‹ˆ๋‹ค. D๋กœ ์‹œ์ž‘ํ•˜๋ฉด Default, W๋กœ ์‹œ์ž‘ํ•˜๋ฉด Warning, E๋กœ ์‹œ์ž‘ํ•˜๋ฉด Error๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.
  2. util ํด๋”
    • ์„œ๋ฒ„์˜ ์ „๋ฐ˜์ ์ธ ์œ ํ‹ธ์— ๊ด€ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    • DBManager.py๋Š” SQLite์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    • jsonManager.py๋Š” ๋ฐ์ดํ„ฐ์™€ Json ๋ผ๋ฆฌ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    • serverLog.py๋Š” ๋กœ๊ทธ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    • ServerTime.py๋Š” ์„œ๋ฒ„์˜ ์‹œ๊ฐ„์„ ์ฒดํฌํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

IoT์žฅ๋น„ ๋ฐ์ดํ„ฐ ๊ตํ™˜

์ฐธ๊ณ  : ๋ฐ์ดํ„ฐ ๊ตํ™˜.txt

DataBase (SQLite)

์ฐธ๊ณ  : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ.txt

ํŒ€ ์ •๋ณด (Team Information) ๐Ÿ’™

์ €์ž‘๊ถŒ ๋ฐ ์‚ฌ์šฉ๊ถŒ ์ •๋ณด (Copyleft / End User License)

์ด๋ฏธ์ง€

์ฝ”๋“œ

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published