'지식' 카테고리의 다른 글
Git관련 (0) | 2015.01.16 |
---|---|
ASCII 코드표(확장포함) (0) | 2014.05.29 |
Network byte order (0) | 2013.04.03 |
VMware 자동시작 방법 (0) | 2013.02.08 |
SVN 관련 (0) | 2012.08.10 |
Git관련 (0) | 2015.01.16 |
---|---|
ASCII 코드표(확장포함) (0) | 2014.05.29 |
Network byte order (0) | 2013.04.03 |
VMware 자동시작 방법 (0) | 2013.02.08 |
SVN 관련 (0) | 2012.08.10 |
출처 : http://aquayo.blog.me/80050192618
사용하고 있는 GPS 수신기의 데이타 인터페이스 포맷이 NMEA-0183 이다.
NMEA-0183 포맷은 아래와 같다.
NMEA: National Marine Electronics Association
NMEA 에서는 GNSS, GPS, Loran, Omega, Transit 등 다양한 애플리케이션을 위한 데이타셋을 정의하고 있다.
아래는 GPS 를 위한 7가지 데이타 셋이다.
NMEA 프로토콜의 구조
8비트 아스키 문자를 사용하여 4800 Baud 로 데이타를 전송한다. 패리티 비트는 사용하지 않는다.
각 GPS 데이타셋은 다음과 같은 구조로 이루어져 있다.
$GPDTS,Inf_1,Inf_2,Inf_3,Inf_4,Inf_5,Inf_6,Inf_n*CS<CR><LF>
필드 |
내용 |
$ | 데이타셋의 시작을 나타낸다. |
GP | GPS 정보를 나타낸다. |
DTS | 데이타셋의 식별자. |
Inf_1 bis Inf_n | 1 ... n 정보 (예, course data 를 위한 175.4) |
, | 서로 다른 정보를 나타내는 아이템간의 구분문자 |
* | checksum 을 위한 구분 문자 |
CS | 전체 데이타셋을 검사하기 위한 첵섬(Control Word) |
<CR><LF> | 데이타셋의 끝. |
1. GGA 데이타 셋
GGA 데이타셋은 시간, longitude, latitude, 시스템의 품질, 사용중인 위성의 수, Height 에 대한 정보를 나타낸다.
데이타 예제
$GPGGA,004952,3723.8259,N,12655.3071,E,1,04,04.7,00046.9,M,018.1,M,,*4F
개별 문자의 값 과 내용
필드 |
내용 |
$ | GGA 데이타셋의 시작 |
GP | GPS 어플라이언스로부터 만들어진 정보 |
GGA | GGA 데이타셋 식별자 |
004952 | UTC Positional Time: 00시 49분 52초 |
3723.8259 | Latitude: 37도23.8259분 |
N | 북위 (N=north, S=South) |
12655.3071 | Longitude: 126도 55.3071분 |
E | 동경 (E=East, W=West) |
1 | GPS (0= no GPS, 1=GPS, 2=DGPS) |
04 | 계산을 위해 사용한 위성의 갯수 |
04.7 | HDOP(Horizontal Dilution of Precision) |
00046.9 | 안테나 높이 (Geoid Height) |
M | 높이 단위(M=meter) |
018.1 | Ellipsoid 와 Geoid 간의 높이 차이 |
M | 높이 차이의 단위(M=meter) |
DPGS 데이타의 Age (No DGPS) | |
* | 첵섬 구분자 |
4F | 전체 데이타 검증을 위한 첵섬값 |
<CR><LF> | 데이타 종료 |
필드 |
내용 |
$ | GLL 데이타의 시작 |
GP GLL | GLL 데이타셋 식별자 |
4717.115 | Latitude: 47도 11.115분 |
N | 북위(N=north,S=south) |
00833.912 | Logitude: 8도 33.912분 |
E | 동경(E=East, W=West) |
130305.0 | UTC 시간: 13시 3분 5.0초 |
A | 데이타셋 품질: A(Valid), V(Invalid) |
* | 첵섬 구분자 |
32 | 첵섬 |
<CR><LF> | 데이타 종료 |
필드 |
내용 |
$ | 데이타의 시작 |
GP | GPS 어플라이언스 정보 |
GSA | GSA 데이타셋 식별자 |
A | 계산 모드(A = 2D/3D 모두간의 자동선택, M=수동 선택) |
3 | 3차원 계산 모드(1=none, 2=2D, 3=3D) |
13 | 계산에 사용된 위성의 번호 (13번 위성) |
16 | 계산에 사용된 위성의 번호 (16번 위성) |
19 | 계산에 사용된 위성의 번호 (19번 위성) |
23 | 계산에 사용된 위성의 번호 (23번 위성) |
계산에 사용된 위성의 번호 | |
계산에 사용된 위성의 번호 | |
계산에 사용된 위성의 번호 | |
계산에 사용된 위성의 번호 | |
계산에 사용된 위성의 번호 | |
계산에 사용된 위성의 번호 | |
19.3 | PDOP (Position DOP) |
04.7 | HDOP (Horizontal DOP) |
18.7 | VDOP (Vertical DOP) |
* | 첵섬 구분자 |
08 | 첵섬 |
<CR><LF> | 데이타 종료 |
필드 |
내용 |
$ | 데이타의 시작 |
GP | GPS 어플라이언스 정보 |
GSV | GSV 데이타셋 정보 |
2 | 전송된 GVS 데이타 셋의 전체 수( 1..9) |
1 | 현재 GVS 데이타 셋 번호 (1..9) |
05 | 관측되는 전체 위성의 수 |
13 | 첫번째 위성의 식별 번호 13번 |
33 | 위성의 고도 33도 (0 ...90 도) |
295 | 위성의 방위각 295도 (0..360도) |
40 | 위성의 Signal-to-noise 비율 40(db-Hz) (1..99, 추적되지 않을 때 NULL) |
16 | 두번째 위성의 식별 번호 16번 |
57 | 위성의 고도 57도 |
043 | 위성의 방위각 43도 |
41 | 위성의 Signal-to-noise 비율 41(db-Hz) |
19 | 세번째 위성의 식별 번호 19번 |
42 | 위성의 고도 42도 |
212 | 위성의 방위각 212도 |
41 | 위성의 Signal-to-noise 비율 41(db-Hz) |
23 | 네번째 위성의 식별 번호 23번 |
40 | 위성의 고도 40도 |
249 | 위성의 방위각 249도 |
38 | 위성의 Signal-to-noise 비율 38(db-Hz) |
* | 첵섬 구분값 |
7B | 첵섬 |
필드 |
내용 |
$ | 데이타의 시작 |
GP | GPS 어플라이언스 정보 |
RMC | RMC 데이타셋 식별자 |
004952 | 수신 시간 (UTC), 00시 49분 52초 |
A | 데이타셋 품질 (A=Valid, V=Invalid) |
3723.8259 | Latitude: 37도 23.8259분 |
N | 북위 |
12655.3071 | Longitude: 126도 55.3071분 |
E | 동경 |
000.0 | 속도: 0 Knots |
088.7 | 경로: 88.7 도 |
291107 | 시간: 2007년 11월 29일 (DDMMYY) |
보정 편차 | |
보정 편차 방향(W=West, E=East) | |
A | |
* | 첵섬 구분자 |
72 | 첵섬 |
필드 |
내용 |
$ | 데이타의 시작 |
GP | GPS 어플라이언스 정보 |
VTG | VTG 데이타 셋 식별자 |
088.7 | 수평 경로 88.7도 (T) |
T | 지도에 대응하는 Angular Course |
수평경로 0 도 (M) | |
M | 자기장에 대응하는 Angular Course |
000.0 | 수평 속도 (N) |
N | 속도 단위 (knots) |
000.0 | 수평 속도 (km/h) |
K | 속도 단위 (km/h) |
A | 데이타 셋 품질로 보임..(A=Valid, V=Invalid) |
* | 첵섬 구분자 |
0A | 첵섬 |
필드 |
내용 |
* | 데이타의 시작 |
GP | GPS 어플라이언스 정보 |
ZDA | ZDA 데이타셋 |
130305.2 | UTC 시간: 13시3분 5.2초 |
20 | Day (00.31) |
06 | Month (01..12) |
2001 | Year |
Local Time 일자 예약 (HH) | |
Local Time 일자 예약 (MM) | |
* | 첵섬 구분자 |
문자 | 아스키 (8비트 값) | ||||||||
G | 0x47 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
P | 0x50 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
V | 0x56 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
T | 0x54 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
G | 0x47 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
8 | 0x38 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
8 | 0x38 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
. | 0x2E | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
7 | 0x37 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
T | 0x54 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
M | 0x4D | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
. | 0x2E | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
N | 0x4E | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
. | 0x2E | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
0 | 0x30 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
K | 0x4B | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
, | 0x2C | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
A | 0x41 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
XOR 합 | 0x0A | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
4bit(Nibble) | 0 0 0 0 | 1 0 0 0 | |||||||
Hex 값 | 0x00 | 0x0A | |||||||
ASCII CS 값 | 0 | A |
HDOP 정의 링크
GPS튀는 현상 설명
http://blog.daum.net/commeca/8907691
참고
https://techlog.gurucat.net/239
모바일 프로그램 (0) | 2013.12.03 |
---|---|
GPS NMEA-0183 포맷 (0) | 2013.07.03 |
음계 표준주파수 (0) | 2012.06.21 |
Network byte order
출처 : http://stone.backrush.com/sunfaq/ljs003.html
* Big endian 방식 사용
Axil S/E-ljs046
1994.10.4
Lee Jin-Soo
SUBJECT: NETWORK에서 사용되는 Byte Order는?
####### NETWORK BYTE ORDER #######
o 불행히도 모든 컴퓨터가 여러 바이트로 된 데이타의 저장시 같은 바이트 순서를 따르지 않는다.
8-비트 바이트를 사용하지 않는 컴퓨터들은 사라져 가고 있지만 바이트의 순서에 대해서는 명확한
표준이 없으므로 문제점으로 남아 있다.
2바이트로 이루어진 16-비트 정수의 경우를 예로 들어 보면 이것의 저장 방법에는 하위 바이트를 먼저
두는것 - 이를 little endian이라고 한다 -과 상위 바이트를 먼저 두는 것 - 이를 big endian이라고한다 -이
있다.
첫번째의 경우는 다음과 같다.
Little endian byte order ---------------------------------------------------------
| high-order byte | low-order byte |
---------------------------------------------------------
↑ ↑
addr A+1 addr A
여기서 오른편에서 왼편으로 주소가 증가한다.
낮은 주소가 낮은 바이트라는 논리이다.
Big endian byte order ---------------------------------------------------------
| high-order byte | low-order byte |
---------------------------------------------------------
↑ ↑
addr A addr A+1
여기서는 왼쪽편에 있는 것이 오른편보다 낮은 주소이다
현재 컴퓨터 시스템에서 많이 쓰이고 있는 바이트 순서는 다음과 같다.
--------------------------------------------------------------------
| big endian : sparc, IBM 370, Motorola 68000, Pyramid |
--------------------------------------------------------------------
| little endian : Intel 80x86(IBM PC), DEC VAX, DED PDP-11 |
--------------------------------------------------------------------
32 비트 정수의 경우에는 이런 현상이 심각하다. 시스템에 따라 16 비트 부분이 서로 바뀌어 있다.
전산망 규약에서 이 문제에 대한 해결 방법은 망 바이트의 순서를 확정짓는 것이다.
TCP/IP, XNS, SNA 규약들은 규약 머릿부에 쓰이는 16-비트 정수와 32-비트 정수에 모두
big endian을 사용한다. (실수 데이타 부분에 대해서는 차이가 심하지만 다행이 규약에서는 정수 영역만
다룬다)
참고 : http://fattarzan.tistory.com/entry/htonl-htons-ntohl-ntohs
참고 : http://choong0121.tistory.com/entry/네트워크-바이트-순서Network-byte-Ordering
ASCII 코드표(확장포함) (0) | 2014.05.29 |
---|---|
단위 환산표 (0) | 2013.07.03 |
VMware 자동시작 방법 (0) | 2013.02.08 |
SVN 관련 (0) | 2012.08.10 |
Windows XP Mode 쉽게 재설치하는 방법 (0) | 2012.07.03 |
[bat 파일 생성]
PATH = c:\Program Files (x86)\VMware\VMware Workstation\;%PATH%
vmrun.exe -T ws start d:\VMware\Machines\Win7x32\Win7x32.vmx nogui
[시작프로그램 등록]
bat파일 링크하여 등록
[참고]
[주의사항 -- 악성코드]
http://hummingbird.tistory.com/4954
단위 환산표 (0) | 2013.07.03 |
---|---|
Network byte order (0) | 2013.04.03 |
SVN 관련 (0) | 2012.08.10 |
Windows XP Mode 쉽게 재설치하는 방법 (0) | 2012.07.03 |
null modem emulator (0) | 2012.06.12 |
리눅스를 쓰는 분들은 심볼릭 링크라는것에 익숙합니다. 'ln -s' 명령으로 사용하죠.
제가 윈도우7에서 심볼릭 링크를 사용하려는 이유는 아이팟의 백업 디렉토리를 다른 드라이브로 옮기기 위함입니다. c 드라이브의 용량이 그다지 크지 않기도 하고, c 드라이브는 os 용이라 백업은 다른 드라이브에 해 두려는 것이죠.
제가 참고한 웹페이지는 http://snoopybox.co.kr/1400 이곳이고 직접보시면 자세히 설명되어 있습니다. xp에선 별도의 프로그램을 사용해야 한다는군요.
위의 링크의 설명을 보시면 아시겠지만 심볼릭링크를 이용하면 저렇게 c 드라이브의 내용을 다른 드라이브로 옮기고 심볼릭링크를 걸어주면 해당 파일들이 c 드라이브에 있는것처럼 사용할 수가 있습니다.
링크에도 설명되어 있지만 간단히 사용법을 적어보자면.....
이런식으로 사용하면 됩니다.
주의하실점이 하나 있는데....항상그런건 아니지만 윈도우7 에서는 관리자 권한을 갖지 않으면 파일의 삭제/생성 등이 안되는 디렉토리가 있습니다. 이런곳을 이용 하실땐 관리자권한으로 콘솔(명령프롬프트)를 열어 합니다.
혹시나 싶어서 이야기 하는 겁니다만....따옴표의 경우는 디렉토리명에 빈칸이 있을 경우는 써줘야 하고 빈칸이 없을 경우 사용하지 않아도 됩니다.
Windows 10 19H2 1909 (0) | 2019.10.04 |
---|---|
Hyper-V 네트워크 설정 (0) | 2017.04.26 |
Win7에서 자동 로그온을 설정하는 방법 (0) | 2012.07.11 |
윈도우7 USER-PE 로 윈도우7 을 설치하는 방법 (0) | 2012.06.23 |
윈도우7 예약파티션 없이 설치하기 (0) | 2012.06.23 |
ESP개발환경 (0) | 2020.04.15 |
---|---|
안드로이드 개발자 가이드 문서 (0) | 2013.02.09 |
프로젝트(소스) 관리
1) VisualSVN Server : http://www.visualsvn.com/server/
2) TortoiseSVN client : http://tortoisesvn.net/
3) AnkhSVN (visual studio 2005 ~ 지원) : http://ankhsvn.open.collab.net/
명령어 (svn, svnadmin)
svnadmin --> http://glotalk.egloos.com/1470266
svn-win32 : http://alagazam.net/
특정권한
http://mugrammer.tistory.com/59
Network byte order (0) | 2013.04.03 |
---|---|
VMware 자동시작 방법 (0) | 2013.02.08 |
Windows XP Mode 쉽게 재설치하는 방법 (0) | 2012.07.03 |
null modem emulator (0) | 2012.06.12 |
무료 가상시리얼 에뮬레이터 (0) | 2012.06.12 |
Win7 에서 자동 로그온을 설정하는 방법
Hyper-V 네트워크 설정 (0) | 2017.04.26 |
---|---|
Win7 심블릭 생성하는 방법 (0) | 2013.01.10 |
윈도우7 USER-PE 로 윈도우7 을 설치하는 방법 (0) | 2012.06.23 |
윈도우7 예약파티션 없이 설치하기 (0) | 2012.06.23 |
컴맹탈출구(윈도우7) (0) | 2012.06.23 |