Một số tập lệnh AT cơ bản sử dụng cho ứng dụng GSM
5.1. Các thuật ngữ.
<CR> : Carriage return (0x0D).
<LF> : Line Feed (0x0A).
MT : Mobile Terminal . Thiết bị đầu cuối mạng (trong
trường hợp này là module SIM548).
TE : Terminal Equipment. Thiết bị đầu cuối (máy
tinh, hệ vi điều khiển).
5.2. Các lệnh thiết
lập và cài đặt cho cuộc gọi
ATA
|
Trả lời một cuộc gọi đến.
|
ATD
|
Đi
trước một số điện thoại để thực hiện cuộc gọi.
|
ATD><mem><n>
|
Thực
hiện cuộc gọi đến số điện thoại đã lưu trong bộ nhớ.
|
ATD<str>
|
Thực
hiện cuộc gọi đến số đã lưu và có tên <str>.
|
ATDL
|
Gọi
số vừa gọi gần nhất.
|
ATH
|
Ngắt
kết nối đang thực hiện.
|
ATI
|
Hiện
thị thông tin về module SIM548.
|
ATL
|
Cài
đặt độ lớn của loa.
|
ATO
|
Chuyển
từ chế độ nhận lệnh sang chế độ nhận dữ liệu.
|
ATT
|
Lựa
chọn kiểu chuông.
|
ATZ
|
Thực
hiện lệnh này trước khi cài đặt lại các thông số của module.
|
AT&F
|
Thiết
lập các thông số cài đặt là các thông số mặc định.
|
AT&V
|
Hiện
thị cấu hình đã cài đặt cho module.
|
+++
|
Chuyển
từ chế độ dữ liệu và kết nối mạng GPRS về chế độ lệnh.
|
Các lệnh thiết lập và cài đặt cuộc gọi
- Chi tiết về
tập lệnh thiết lập và cài đặt cho cuộc gọi:
Chi tiết các
lệnh thiết lập và cài đặt cuộc gọi
5.3. Các lệnh thiết
lập và cài đặt cho tin nhắn sms.
AT+CMGD
|
Xóa tin nhắn sms.
|
AT+CMGF
|
Định
dạng văn bản tin nhắn.
|
AT+CMGL
|
Danh
sách tin nhắn đã lưu.
|
AT+CMGR
|
Lệnh
đọc tin nhắn.
|
AT+CMGS
|
Lệnh
gửi tin nhắn.
|
AT+CMGW
|
Lưu
tin nhắn vào bộ nhớ.
|
AT+CMSS
|
Gửi
tin nhắn đã lưu.
|
AT+CMGC
|
Gửi
sms lệnh.
|
AT+CNMI
|
MT
gửi thông báo khi có tin nhắn mới.
|
AT+CPMS
|
Các
tin nhắn riêng biệt được lưu.
|
AT+CRES
|
Cài
đặt lại tin nhắn.
|
AT+CSAS
|
Lưu
các cài đặt cho tin nhắn.
|
AT+CSCA
|
Địa chỉ dịch vu tin nhắn.
|
AT+CSMP
|
Cài đặt định dạng chữ của tin nhắn.
|
AT+CSMS
|
Lựa chọn tin nhắn dịch vụ.
|
Lệnh thiết lập và cài đặt cho tin nhắn SMS
- Chi tiết mô tả
các lệnh dành cho tin nhắn sms :
AT+CMGD=<index>
|
Lệnh xóa tin nhắn sms đã lưu tron bộ nhớ.
Lệnh thực hiện thành công.MT gửi trả:
<CR><LF>OK<CR><LF>
Nếu
lệnh không thực hiện được.MT gửi trả:
+CMS
ERROR <err>
Tham
số:
<index>
Vị trí của tin nhắn lưu trong bộ nhớ.
<err>
Cho biết lỗi.
|
AT+CMGF=[<mode>]
|
Lệnh
cài đặt định dạng của tin nhắn gửi và nhận.
Lệnh
thực hiện thành công.MT gửi trả:
<CR><LF>OK<CR><LF>
Tham
số:
[<mode>]
0 Dạng PDU
1
Dạng văn bản
|
AT+CMGL=[<stat>]
|
Danh
sách tin nhắn đã lưu.
Tham
số:
+
Nếu tin nhắn là dạng văn bản:
[<stat>]
“_REC UNREAD” tin nhắn chưa đọc.
“RED
READ”
tin nhắn đã đọc.
“STO
UNSEND” tin nhắn chưa gửi
được.
“STO
SEND”
tin nhắn đã gửi.
“ALL”
tất cả tin nhắn
+
Nếu tin nhắn là dạng PDU:
[<stat>]
0 tin nhắn chưa đọc.
1
tin nhắn đã đọc.
2
tin nhắn chưa gửi.
3
tin nhắn đã gửi.
4
tất cả tin nhắn
Nếu
lệnh thực hiện thành công,MT gửi trả chuỗi có định dạng như sau :
+
Nếu tin nhắn là dạng văn bản (+CMGF=1) :
+CMGL:
[<index>,[<stat>],[<oa/da>],[<alpha>],[<scts>]
[,<tooa/toda>,<length>]
<CR><LF>[<data>]<CR><LF>
<CR><LF>OK<CR><LF>
+ Nếu tin nhắn là dạng PDU (+CMGF=0) :
+CMGL:<index>,<stat>,[<alpha>],<length><CR><LF><pdu><CR><LF>
<CR><LF>OK<CR><LF>
Nếu
lệnh thực hiện không thành công,MT gửi trả:
+CMS
ERROR: <err>
|
AT+CMGR=<index>[,<mode>]
|
Lệnh
đọc tin nhắn sms.
Tham
số:
<index>
Một số nguyên là vị trí của đã lưu tin nhắn.
<mode>
0 Chế độ mặc định.
1 Không
thay đổi trạng thái của tin nhắn.
Ví
dụ : Tin nhắn sẽ không chuyển từ 'received unread’ sang 'received read’
khi được đọc.
Lệnh
thực hiện thành công,MT gửi trả lại chuỗi có dạng:
+
Nếu tin nhắn là dạng văn bản (+CMGF=1)
+CMGR:<stat>,<sn>,<mid>,<dcs>,<page>,<pages><CR><LF><data>
<CR><LF>OK<CR><LF>
+
Nếu tin nhắn là dạng PDU (+CMGF=0)
+CMGR:
<stat>,[<alpha>],<length><CR><LF><pdu>
<CR><LF>OK<CR><LF>
Lệnh
thực hiện không thành công,MT gửi trả:
+CMS
ERROR: <err>
Tham
số:
<stat>
0 "REC UNREAD" tin nhắn chưa được đọc.
1 "REC
READ" tin nhắn đã đọc.
2 "STO
UNSENT" tin nhắn chưa gửi được.
3 "STO
SENT" tin nhắn đã gửi.
4 "ALL"
tất cả tin nhắn.
<length>
Độ dài của tin nhắn (số ký tự).
<data>
Nội dung tin nhắn.
|
AT+CMGS=<da>[,<toda>]
<CR>nội
dung tin nhắn
<ctr-Z/ESC>
|
Lệnh
gửi tin nhắn dạng văn bản.
Gửi
<ESC> cho module để hủy bỏ việc gửi tin nhắn khi lệnh đang thực thi.
Tham
số:
<da>
“số điện thoại gửi tin nhắn”
Nếu
lệnh được thực hiện thành công và tin nhắn đã được gửi đi,MT gửi trả:
CR><LF>+CMGS: <mr><<CR><LF>
<CR><LF>OK<CR><LF>
Nếu
lệnh không thực hiện được,MT gửi trả:
<CR><LF>+CMS ERROR: <err><CR><LF>
Tham
số:
<mr>
Một số nguyên là vị trí lưu tin nhắn vào bộ nhớ.
|
AT+CMGW=[<oa/da>[,<tooa/
toda>[,<stat>]]]
<CR>
Nội dung tin nhắn
<ctrl-Z/ESC>
<ESC>
|
Lệnh
lưu tin nhắn vào bộ nhớ.
Gửi
<ESC> cho module để hủy bỏ việc lưu tin nhắn khi lệnh đang thực thi.
Lệnh
thực hiện thành công,tin nhắn đã được lưu vào bộ nhớ.MT gửi trả:
CR><LF>+CMGW: <index><<CR><LF>
<CR><LF>OK<CR><LF>
Nếu
có lỗi xảy ra,MT gửi trả:
+CMS
ERROR: <err>
Tham
số:
<index>
Vị trí lưu tin nhắn.
|
AT+CMSS=<index>[,<da>
[,<toda>]]
|
Lệnh
gửi tin nhắn từ bộ nhớ lưu tin nhắn
Lệnh
thực hiện thành công,MT gửi trả:
CR><LF>+CMGS: <mr> [,<scts>]CR><LF>
<CR><LF>OK<CR><LF>
Lệnh
thực hiện không thành công:
<
CR><LF>+CMS ERROR: <err><CR><LF>
Tham
số:
<mr>
Vị trí lưu tin nhắn trong bộ nhớ.
|
AT+CNMI=[<mode>[,<mt>
[,<bm> [,<ds>[,<bfr>]]]]]
|
Lệnh
này cài đặt cho module để module thông báo khi nhận được tin nhắn mới.
Lệnh
thực hiện thành công,MT gửi trả:
<CR><LF>OK<CR><LF>
Lệnh
thực hiện không thành công:
<CR><LF>+CMS
ERROR: <err><CR><LF>
Tham
số:
<mt>
0 Không gửi thông báo
khi có tin nhắn mới.
1 Gửi
thông báo với định dạng:
+CMTI: <mem>,<index>
2 Gửi
thông báo có định dạng:
+CMT:
<oa>, [<alpha>],<scts>
[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>.
|
Chi tiết các
lệnh thiết lập và cài đặt tin nhắn SMS
5.4. Các
lệnh đặc biệt dành cho SIM548
AT+CPOWD
|
Tắt nguồn cung cấp cho module.
|
AT+CMIC
|
Thay đổi đổ
lớn của microphone.
|
AT +UART
|
Cầu hình cho
truyền thông nối tiếp.
|
AT+CALARM
|
Cài đặt hẹn
giờ.
|
AT+CADC
|
Đọc ADC.
|
AT+ECHO
|
Cài đặt tiếng
vọng cho cuộc gọi.
|
AT+CSMINS
|
Cho biết sim
đã gắn vào đế hay chưa.
|
AT+CMTE
|
Đọc nhiệt độ
hiện tại của module.
|
AT+CMGDA
|
Xóa tất cả
các tin nhắn.
|
Các lệnh đặc biệt dành cho SIM548
- Chi
tiết về các lệnh đặc biệt dành cho SIM548 :
AT+CPOWD =
<n>
|
Lệnh ngắt nguồn cung cấp cho module hoạt động.
Tham số :
<n>
0 Ngắt nguồn khẩn cấp.
1
Ngắt nguồn bình thường.
|
AT+UART=<uart>[,<baud>]
|
Lệnh cấu hình cho truyền thông nối tiếp.
Lệnh được thực hiện thành công,MT gửi trả :
<CR><LF>OK<CR><LF>
Tham
số:
<uart
>
1 sử dụng line 1
2
sử dụng line 2 (gprs)
3
sử dụng line 3
<baud>
9600,19200,28800,38400,57600,115200
|
AT+CALARM=<state>, <time>
,<repeat>,<power>
|
Lệnh
cài đặt báo thức.
Lệnh
được thực hiện thành công,MT gửi trả :
<CR><LF>OK<CR><LF>
Tham
số:
<state>
0 Tắt báo thức.
1
Bật báo thức.
<
time > Thời
gian báo thức “yy/MM/dd,hh:mm:ss+-
zz”
<
repeat > 0 Không lặp
lại.
1
Lặp lại hàng ngày.
2
Tuần
3
Tháng
<power>
0 Thông báo bình
thường.
Chỉ gửi “ALARM RING”
1 Tắt
nguồn báo thức.
Gửi
“ALARM RING” và ngưng báo thức sau 5s.
2 Bất
nguồn báo thức.
Gửi
“ALARM MODE và trở về chế độ báo thức.
|
AT+
CADC?
|
Lệnh
đọc ADC.
Lệnh
thực hiện thành công,MT gửi trả:
+
CADC: < status>,<value>
<CR><LF>OK<CR><LF>
Tham
số:
<status>
1 Đọc thành công.
0
Lỗi khi đọc ADC.
<value>
Số nguyên từ 0-2400.
|
AT+CSMINS?
|
Lệnh
cho biết sim đã được gắn vào đế sim hay chưa.
Lệnh
thực hiện thành công,MT gửi trả:
<CR><LF>+CSMINS:<n>,<SIM
inserted><CR><LF>
Tham
số:
<n>
0 Không cho phép gắn sim.
1
Cho phép.
<SIM
inserted> 0 Sim chưa được gắn vào đế.
1
Sim đã được gắn.
|
AT+CMGDA=<type>
|
Xóa
tất cả các tin nhắn.
Lệnh
thực hiện thành công,MT gửi trả:
<CR><LF>OK<CR><LF>
Lệnh
thực hiện không thành công:
<CR><LF> +CMS ERROR: NUM<CR><LF>
Tham
số:
<type>
“DEL READ”
xóa các tin nhắn đã đọc.
“DEL
UNREAD” xóa tin nhắn chưa đọc.
“DEL
SENT” xóa các tin nhắn đã gửi.
“DEL
UNSENT” xóa các tin nhắn chưa gửi.
“DEL
INBOX” xóa các tin nhắn nhận được.
“DEL
ALL” xóa tắt cả các tin nhắn.
|
Chi tiết các
lệnh đặc biệt dành cho SIM548
5.5. Các
thông báo lỗi.
Thông báo lỗi
có dạng: +CME ERROR: <err>
- Một
số lỗi thường gặp
<err>
|
Ý
nghĩa
|
0
|
Module
bị lỗi,không thể kết nối với mạng.
|
1
|
Không
kết nối mạng.
|
3
|
Module
không cho phép kết nối mạng.
|
4
|
Module
không hỗ trợ kết nối.
|
10
|
Chưa
gắn sim.
|
13
|
Sim
không hoạt động.
|
14
|
Sim
bận.
|
15
|
Sim
bị lỗi.
|
16
|
Nhập
mật mã sai.
|
20
|
Bộ
nhớ đầy.
|
22
|
Không
tìm thấy.
|
23
|
Bộ
nhớ bị lỗi.
|
24
|
Chuỗi
quá dài.
|
30
|
Không
có mạng.
|
32
|
Mạng
không kết nối được. Chỉ thực hiện được các cuộc gọi khẩn cấp.
|
100
|
Không
nhận ra.
|
107
|
Dịch
vụ GPRS không được kết nối.
|
744
|
Sim
đầy.
|
746
|
Không
nhận được dịch vụ mạng.
|
770
|
Không
có tín hiệu sim.
|
772
|
Không
có nguồn cho sim.
|
Các thông báo lỗi CME
- Thông báo lỗi
có dạng: +CMS ERROR: <err>
<err>
|
Ý nghĩa
|
300
|
Module
bị lỗi.
|
302
|
Module
không hoạt động.
|
303
|
Không
được hỗ trợ.
|
310
|
Chưa
gắn sim.
|
313
|
Sim
bị lỗi.
|
314
|
Sim
bận.
|
315
|
Sim
gắn sai.
|
320
|
Bộ
nhớ bị lỗi,không hoạt động.
|
331
|
Không
có mạng.
|
512
|
Sim
chưa sẵn sàng.
|
513
|
Không
nhận ra sim.
|
Các thông báo lỗi CMS
6. Ứng dụng GPS của
module SIM548.
6.1. GPS Hệ thống định
vị toàn cầu
GPS (Global Positioning System) là hệ thống xác định vị
trí dựa trên vị trí của các vệ tinh nhân tạo. Trong cùng một thời điểm,ở một vị
trí trên mặt đất nếu xác định được khoảng cách đến tối thiểu ba vệ tinh thì sẽ
tính được được tọa độ của vị trí đó.
GPS là hệ thống định vị toàn cầu của Mỹ dựa trên một mạng
lưới 24 quả vệ tinh được Bộ Quốc phòng Hoa Kỳ đặt trên quỹ đạo không gian.
Vệ tinh GPS
Các vệ tinh bay vòng quanh trái đất hai lần trong một
ngày theo một quỹ đạo chính xác và phát tín hiệu thông tin xuống Trái Đất. Các
máy thu GPS nhận được thông tin từ các vệ tinh và bằng phép tính lượng giác
tính được vị trí của máy thu. Về bản chấ máy thu GPS so sánh thời gian tín hiệu
được phát đi từ vệ tinh với thời gian nhận được chúng. Sai lệch về thời gian
cho biết máy thu GPS ở cách vệ tinh bao xa.Máy thu phải nhận được tín hiệu của
ít nhất ba vệ tinh để tính ra vị trí hai chiều (kinh độ và vĩ độ) và để theo
dõi được chuyển động. Khi nhận được tín hiệu của ít nhất 4 vệ tinh thì máy thu
có thể tính được vị trí ba chiều (kinh độ,vĩ độ và độ cao). Một khi vị trí của
người dùng đã được tính thì máy thu GPS có thể tính các thông tin khác như tốc
độ,hướng chuyển động,hành trình,quãng cách tới điểm đến,thời gian…..
Các vệ tinh GPS phát hai tín hiệu vô tuyến công suất thấp
dải L1 và L2. (dải L là phần sóng cực ngắn của phổ điện từ trải rộng từ 0,39
tới 1,55 GHz). GPS dân sự dùng tần số L1 1575.42 MHz trong dải UHF. Tín hiệu
truyền trực thị, có nghĩa là chúng sẽ xuyên qua mây, thủy tinh và nhựa nhưng
không qua phần lớn các đối tượng cứng như núi và nhà.
Về độ chính xác của hệ thống GPS,các máy thu GPS ngày nay
có thể định vị vị trí chính xác nhờ vào thiết kế nhiều kênh hoạt động song
song. Nhờ các kênh song song này cho phép máy thu duy trì kết nối bền vững,thậm
chí trong tán lá rậm rạp hay thành phố với các tòa nhà cao tầng. Trạng thái của
khí quyển và cá nguồn gây sai số có thể ảnh hưởng tới độ chính xác của máy thu
GPS. Các máy thu GPS có độ chính xác trung bình 15 mét. Tuy nhiên với các máy
thu mới hơn với khả năng WAAS (Wide Area Augmentation System) có thể tăng độ
chính xác tới 3 mét,kỹ thuật DGPS (Differential GPS – GPS sai phân) cho phép
định vị các đối tượng chuyển động với độ chính xác 1m và kỹ thuật
RTK GPS (Real Time Kinematic GPS – GPS đo động thời gian
thực) để định vị các đối tượng chuyển động với độ chính xác cao (cỡ
vài centimet).
6.2. Kỹ thuật DGPS
Ngoài kỹ thuật định vị GPS thông thường có độ chính xác
nhỏ nhất 5 mét, module SIM548 còn hỗ trợ kỹ thuật DGPS (Differential GPS – GPS
sai phân) có độ chính xác nhỏ nhất 1m.
Phương pháp DGPS là phương pháp định vị động tuyệt
đối thời gian thực dùng ít nhất hai máy thu GPS, mỗi máy thu GPS được kết
nối với một bộ thu phát tín hiệu bằng sóng vô tuyến thường gọi là Radio link.
Một máy thu GPS cố định đặt tại mốc tọa độ gốc có kết nối với 1 máy phát vô
tuyến và máy thu di động có kết nối với máy thu vô tuyến đặt trên các phương
tiện đang di chuyển. Giữa máy thu GPS và máy vô tuyến trao đổi nhau bằng
các thông điệp dạng số (Digital) chứa các thông tin về số hiệu chỉnh khoảng
cách giả theo chuẩn RTCM SC-104. Loại thông điệp này do ủy ban kỹ thuật
vô tuyến hàng hải quốc tế (Radio Technical Commission for Marine Service)
định nghĩa và đề xuất. Cơ chế hoạt động của phương pháp có thể tóm tắt như sau:
* Tại trạm tĩnh (Base): Tọa độ gốc biết trước theo hệ
WGS84 được nhập vào máy thu cố định. Khi hoạt động máy thu này sẽ thực hiện đồng
thời việc đo khoảng cách giả và tính toán khoảng cách thật đến từng vệ tinh.
Sau đó tính ra số hiệu chỉnh khoảng cách ∆S đến từng vệ tinh tham
chiếu theo thông điệp chuẩn RTCM SC-104. Thông điệp này được truyền sang
máy phát vô tuyến. Tại đây thông điệp được điều biến trộn lẫn vào sóng mang
loại HF, hay UHF và phát vào không gian bằng anten vô tuyến.
* Tại trạm động (Rover): Khi thu được sóng vô tuyến
truyền đến từ trạm tĩnh, máy thu vô tuyến sẽ khuyếch đại lên, giải điều biến
tách ra thông điệp RTCM SC-104 và gửi đến máy thu GPS từ đó có được các
số hiệu chỉnh về khoảng cách. Những số hiệu chỉnh ∆S này sẽ được máy thu
cộng vào khoảng cách giả đo được trước khi tính ra tọa độ tuyệt đối của vị trí
hiện hành tại thời điểm đang đo. Quá trình thu nhận và xử lý như vậy xảy ra
liên tục suốt quá trình đo.
Khoảng cách từ trạm tĩnh đến trạm động phụ thuộc vào khả
năng truyền tải tín hiệu của bộ thu phát radio link. Nếu radio link dùng sóng
mang HF thì tầm xa có thể đạt đến 500Km. Nếu radio link dùng sóng mang UHF thì
tầm xa chỉ có thể đạt đến 50Km với điều kiện phải có sự thông
thoáng giữa 2 anten UHF. Ngoài ra tầm xa còn phụ thuộc vào công suất thu phát
của máy radio link.
6.3. Chuẩn giao tiếp
NMEA.
6.3.1. Dữ
liệu đầu ra
Dữ liệu đầu ra của SIM548 theo giao thức NMEA có nhiều
định dạng:
Dạng dữ liệu đầu ra
|
Mô tả
|
GGA
|
Thời
gian và vị trí…
|
GGL
|
Kinh
độ và vĩ độ
|
GSA
|
Chế
độ hoạt động của bộ nhận GPS,các vệ tinh nhận được, và giá trị DOP.
|
GSV
|
Số
vệ tinh nhận được tín hiệu,độ cao so với mực nước biển,góc phương vị, và giá
trị SNR.
|
RMC
|
Thời
gian,ngày,vị trí,tốc độ dữ liệu và hướng.
|
VTG
|
Hướng
và tốc độ truyền thông tin so với mặt đất.
|
Các dạng dữ liệu đầu ra của SIM548
- GGA —Global
Positioning System Fixed Data:
Đây là một định dạng đầu ra của SIM548 theo NMEA.
Ví dụ:
$GPGGA,002153.000,3342.6618,N,11751.3858,W,1,10,1.2,27.0,M,34.2,M,,0
00 *5E
Ý nghĩa
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
$GPGGA
|
Chuỗi
đầu của giao thức GGA
|
|
Thời gian
|
002153.000
|
hhmmss.sss
|
|
Vĩ độ
|
3342.6618
|
ddmm.mmmm
|
|
N/S
|
N
|
N=Cực
bắc hay S=Cực nam
|
|
Kinh độ
|
11751.3858
|
Dddmm.mmmm
|
|
E/W
|
W
|
E=Phía
đông hay W=Phía tây.
|
|
Định dạng vị trí
|
1
|
Theo
Bảng 1.2
|
|
Vệ tinh được
sử dụng
|
10
|
Từ
0-12
|
|
HDOP
|
1.2
|
Độ mất chính xác theo phương ngang
|
|
Độ cao so với mực nước biển.
|
27.0
|
Meters
|
|
Đơn vị
|
M
|
Meters
|
|
Byte kiểm tra lỗi
|
*05
|
||
<CR><LF>
|
Kết
thúc.
|
Giao thức GGA
Giá trị
|
Mô tả
|
0
|
Không
có tín hiệu.
|
1
|
GPS
|
2
|
DGPS
|
3-5
|
Không
hỗ trợ.
|
6
|
Một
phương pháp định vị bằng cách lập biểu đồ hình trình và tốc độ từ vị trí đã
biết.
|
Định dạng vị trí
- GLL—Geographic
Position - Latitude/Longitude:
Đây là một định dạng đầu ra cho biết vị trí của robot.
Ví dụ:
$GPGLL,3723.2475,N,12158.3416,W,161229.487,A,A*41
Ý nghĩa
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
$GPGLL
|
Chuỗi
đầu của giao thức GLL.
|
|
Vĩ độ
|
3723.2475
|
Ddmm.mmmm
|
|
N/S
|
N
|
N=Cực
bắc hay S=Cực nam
|
|
Kinh độ
|
12158.3416
|
Dddmm.mmmm
|
|
E/W
|
W
|
E=Phía
đông hay W=Phía tây.
|
|
Thời gian
|
161229.487
|
hhmmss.sss
|
|
Trang thái
|
A
|
A
= có tín hiệu hay V = không có tín hiệu.
|
|
Chế độ
|
A
|
A=
Độc lập,D=DGPS
|
|
Byte kiểm tra lỗi
|
*41
|
||
<CR><LF>
|
Kết
thúc.
|
Giao thức GLL
- GSA—GNSS
DOP and Active Satellites
Đây là định
dạng đầu ra cho biết giá trị DOP(),và hoạt động của vệ tinh.
Ví dụ:
$GPGSA,A,3,07,02,26,27,09,04,15,
, , , , ,1.8,1.0,1.5*33
Ý nghĩa
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
ID $GPGSA
|
Chuỗi
đầu của giao thức GSA
|
|
Chế độ 1
|
A
|
Theo
bảng 1.5
|
|
Chế độ 2
|
3
|
Theo
bảng 1.6
|
|
Vệ tinh
|
07
|
Kênh
1
|
|
Vệ tinh
|
02
|
Kênh
2
|
|
…….
|
|||
Vệ tinh
|
Kênh
12
|
||
PDOP
|
1.8
|
Độ
mất chính xác vị trí.
|
|
HDOP
|
1.0
|
Độ
mất chính xác theo phương ngang.
|
|
VDOP
|
1.5
|
Độ
mất chính xác theo phương thẳng đứng.
|
|
Byte kiểm tra lỗi
|
*33
|
||
<CR><LF>
|
Kết
thúc
|
Giao thức GSA
M
|
Hoạt động ở chế độ 2D hay 3D
|
A
|
Hoạt
động ở chế độ 2D và có thể chuyển đổi giữa 2D và 3D một cách tự động.
|
Chế độ 1
1
|
Không có tín hiệu.
|
2
|
2D
(dưới 4 vệ tinh được sử dụng).
|
3
|
3D
(>3 vệ tinh được sử dụng).
|
Chế độ 2
GSV—GNSS
Satellites in View
Định dạng này
cho biết thông tin của các vệ tinh được sử dụng.
Ví dụ:
$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71
$GPGSV,2,2,07,09,23,313,42,04,19,159,41,15,12,041,42*41
Ý nghĩa
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
$GPGSV
|
Chuỗi
đầu của giao thức GSV
|
|
Số thông điệp
nhận được.
|
2
|
Từ
1 đến 3.
|
|
Vệ tinh nhận được
|
07
|
||
ID của vệ tinh
|
07
|
Kênh
1 (từ 1-32)
|
|
Độ cao
|
79
|
Độ
|
Kệnh
1 (tối đa 90)
|
Góc phương vị
|
048
|
Độ
|
Kênh
1 (từ 0-359)
|
SNR (C/N0)
|
42
|
dBHz
|
Từ
0=99
|
……
|
|||
ID của vệ tinh
|
27
|
Kệnh
4 (1-32)
|
|
……..
|
|||
Byte kiểm tra lỗi
|
*71
|
||
<CR><LF>
|
Kết
thúc
|
Giao thức GSV
- RMC—Recommended
Minimum Specific GNSS Data
Định dạng này
cho biết đầy đủ và chi tiết về thời gian,ngày,vị trí,tốc độ dữ liệu,hướng.
Ví dụ:
$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,
,*10
Ý nghĩa
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
$GPRMC
|
Chuỗi đầu của giao thức RMC
|
|
Thời gian
|
161229.487
|
Hhmmss.sss
|
|
Trạng thái
|
A
|
A=có tín hiệu hay V=không có tín hiệu.
|
|
Vĩ độ
|
3723.2475
|
ddmm.mmmm
|
|
N/S
|
N
|
N=Cực bắc hay S=Cực nam
|
|
Kinh độ
|
12158.3416
|
Dddmm.mmmm
|
|
E/W
|
W
|
E=Phía đông hay W=Phía tây.
|
|
Tốc độ
|
0.13
|
knots
|
|
Hướng
|
309.62
|
Độ
|
|
Ngày
|
120598
|
Ddmmyy
|
|
Sự thay đổi của độ lệch (magnetic)
|
Độ
|
E=Phía đông hay W=Phía tây
|
|
E/W
|
E
|
E=Phía đông
|
|
Byte kiểm tra lỗi
|
*10
|
||
<CR><LF>
|
Kết thúc.
|
Giao thức RMC
- VTG—Course
Over Ground and Ground Speed
Định dạng này
cho biết về hướng và tốc độ so với mặt đất,
Ví dụ:
$GPVTG,309.62,T,
,M,0.13,N,0.2,K,A*23
Ý nghĩa
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
ID $GPVTG
|
Chuỗi đầu của giao thức VTG
|
|
Hướng
|
309.62
|
Độ
|
Hướng hiện tại.
|
Chuẩn quy chiếu
|
T
|
T=True
|
|
Hướng
|
Độ
|
Hướng hiện tại.
|
|
Chuẩn quy chiếu
|
M
|
Từ tính.
|
|
Tốc độ
|
0.13
|
Knots
|
Tốc độ hiện tại.
|
Đợn vị
|
N
|
knot
|
|
Tốc độ
|
0.2
|
Km/h
|
Tốc độ hiện tại.
|
Đơn vị
|
K
|
Km/h
|
|
Chế độ
|
A
|
A=độc
lập,D=DGPS,E=DR
|
|
Byte kiểm tra lỗi
|
*23
|
||
<CR><LF>
|
Kết thúc
|
Giao thức VTG
6.3.2. Dữ
liệu đầu vào
Có thể cấu hình cho mudule GPS bằng cách gửi
chuỗi có định dạng theo giao
thức NMEA.
Chuỗi bao gồm
các tham số có dạng sau:
Chuỗi đầu
|
Dữ liệu cần gửi
|
Byte kiểm tra lỗi
|
Chuỗi kết thúc
|
$PSRF<MID>
|
Data
|
*CKSUM
|
<CR><LF>
|
Định dạng chuỗi
đầu vào module GPS
- Tham
số lựa chọn kiểu cấu hình cho module:
Tham số
|
Tên
|
Mô tả
|
100
|
SetSerialPort
|
Cấu hình cho PORTA.
|
101
|
NavigationInitialization
|
Các tham số yêu cầu cho việc sử dụng X/Y/Z.
|
102
|
SetDGPSPort
|
Cấu hình cho PORTB dành cho DGPS.
|
103
|
Query/rate Control
|
Tiêu chuẩn chuỗi đầu ra theo giao thức NMEA.
|
104
|
LLANavigationInitialization
|
Tham số yêu cầu cho việc sử dụng Lat/Lon/Alt.
|
105
|
Development Data On/Off
|
|
106
|
Select Datum
|
Lựa chọn mẫu cho việc chuyển đổi tọa độ.
|
Tham số đầu cho
chuỗi đầu vào module GPS
- 100—SetSerialPort
Đây là tham số đầu tiên của chuỗi lệnh cấu hình cho PORTA
với các thông số cần cài đặt cho truyền thông nối tiếp tốc độ baud, data bits,
stop bits và parity. Sau khi nhận được chuỗi lệnh này,các tham số cài đặt sẽ
được lưu vào bộ nhớ SRAM. Module GPS sẽ khởi động lại để sử dụng các tham số đã
lưu trong bộ nhớ.
Ví dụ cấu hình cho truyền thông nối tiếp với các tham số
9600,8,N,1
Tên
|
Ví
dụ
|
Đơn
vị
|
Mô
tả
|
ID
|
$PSRF100
|
Các
ký tự đầu của chuỗi.
|
|
Giao
thức
|
1
|
0=SiRF
binary, 1=NMEA
|
|
Tốc
độ baud
|
9600
|
1200,
2400, 4800, 9600, 19200, 38400, 57600, and 115200
|
|
Data
bits
|
8
|
8,7
|
|
Stop
bit
|
1
|
0,1
|
|
parity
|
0
|
0=None,
1=Odd, 2=Even
|
|
Byte
kiểm tra lỗi
|
*0C
|
||
<CR><LF>
|
Kết
thúc
|
Lệnh 100 cấu hình cho PORTA
- 101—NavigationInitialization
Đây là lệnh sử dụng khởi tạo cho module GPS vị trí hiện
tại và thời gian. Việc cung cấp chính xác các thông số về vị trí theo trục
X/Y/Z và thời gian giúp cho module nhận tín hiệu của các vệ tinh một cách chính
xác và nhanh chóng.
Ví dụ nếu chúng ta biết được vị trí chính xác ta có thể
khởi tạo cho module với lệnh có định dạng sau:
$PSRF101,-2686700,-4304200,3851624,96000,497260,921,12,3*1C
Tên
|
Ví
dụ
|
Đơn
vị
|
Mô
tả
|
ID
|
$PSRF101
|
Các ký tự đầu của chuỗi.
|
|
X
|
-2686700
|
m
|
Tọa độ truc X
|
Y
|
-4304200
|
m
|
Tọa độ truc Y
|
Z
|
3851624
|
m
|
Tọa độ trục Z
|
clkOffset
|
96000
|
Hz
|
|
TimeOfWeek
|
497260
|
giây
|
|
WeekNo
|
921
|
||
ChannelCount
|
12
|
Từ 1 đến 12
|
|
ResetCfg
|
3
|
||
Byte kiểm tra lỗi
|
*1C
|
||
<CR><LF>
|
Kết thúc.
|
Lệnh 101 khởi tạo vị trí và thời gian cho
ứng dụng GPS
- 102—SetDGPSPort
Lệnh này sử dụng để cấu hình cho truyền
thông nối tiếp sử dụng bộ nhận sai phân,ở đây là bộ nhận DGPS. Khi thực hiện
lệnh này cho phép bộ nhận có thể xử lý tín hiệu một cách chính xác. Khi nhận
được lệnh này các thông số sẽ được lưu trong SRAM và bộ nhận sẽ được reset để
sử dụng các thông số này.
Ví dụ để cấu hình có các tham số 9600,8,N,1
ta gửi lệnh có định dạng như sau:
$PSRF102,9600,8,1,0*12
Tên
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
$PSRF102
|
Các ký tự đầu của chuỗi.
|
|
Tốc độ baud
|
9600
|
1200, 2400, 4800, 9600, 19200, 38400, 57600, and 115200
|
|
Data bits
|
8
|
8,7
|
|
Stop bit
|
1
|
0,1
|
|
Parity
|
0
|
0=None, 1=Odd, 2=Even
|
|
Byte kiểm tra lỗi
|
*12
|
||
<CR><LF>
|
Kết thúc
|
Lệnh102 cấu hình cho truyền thông nối tiếp
- 103—Query/Rate
Control
Đây là lệnh cho phép lựa chọn định dạng đầu
ra của ứng dụng GPS của module SIM548. Lệnh này cũng cho phép có byte kiểm tra
lỗi trong định dạng đầu ra không.
Ví dụ cho phép định dạng GGA ở đầu ra.
$PSRF103,00,01,00,01*25
Tên
|
Ví dụ
|
Đơn vị
|
Mô tả
|
ID
|
$PSRF103
|
Các ký tự đầu của chuỗi.
|
|
Định dạng
|
00
|
Theo bảng bên dưới.
|
|
Chế độ
|
01
|
0=SetRate , 1=Query
|
|
Rate
|
00
|
Giây
|
0-255
|
Cho phép byte kiểm tra lỗi
|
01
|
0=không cho phép, 1= cho phép.
|
|
Byte kiểm tra lỗi
|
*25
|
||
<CR><LF>
|
Kết thúc.
|
Lệnh 103 lựa chọn định dạng đẫu ra
Giá trị
|
Mô tả
|
0
|
GGA
|
1
|
GLL
|
2
|
GSA
|
3
|
GSV
|
4
|
RMC
|
5
|
VTG
|
6
|
MSS
|
7
|
Không hỗ trợ.
|
8
|
ZDA
|
Định dạng đầu ra
- 104—LLANavigationInitialization
Tên
|
Ví dụ
|
Đơn vị
|
Mô tả
|
|
ID
|
$PSRF104
|
Các ký tự đầu của chuỗi.
|
||
Lat
|
37.3875111
|
Độ
|
Vĩ độ (khoảng 90 đến -90)
|
|
Lon
|
-121.97232
|
Độ
|
Kinh độ (khoảng 180 đến -180)
|
|
Alt
|
0
|
Mét
|
Độ cao so với mực nước biển.
|
|
clkOffset
|
9600
|
Hz
|
||
timeOfWeek
|
237759
|
|||
WeekNo
|
1946
|
|||
ChannelCount
|
12
|
Khoảng từ 1-12
|
||
resetCfg
|
1
|
|||
Byte kiểm tra lỗi
|
*07
|
|||
<CR><LF>
|
Kết thúc.
|
Đây là lệnh sử dụng khởi tạo cho module GPS
vị trí hiện tại(vĩ độ,kinh độ,độ cao so với mực nước biển) và thời gian. Việc
cung cấp chính xác các thông số về vị trí và thời gian giúp cho module nhận tín
hiệu của các vệ tinh một cách chính xác và nhanh chóng.
Ví dụ:
$PSRF104,37.3875111,-121.97232,0,96000,237759,1946,12,1*07
ATA
|
Lệnh
nhấc máy khi có cuộc gọi đến
MT gửi
trả <CR><LF>OK<CR><LF> khi kết nối
thành công.
MT gửi
trả <CR><LF>NO CARRIER <CR><LF> khi
kết nối không thành công.
|
ATD[<n>][<msgm>][;]
|
Lệnh
thực hiện cài đặt dịch vụ cuộc gọi.
Lệnh này
có thể hủy bỏ bằng việc nhận 1 lệnh ATH hoặc 1 ký tự khi lệnh đang thực thi.
Nếu cuộc
gọi được kết nối và cài đặt hoàn tất. MT gửi trả:
<CR><LF>OK<CR><LF>
Nếu
không đổ chuông. MT gửi trả:
<CR><LF>NO
DIALTONE<CR><LF>
Số máy
đang bận:
<CR><LF>BUSY<CR><LF>
Không
kết nối hoặc bị từ chối :
<CR><LF>NO
CARRIER<CR><LF>
Các tham
số:
<n>: số điện thoại
<msgm>: I Kích hoạt CLIR (Không
hiện thị số người
gọi)
i
Hủy chế độ CLIR(Hiện thị số người gọi)
G
Kích hoạt chế độ gọi nội bộ(chỉ dành riêng
cho cuộc gọi này)
g
Hủy chế độ gọi nội bộ.
<;>: Kết thúc và thực hiện cài đặt cuộc gọi
|
ATD<mem><n>[<I>][<G>][;]
|
Lệnh
thực hiện quay số có trong danh bạ riêng biệt.
Lệnh này
có thể hủy bỏ bằng việc nhận 1 lệnh ATH hoặc 1 ký tự khi lệnh đang thực thi.
Module
bị lỗi. MT gửi trả:
+CME
ERROR:<err>
Nếu
không đổ chuông. MT gửi trả:
<CR><LF>NO
DIALTONE<CR><LF>
Số máy
đang bận:
<CR><LF>BUSY<CR><LF>
Không
kết nối hoặc bị từ chối :
<CR><LF>NO
CARRIER<CR><LF>
Kết nối
thành công và cuộc gọi được thực hiện:
<CR><LF>OK<CR><LF>
Các tham
số:
<mem> danh bạ
“DC”
danh sách các số đã gọi.
“FD”
danh bạ trong sim.
“LD”
danh sách các số đã gọi trong sim.
“MC”
danh sách các cuộc gọi nhỡ.
“ME”
tất cả các số có trong danh bạ.
<n>: Một số nguyên là vị trí bộ nhớ có
thể sử
dụng.
<msgm>: I Kích hoạt CLIR (Không
hiện thị số
người gọi)
i
Hủy chế độ CLIR(Hiện thị số người gọi)
G
Kích hoạt chế độ gọi nội bộ(chỉ dành riêng
cho cuộc gọi này)
g
Hủy chế độ gọi nội bộ.
<;>: Kết thúc và thực hiện cuộc gọi
|
ATD><n>[<I>][<G>][;]
|
Thực
hiện cuộc gọi từ dạnh bạ.
Lệnh
thực hiện quay số có trong danh bạ riêng biệt.
Lệnh này
có thể hủy bỏ bằng việc nhận 1 lệnh ATH hoặc 1 ký tự khi lệnh đang thực thi.
Module
bị lỗi. MT gửi trả:
+CME
ERROR:<err>
Nếu
không đổ chuông. MT gửi trả:
<CR><LF>NO
DIALTONE<CR><LF>
Số máy
đang bận:
<CR><LF>BUSY<CR><LF>
Không
kết nối hoặc bị từ chối :
<CR><LF>NO
CARRIER<CR><LF>
Kết nối
thành công và cuộc gọi được thực hiện:
<CR><LF>OK<CR><LF>
Các tham
số:
<n>: Một số nguyên là vị trí bộ nhớ có
thể sử
dụng.
<msgm>: I Kích hoạt CLIR (Không
hiện thị số
người gọi)
i
Hủy chế độ CLIR(Hiện thị số người gọi)
G
Kích hoạt chế độ gọi nội bộ(chỉ dành riêng cho cuộc gọi này)
g
Hủy chế độ gọi nội bộ.
<;>: Kết thúc và thực hiện cuộc gọi
|
ATD><str>[<I>][<G>][;]
|
Lệnh
thực hiện cuộc gọi đến số đã lưu trong danh bạ có tên <str>.
Lệnh này
có thể hủy bỏ bằng việc nhận 1 lệnh ATH hoặc 1 ký tự khi lệnh đang thực thi.
Module
bị lỗi. MT gửi trả:
+CME
ERROR:<err>
Nếu
không đổ chuông. MT gửi trả:
<CR><LF>NO
DIALTONE<CR><LF>
Số máy
đang bận:
<CR><LF>BUSY<CR><LF>
Không
kết nối hoặc bị từ chối :
<CR><LF>NO
CARRIER<CR><LF>
Kết nối
thành công và cuộc gọi được thực hiện:
<CR><LF>OK<CR><LF>
Các tham
số:
<str>: Chuỗi ký tự “abc123” đã lưu torng dạnh
bạ .
<msgm>: I Kích hoạt CLIR (Không
hiện thị số
người
gọi).
i
Hủy chế độ CLIR(Hiện thị số người gọi)
G
Kích hoạt chế độ gọi nội bộ(chỉ dành riêng
cho cuộc gọi này).
g
Hủy chế độ gọi nội bộ.
<;>: Kết thúc và thực hiện cuộc gọi.
|
ATDL
|
Thực
hiện cuộc gọi đến số vừa gọi gần nhất.
Lệnh này
có thể hủy bỏ bằng việc nhận 1 lệnh ATH hoặc 1 ký tự khi lệnh đang thực thi.
Module
bị lỗi. MT gửi trả:
+CME
ERROR:<err>
Nếu
không đổ chuông. MT gửi trả:
<CR><LF>NO
DIALTONE<CR><LF>
Số máy
đang bận:
<CR><LF>BUSY<CR><LF>
Không
kết nối hoặc bị từ chối :
<CR><LF>NO
CARRIER<CR><LF>
Kết nối
thành công và cuộc gọi được thực hiện:
<CR><LF>OK<CR><LF>
|
ATH0
|
Lệnh
ngắt kết nối đang thực hiện.
Lệnh
được thực hiện. MT gửi trả:
<CR><LF>OK<CR><LF>
|
ATI
|
Lệnh yêu
cầu hiện thông tin của module.
Ví dụ:
SIMCOM_ltd.
SIMCOM_SIM548Z.
|
ATL[value]
|
Lệnh cài
đặt độ lớn của loa.
Lệnh
thực hiện thành công.MT gửi trả:
<CR><LF>OK<CR><LF>
Tham số:
[value]:
Có bốn mức độ 0,1,2,3.
|
ATM[value]
|
Lệnh cài
đặt các chế độ cho loa.
Lệnh
thực hiện thành công. MT gửi trả:
<CR><LF>OK<CR><LF>
Tham số:
[value]:
0 Tắt loa.
2
Mở loa khi nhấc máy.
|
+++
|
Lệnh này
chỉ có hiệu lực khi module đang ở kết nối mạng GPRS. Lệnh này thực hiện hủy
bỏ kết nối và trở về chế độ nhận lệnh.
Lệnh
thực hiện thành công. MT gửi trả:
<CR><LF>OK<CR><LF>
Thực
hiện chuyển từ chế độ nhận lệnh trở về chế độ nhận dữ liệu và kết nối mạng
gửi lệnh ATO.
|
ATO[n]
|
Lệnh
thực hiện chuyển module từ chế độ nhận lệnh sang chế độ nhận dữ liệu.
Lệnh
thực hiện không thành công. MT gửi trả:
<CR><LF> NO CARRIER <CR><LF>
Lệnh
thực hiện thành công. MT gửi trả:
<CR><LF>OK<CR><LF>
Tham số:
[n]
0 chuyển từ nhận lệnh
sang nhận dữ liệu.
|
Mọi thắc mắc vui lòng
liên hệ qua:
Facebook: Rid HaUI
Gmail:
dienturid@gmail.com
0 nhận xét:
Đăng nhận xét