(1) 전송 ( 응답 방식이 아님)
gps -> bluetooth -> 스마트폰 에서
gps 에서 출력되는 자료를 bluetooth 에서 수신후 스마트폰으로 전송
(2) 최대 속도
gps -> bluetooth 의 전송 속도 는 일반적으로 115200 bps
bluetooth -> 스마트폰 전송속도 (이론상 3.0) 2.1 Mega bit/s = 2.1 * 1000000 bps
(3) 최소 자료수(nmea 설정에 따라 변경 가능)
gps에서 횟수 1번의 싸이클에 1번에 전송되는 nmea 자료수 최소 (위성이 인식 되기전 )
$GNGST, (59byte) ,$GNRMC, (42 byte) ,$GNVTG, (21 Byte),$GNGGA, (42 byte) ,$GNGSA, (47 byte)
$GNGSA, (47 byte) ,$GNGSA, (47 byte) ,$GNGSA, (47 byte) ,$GPGSV, (36 byte) ,$GLGSV, (26 byte)
$GAGSV, (20 byte) ,$GAGSV, (20 byte) ,$GNGLL,, (29 byte)
최소 483 byte * (위성의 위치가 고정되면 자료가 늘어남 ) 483 은 최대가 아님..,
실제 1 byte = 1 byte * 8 bit + 2 bit start, stop 까지 4830 bit 가 전송됨.
(4) gps Rate를 1Hz
rate 를 9600 ,N,8,1 인경우 1 초에 483 * 10 = 4830 bit 는 충분히 가능.
(5) gps Rate를 5Hz
GPS 의 RATE 를 5hz 로 하는 경우 4830 * 5 = 24150 전송이 되어야 하므로
9600인경우 모든 자료를 전송 불가능.
5HZ 인경우 최소한 38400 이상으로(중간에 문제 가능성이 있음)
(5) gps Rate를 20 Hz 인경우
96600pbs 이므로 115200bps 으로 작업 해야함.
(6) 결론 계산필요 없이 불루투의 최대 속도와 gps 의 최대 속도를 지정하면, 115200
제기준으로 거의 모든 serial (485,422,232) 통신 자료는 115200 으로 작업 합니다.
** 혹시 bluetooth와 gps 가 끈김 현상이 자주 있는 경우 gps 의 꼭 필요한 nmea 만 선택하고
속도를 38400 또는 57600(가능한 57600) 으로 하면 약간(?)은 개선됨.
속도를 높여 주는것이 프로그램에서 통신 하지 않는 시간을 확보해 주어야 통신 안하는 시간 사이에
다른 작업을 할수가 있음.
혹시 설명이 잘못된 부분이 있을수 있습니다.(알려주시면 수정 하겠습니다)
최소 483 byte 수는 변화가 많아서 직접 수신 한자료의 개수를 직접 확인한 자료 입니다.