Tất cả các dữ liệu GPS gửi về từ vệ tinh đều theo một tiêu chuẩn nhất định. Đó là chuẩn NMEA. Vậy chuẩn NMEA là gì? Hiệp hội Điện tử Hàng hải Quốc gia (National Marine Electronics Association) viết tắt NMEA là một định nghĩa tổng hợp điện tử và dữ liệu cho việc giao tiếp giữa các thiết bị như máy đo vận tốc và hướng gió, la bàn, autopilot, máy thu GPS, .v.v. Đây chính là chuẩn giao tiếp cho các chip thu GPS trả ra toạ độ cho các thành phần khác, như là chip xử lý để tính ra toạ độ, hay thiết bị khác đang cần thông tin chuẩn này, …. Để hiểu nhau, tất cả phần tử trong một hệ thống phải thống nhất với nhau.
❖ Giới thiệu chung
Tất cả các thông điệp NMEA đều có dạng:
$AACCC, data_messages*hh<CR><LR> Bảng 2.1: Mô tả tổng quan thông điệp NMEA
Đối tượng Mô tả
“$” Dùng để bắt đầu thông điệp
AACCC Tên thông điệp. “AA” đại điện cho GPS, “CCC” xác định loại thông điệp
“,” Dấu tách dữ liệu data_messages Dữ liệu của thông điệp “*” Dấu tách để kiểm tra
hh Trường kiểm tra
<CR><LF> Kết thúc thông điệp
Note: hh gồm hai ký tự và được biểu hiện bằng số hex Bảng 2.2: Cấu trúc của thông điệp NMEA
Bắt đầu thông điệp
Tên thông điệp Dữ liệu của thông điệp Trường kiểm tra Kết thúc thông điệp $ AACCC data_messages *< hh > <CR><LF>
26
❖ Ý nghĩa tên thông điệp
Bảng 2.3: Mô tả của Tên thông điệp
Tên thông điệp Mô tả
$GNGGA Thời gian, vị trí, và sửa dữ liệu liên quan đến phần nhận $GPGSA
$BDGSA
Sử dụng để đại diện cho địa chỉ IP của vệ tinh. $GPGSA là thông điệp của vệ tinh GPS, $BDGSA là thông điệp của vệ tinh Beidou.
$GPGSV $BDGSV
Thông tin của vệ tinh đang được theo dõi về độ cao, góc phương vị, CNR. $GPGSV là thông điệp của vệ tinh GPS, $BDGSV là thông điệp của vệ tinh Beidou.
$GNRMC Thời gian, ngày, vị trí, hướng và tốc độ dữ liệu $GNVTG Hướng và tốc độ tương đối với mặt đất
$GNACC
❖ Phân tích “CCC” của Tên thông điệp
Mục đích của việc phân tích này là đọc và chuyển đổi được vị trí GPS từ chuẩn NMEA sang tọa độ có thể đưa lên được Google Map. Vì vậy chúng em sẻ tập trung phân tích vào phần “GGA” của tên thông điệp vì đây là nơi có chứ thông tin GPS.
• GGA: Global Positioning System Fix Data
$--GGA,hhmmss.ss,llll.lll,a,yyyyy.yyy,a,x,uu,v.v,w.w,M,x.x,M,,zzzz*hh<CR><LF>
Bảng 2.4: Mô tả “GGA” của Tên thông điệp
Đối tượng Tên Mô tả
Hhmmss.ss UTC Time Thể hiện thời gian theo UTC, (000000.000- 235959.999)
Llll.lll Vĩ độ Vĩ độ theo dạng ddmm.mmmm A Hiển thị N/S “N”= North, “S”= South
Yyyyy.yyy Kinh độ Kinh độ theo dạng dddmm.mmmm A Hiện thị E/W “E”= East, “W”= West
X Hiện thị chất lượng GPS
0: GPS không cần sửa lỗi
27
2: GPS được sửa đổi hợp lệ, chế độ GPS vi sai 4: RTK Fix coordinate ( chính xác centi-mét) 5: RTX Float (chính xác deci-mét)
Uu Vệ tinh sữ dụng Số vệ tinh sử dụng
v.v HDOP Chính xác theo phương ngang (00.0-99.9)
w.w Độ cao Độ cao trung bình mực nước biển (-9999.9 – 17999.9) đơn vị mét
x.x Phân tách địa lí Đơn vị mét Zzzz DGPS ID trạm
hiểu chỉnh
ID trạm điều khiển, 0000-1023, Null khi DGPS không được sữ dụng
Hh Trường kiểu tra Ví dụ:
$GNGGA,082544.091,1051.1419,N,10646.4537,E,0,1,,0.1,M,2.8,M,,*68
• 082544.091: 08 giờ, 25 phút 44.091 giây theo giờ UTC, chuyển sang múi giờ Việt Nam : 15h, 25 phút , 44.091 giây
• 1051.1419: vĩ độ, 10 + (51.1419/60=0.852365) = 10.852365 là tọa độ đưa lên google map
• N: North, hướng Bắc
• 10646.4537: kinh độ, 106 + (46.4537/60 = 0.774228) =106,774228 là tọa độ đưa lên google map
• E: East, hướng Đông • 0: GPS không cần sửa lỗi • 1: sử dụng 1 vệ tinh
• 0.1: chính xác theo phương ngang (m) • 2.8: phân tách địa lý (m)
28
• GSA: GNSS DOP and Active Satellites
$--GSA,a,x,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,u.u,v.v,z.z*hh<CR><LF> Bảng 2.5: Mô tả “GSA” của Tên thông điệp
Đối tượng Tên Mô tả
A Chế độ “M”: Thủ công, buộc phải hoạt động ở 2D hoặc 3D
“A”: Tự động, được phép tự động chuyển 2D/3D X Chế độ 1: sửa lỗi không khả dụng
2: 2D 3: 3D
Xx’s ID vệ tinh 01-32: GPS, 33-64: SBAS, 65-96: GLONASS, 193-197: QZSS, 1-37: Beidou. Tối đa 12 vệ tinh ở mỗi GSA
u.u PDOP Chính xác của vị trí (00.0-99.9)
v.v HDOP Chính xác theo phương ngang (00.0-99.9) z.z VDOP Chính xác theo phương dọc (00.0-99.9) Hh Trường kiểm tra
• GSV: GNSS Satellites in View
$--GSV,x,u,xx,uu,vv,zzz,ss,uu,vv,zzz,ss,…,uu,vv,zzz,ss*hh<CR><LF> Bảng 2.6: Mô tả “GSV” của Tên thông điệp
Đối tượng Tên Mô tả
X Số lượng thông điệp
Tổng số thông điệp của GSV được truyền đi
U Số thứ tự Số thứ tự của thông điệp GSV
xx Vệ tinh Tổng số vệ tinh trong tầm nhìn (00-12)
Uu ID vệ tinh 01-32: GPS, 33-64: SBAS, 65-96: GLONASS, 193-197: QZSS, 1-37: Beidou. Tối đa 12 vệ tinh ở mỗi GSA
29
Zzz Góc phương vị Góc phương vị của vệ tinh theo độ (000-359)
Ss SNR C/N0 dB (00-99)
Hh Trường kiểm tra
• RMC: Recommended Minimum Specific GNSS Data
$--RMC,hhmmss.sss,x,llll.lll,a,yyyyy.yyy,a,x.x,u.u,xxxxxx,,,v*hh<CR><LF> Bảng 2.7: Mô tả “RMC” của Tên thông điệp
Đối tượng Tên Mô tả
Hhmmss.ss UTC Time Thể hiện thời gian theo UTC, (000000.000- 235959.999)
X Trạng thái “V”: cảnh báo điều hướng “A”: dữ liệu hợp lệ
Llll.lll Vĩ độ Vĩ độ theo dạng ddmm.mmmm A Hiển thị N/S “N”= North, “S”= South
Yyyyy.yyy Kinh độ Kinh độ theo dạng dddmm.mmmm A Hiện thị E/W “E”= East, “W”= West
x.x Tốc độ trên mặt đất
Đo bằng hải lí (000.0-999.9) u.u Hướng trên mặt
đất
Đo theo độ (000.0-359.9)
Xxxxxx UTC ngày Ngày được sửa theo UTC, dạng ddmmyy V Chế độ hiện thị “N”: dữ liệu không hợp lệ
“A”: chế độ tự động “D”: chế độ khác “E”: chế độ ước tính
Hh Trường kiểm
30
• VTG: Course Over Ground and Ground Speed
$--VTG,x.x,T,y.y,M,u.u,N,v.v,K,m*hh<CR><LF> Bảng 2.8: Mô tả “VTG” của Tên thông điệp
Đối tượng Tên Mô tả
x.x Hướng Hướng trên mặt đất, độ True (000.0-359.9) y.y Hướng Hướng trên mặt đất, độ Magnetic (000.0-359.9)
Độ nhiễu của thiết bị
u.u Tốc độ Tốc độ trên mặt đất, đơn vị Hải lý (000.0-1800.0) v.v Tốc độ Tốc độ trên mặt đất, đơn vị Km/h (000.0-1800.0) m Chế độ “N”: không hợp lệ “A”: chế độ tự động “D”: chế độ khác “E”: chế độ ước tính Hh Trường kiểm tra