SYSTEM
● 회원가입
● 디바이스 장치등록 및 삭제
● 선택한 디바이스 실시간 위치 조회
사용자(APP)
Aniroid서버(관리자)
● 회원관리
● 각 회원 디바이스 관리
● 각 회원 디바이스 위치정보 조회
● 회원에게 GPS데이터 및 추가센서 부착시 추가정보 제공
● Aniroid 서버는 기본적으로 모든 데이터를 필요로 하는
동작을 SKT의 ThingPlug서버에 신호를 요청하고 전달받는
구조(회원가입, 로그인, 장치등록, 위치조회 등)
ThingPlug(SKT측)
● Aniroid 서버가 요청하는 디바이스의 데이터를 전국에
퍼져있는 기지국중 디바이스와 가장 가까운 기지국으로
부터 수신
● 디바이스의 센서를 통해 얻어낸 데이터를 Aniroid 서버로
송신
SERVER & DB
서버에서의 MongoDB 설계 구조(유저 객체)
● _id : 유저의 아이디 (기본키 개념)
● memberPasswd : 유저의 비밀번호
● memberName : 유저의 이름
● device : 유저가 가진 장치
(배열로써 여러개 소지 가능)
● device - _id : 해당 디바이스의 고유번호
● device - deviceId : 해당 장치의 이름
● device - con : 해당 디바이스가 가지는 정보
● device - con - _id : 해당 디바이스에 체크되는 시간
● device - con - x : 해당 디바이스의 지도상 x좌표
● device - con - y : 해당 디바이스의 지도상 y좌표
서버에서의 Request 요청 처리 구조(JSON)
● APP에서 유저가 회원가입을 시도하면 POST
방식으로 /memberreg 라는 신호가 서버로 도착
● JSON 형태(key, value)로 데이터가 정상적으로
도착하면 APP쪽에서 도착한 data를 user객체에 저장
● 중복된 데이터가 없으면 DB에 저장 성공 후 회원가입
완료 그렇지 않으면 실패
● 이 외에도 로그인, 장치등록, 장치삭제 등 많은 POST
요청을 처리할 수 있도록 구현함
MongoDB에 저장된 데이터 조회
● MongoDB 커맨드창에서 find()명령어를 사용해
데이터를 조회
● pcm5629의 사용자의 데이터 및 등록된 디바이스
확인 가능
● device와 con데이터는 배열로 선언되어 있음으로
여러 값을 가질 수 있음
● _id, x, y에 위도 경도, 시간등의 정보를 저장
● 양방향 통신임으로 해당 데이터를 사용자에게 전달
하거나(사용자:디바이스 위치조회) 전달 받아서
갱신 가능(사용자:디바이스 추가 & 제거)