사용자 도구

사이트 도구


jaunt_maunal

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

jaunt_maunal [2020/04/14 08:25]
jaunt_maunal [2021/04/13 06:54] (현재)
줄 1: 줄 1:
 +===== Jaunt Manual =====
 +Traccar Document: [[https://www.traccar.org/documentation/]]
  
 +DBMS: [[https://www.postgresql.org/docs/|Postgresql]]
 +
 +DB 접속 GUI 클라이언트는 [[https://www.pgadmin.org/download/|pgadmin4]]가 사용가능하다.
 +
 +웹 환경 클라이언트가 아닌 동일 페이지의 pgadmin3도 사용 가능, 접속 경고(postgresql 버전 경고)가 발생하나 무시하고 사용할 수 있다.
 +
 +==== 테이블 설명 ====
 +Traccar를 DB에 연동하면 자동으로 테이블이 자동 생성된다.
 +
 +{{:그림2.png?400|}}
 +
 +주목해야할 테이블은 position과 devices 테이블이다.
 +
 +position 테이블에는 위도 경도 고도를 포함한 클라이언트가 위치정보를 발송한 순간의 여러가지 데이터들이 포함되어있다. (배터리 잔량 등)
 +
 +다만 position의 id로는 장치를 식별할 수 없다. 서버가 구분하기 용이하도록 직접 부여한 id이기 때문이다.
 +
 +따라서 Traccar를 사용할 때 클라이언트에서 입력한 식별자와 매칭해줄 필요가 있다.
 +
 +2015 CRC 실험 당시에는 클라이언트 설치 시 핸드폰 끝 네자리 또는 다섯자리를 입력하도록 하게 했다.
 +
 +이 정보가 devices 테이블에서 name, uniqueid 부분을 통해 알 수 있다.
 +
 +따라서 position 과 클라이언트 정보를 매칭하기 위해 두 테이블을 조인할 필요가 있고, 다음의 SQL을 참조하라.
 +
 +<code>
 + select * from positions, devices where positions.deviceid = devices.id;
 +</code>
 +
 +<code>
 +COPY (select * from positions p, devices d where p.deviceid=d.id AND d.uniqueid IN (SELECT uniqueid FROM devices WHERE uniqueid LIKE ######)) TO '#########' DELIMITER ';' CSV HEADER;
 +</code>
 +
 +<code>
 +select d.name, p.* from tc_positions p, tc_devices d where p.deviceid = d.id and d.id IN (select id from tc_devices where name=ANY('{ }'))
 +</code>