Giao Tiếp Vi Điều Khiển Với Module Sim548
Sơ đồ nguyên lý giao tiếp giữa Vi Điều
Khiển với Module Sim548:
Giới thiệu Module SIM548
1. Module
SIM548 và các thiết bị đi kèm.
Đây là module GSM/GPRS và GPS của hãng SIMCOM
Module SIM548
Module SIM548 có thể hoạt động với các tần số
sau GSM 850MHz, 900 MHz, DCS 1800MHz và PCS 1900MHz và cũng hỗ trợ
kỹ thuật GPS định vị vị trí bằng vệ tinh.
Với kích thước nhỏ 55mm x 34mm x 3.0 mm,module này có thể sử
dụng cho các ứng dụng như Smart phone,PDA phone,thiết bị định vị GPS cầm tay
hay điện thoại.
Chúng ta có thể giao tiếp với module thông qua chuẩn đế 60 chân
dành riêng cho module SIM548. Thông qua đế chuẩn 60 chân này,chúng ta có thể
sử dụng module với các mục đích :
Bàn
phím,bảng nút nhấn hay SPI LCD.
Một port
giao tiếp nối tiếp dành cho GSM và hai port nối tiếp dành cho GPS giúp cho
việc thiết kế và phát triển ứng dụng một cách dễ dàng hơn thông qua việc giao
tiếp bằng tập lệnh AT.
Bộ
sạc cho pin.
Các ngõ
vào ra dành cho chức năng nghe,gọi và xử lý âm thanh.
Các ngõ
vào của bộ chuyển đổi AD.
Để sử dụng được module SIM548,cần phải có các thiết bị đi kèm:
Các thiết bị đi kèm
module SIM548
A: Nguồn cung cấp.
B: Anten GSM.
C: Anten GPS.
D: Cáp kết nối anten với module.
E: Tai nghe.
F:
Cáp giao tiếp nối tiếp.
2. Phần
cứng module SIM548
2.1. Phần
cứng ứng dụng GSM của SIM548:
Để sử dụng và giao tiếp với module SIM548 phải thông qua
một chuẩn đế cắm 60 chân. Bao gồm các ứng dụng dành cho GSM :
Nguồn
cung cấp và nguồn sạc pin.
Hai ngõ
vào giao tiếp theo chuẩn nối tiếp.
Hai ngõ
vào analog
Ngõ vào
ra dành cho Simcard.
2.1.1
Bảng mô tả các chân của module:
Tên
|
I/O
|
Mô tả
|
Đặc tính điện
|
VBAT
|
|
Có năm chân VBAT
dùng để cung cấp nguồn hoạt động cho module
|
Vmax= 4.5V
Vmin=3.4V
Vnorm=4.0V
|
BACKUP
|
I/O
|
Ngõ vào nguồn cho bộ thời gian thực của module khi không có nguồn
chính. Và cung cấp một dòng ra dành cho nguồn dự trữ khi có nguồn chính,để
tiết kiểm năng lượng của nguồn dự trữ.
|
Vmax=2.0V
Vmin=1.2V
Vnorm=1.8V
Inorm= 20uA
|
CHG_IN
|
I
|
Nguồn cung cấp cho bộ sạc pin của module. Đồng thời giúp cho module
nhận ra bộ sạc.
|
Vmax=5.25V
Vmin=1.1 *VBAT
Vnorm=5.1V
|
GND
|
|
Chân nối đất dành
cho các ứng dụng số.
|
|
PWRKEY
|
I
|
Ngõ vào dùng để mở
và tắt nguồn chính của module. Chân này được nối với một nút nhấn. Để mở và
tắt nguồn của module,phải nhấn nút nhấn để giữ chân này ở mức thấp trong
một khoảng thời gian ngắn.
|
VILmax=0.3*VBAT
VIHmin=0.7*VBAT
VImax=VBAT
|
MIC1P
MIC1N
|
I
|
Ngõ vào của
microphone 1.
|
|
MIC2P
MIC2N
|
I
|
Ngõ vào của
microphone 2.
|
|
SPK1P
SPK1N
|
O
|
Ngõ ra của loa 1.
|
|
SPK2P
SPK2N
|
O
|
Ngõ ra của loa 2.
|
|
BUZZER
|
O
|
Ngõ ra dành cho còi
báo.
|
|
AGND
|
|
Chân nối đất dành
cho các ứng dụng tương tự.
|
|
DISP_D0
|
I/O
|
Ngõ vào ra để kiểm
tra đường truyền dữ liệu.
|
VILmin=0V
VILmax=0.9
VIHmin=2.0
VIHmax= 3.2
VOLmin=GND
VOLmax=0.2V
VOHmin=2.7
VOHmax=2.9
|
DISP_CLK
|
O
|
Ngõ ra kiểm tra xung
Clock.
|
DISP_A0
|
O
|
Ngõ ra kiểm tra dữ
liệu và địa chỉ (có thể được lựa chọn bằng phần mềm).
|
DISP_EN
|
O
|
Ngõ ra cho phép hiện
thị.
|
KCOL0~KCOL4
KROW0~KROW4
|
I/O
|
Các ngõ vào ra dành
cho phím bấm,bảng nút nhấn.
|
VILmin=0V
VILmax=0.9
VIHmin=2.0
VIHmax= 3.2
VOLmin=GND
VOLmax=0.2V
VOHmin=2.7
VOHmax=2.9
|
Các ngõ vào ra với mục đích chung.
|
NETLIGHT
|
O
|
Ngõ ra cho biết
trạng thái hoạt động của module GSM.
|
VILmin=0V
VILmax=0.9
VIHmin=2.0
VIHmax= 3.2
VOLmin=GND
VOLmax=0.2V
VOHmin=2.7
VOHmax=2.9
|
STATUS
|
O
|
Ngõ ra cho biết các
trạng thái hoạt động của các ứng dụng khác có trong module.
|
GPIO5
GPIO32
|
I/O
|
Ngõ vào ra dùng
chung cho các mục đích khác.
|
Port nối tiếp 1
|
DTR
|
I
|
Ngõ vào cho biết
giao tiếp đã sẵn sàng.
|
VILmin=0V
VILmax=0.9
VIHmin=2.0
VIHmax= 3.2
VOLmin=GND
VOLmax=0.2V
VOHmin=2.7
VOHmax=2.9
|
RXD
|
I
|
Ngõ vào nhận dữ
liệu,
|
TXD
|
O
|
Ngõ ra truyền dữ
liệu.
|
RTS
|
I
|
Ngõ vào yêu cầu gửi
dữ liệu.
|
CTS
|
O
|
Sẵn sàng để gửi dữ
liệu.
|
RI
|
O
|
Ngõ ra cho biết
trạng thái hoạt động.
|
DCD
|
O
|
Ngõ ra cho biết dữ
liệu đã được gửi đi.
|
Port nối tiếp 2
|
DEBUG_TX
|
O
|
Port dùng để sửa lỗi
và giao tiếp bằng tập lệnh AT.
|
DEBUG_RX
|
I
|
Các chân dành cho
Sim card
|
VSIM
|
O
|
Nguồn cung cấp cho
Sim card
|
Có 2 loại nguồn cung
cấp 1.8V và 2.85V.Được lựa chọn bởi phần mềm.
|
SIM_DATA
|
I/O
|
Chân truyền nhận dữ
liệu với SIM.
|
VILmin=0V
VILmax=0.3* VSIM
VIHmin=0.7* VSIM
VIHmax= VSIM +0.3
VOLmin=GND
VOLmax=0.2V
VOHmin= VSIM -0.2
VOHmax= VSIM
|
SIM_CLOCK
|
O
|
Xung nhịp cho SIM.
|
SIM_PRESENCE
|
I
|
Chân để nhận biết có
Sim card.
|
SIM_RESET
|
O
|
Chân để reset SIM.
|
Ứng dụng ADC
|
AUXADC1
|
I
|
Ngõ và dành cho mục
đích chuyển đổi từ dạng tương tự sang dạng số.
|
Điện áp ngõ vào từ
0-24V.
|
TEMP_BAT
|
I
|
Ngõ vào cho biết
nhiệt độ của pin.
|
|
Chi tiết các chân của
module SIM548
2.1.2. Bật
ứng GSM của module SIM548:
Có ba cách để cho phép
ứng dụng GSM hoạt động.
Sử
dụng chân PWMRKEY.
Sử
dụng chân CHG_IN.
Sử
dụng ngắt của một thời gian thực.
Sử
dụng chân PWMRKEY để bật ứng dụng GSM:
Để cho phép ứng GSM hoạt
động,yêu cầu phải giữ chân PWMRKEY ở mức thấp trong một khoảng thời gian ngắn
Dùng chân PWMRKEY để bật
ứng dụng GSM
Khi việc bật ứng dụng GSM hoàn tất. Module sẽ gửi trả lại thông
báo ứng dụng đã sẵn sàng hoạt động “RDY”. Và chân STATUS sẽ được kéo lên mức
cao và giữ ở mức này khi ứng dụng GSM hoạt động.
Sử dụng chân CHG_IN để bật
ứng dụng GSM.
Đây là chân dành cho bộ sạc pin của module SIM548.Nếu bộ sạc
được nối với chân CHG_IN của module khi đang trong chế độ POWER DOWM,thì nó
sẽ chuyển sang chế độ GHOST (chỉ sạc pin). Trong chế độ này module không kết
nối mạng và chỉ cho phép một vài lệnh AT làm việc. Khi sử dụng chân CHG_IN để
bật ứng dụng GSM,module sẽ gửi thông báo:
RDY
GHOST MODE
+CFUN: 0
Trong chế độ GHOST, việc kéo chân PWRKEY xuống mức thấp trong
một khoảng thời gian ngắn ứng dụng GSM sẽ được mở và chuyển sang chế độ sạc
điện,tất cả chức năng của ứng dụng GSM được mở và cho phép thực hiện được tất
cả các lệnh AT. Lúc này module sẽ gửi trả thông báo:
From GHOST MODE to NORMAL MODE
Sử dụng bộ thời gian thực
RTC để bật ứng dụng GSM (chế độ báo động).
Ở chế độ báo động, cho phép ứng dụng GSM hoạt động bằng việc sử
dụng bộ thời gian thực RTC. Bộ thời gian thực sẽ đánh thức GSM của
module SIM548 khi ứng dụng này ngừng hoạt động. Trong chế độ này module sẽ
không kết nối mạng GSM và các tập lệnh dành cho SIM card sẽ không thực hiện
được.
Có thể sử dụng lệnh AT+CALARM để cài đặt thời gian báo động. Bộ
thời gian thực sẽ giữ module trong thời gian báo động nếu ứng dụng GSM được
tắt bằng lệnh ““AT+CPOWD=1” hay chân PWRKEY. Module sẽ chuyển sang chế độ báo
động. Lúc này module sẽ gừi thông báo:
RDY
ALARM MODE
Chế độ báo động sẽ hoạt động trong một thời gian tối đa 90s,lúc
này module sẽ tự đông ngưng hoạt động. Tuy nhiên,trong suốt thời gian báo
động,nếu lệnh AT+CFUN=1 được gửi đến,việc module tự động tắt sẽ không xảy ra.
Cũng trong chế độ này,việc kéo chân PWRKEY xuống mức thấp trong một khoảng
thời gian ngắn sẽ làm ứng dụng GSM ngưng hoạt động ngay lập tức.
2.1.3. Tắt
ứng dụng GSM của module SIM548
Các cách được sử dụng để tắt ứng dụng GSM của module SIM548:
Sử dụng
chân PWRKEY.
Sử dụng
lệnh AT.
Module
phát hiện nguồn cung cấp yếu.
Quá
nhiệt.
Sử dụng chân PWRKEY để tắt
ứng dụng GSM.
Có thể tắt ứng dụng GSM bằng việc kéo chân PWRKEY xuống mức thấp
trong một khoảng thời gian ngắn. Module sẽ gửi thông báo:
NORMAL POWER DOWN
Lúc này,tất cả lệnh AT sẽ không có hiệu lực. Module chuyển sang
chế đô POWER DOWN, và chỉ còn bộ thời gian thực RTC hoạt động. Quá trình này
cũng có thể được nhận biết thông qua chân STATUS,chân này sẽ bị tự động xuống
mức thấp trong chế độ này.
Dùng chân PWRKEY để tắt
ứng dụng GSM
Sử dụng lệnh AT để tắt ứng
dụng GSM.
Có thể sử dụng lệnh “AT+CPOWD=1” để tắt ứng dụng GSM. Module gửi
trả thông báo:
NORMAL POWER DOWN
Lúc này,tất cả lệnh AT sẽ không có hiệu lực. Module chuyển sang
chế đô POWER DOWN, và chỉ còn bộ thời gian thực RTC hoạt động. Quá trình này
cũng có thể được nhận biết thông qua chân STATUS,chân này sẽ bị tự động xuống
mức thấp trong chế độ này.
Ứng dụng sẽ tự động tắt khi
nguồn cung cấp yếu.
Phần mềm sẽ thường xuyên kiểm tra điện áp nguồn cung cấp trên
chân VBAT,nếu mức điện áp nhỏ hơn 3.5V,module sẽ gửi thông báo:
POWER LOW WARNNING
Nếu mức điện xuống dưới 3.4V,module sẽ gửi thông báo:
POWER LOW DOWN
Lúc này module sẽ tự động về chế độ POWER DOWN,chỉ còn bộ thời
gian thực hoạt động. Chân STATUS cũng sẽ về mức thấp.
Ứng
dụng GSM sẽ tự động tắt nếu quá nhiệt.
Phần mềm sẽ luôn kiểm tra
nhiệt độ của module. Nếu nhiệt độ hiện tại của module lớn bằng hoặc lớn hớn
80℃,module sẽ gửi thông báo:
+CMTE:1
Nếu nhiệt độ thấp hơn -30℃,module sẽ gửi thông báo:
+CMTE:-1
Nếu nhiệt độ trên 85℃,module sẽ gửi thông báo:
+CMTE:2
Nếu dưới -35℃:
+CMTE:-2
Nếu nhiệt
độ nằm ngoài khoảng -35℃ đến
85℃,module
sẽ tự động tắt.
Lúc này module sẽ tự động
về chế độ POWER DOWN,chỉ còn bộ thời gian thực hoạt động. Chân STATUS cũng sẽ
về mức thấp.
Có thể kiểm tra nhiệt độ
hiện tại của module bằng cách sử dụng lệnh “AT+CMTE” khi module đang hoạt
động.
2.1.4. Truyền
thông nối tiếp.
Để giao tiếp và sử dụng ứng dụng GSM,module SIM548 cung cấp
chuẩn giao tiếp nối tiếp.
- Bảy đường liên kết
trên một port giao tiếp.
- Bao gồm đường truyền
dữ liệu /RXD và /TXD,đường truyền trạng thái /RTS và /CTS,đường truyền điều
khiển /DTR,/DCD và /RING.
- Với chuẩn giao tiếp
này có thể sử dụng cho CSD FAX,dịch vụ GPRS và gửi lệnh AT.
Chuẩn giao tiếp nối tiếp
của SIM548
- Tốc độ baud của giao
tiếp nối tiếp: 300,1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.
- Module có thể tự động
lựa chọn tốc độ baud để giao tiếp: 300,1200, 2400, 4800, 9600, 19200, 38400,
57600, 115200.
- Thuộc tính chân /RING
của module:
Trạng thái module
SIM548
|
Trạng thái của chân
RI
|
Bình thường
|
Mức cao
|
Đang thực hiện cuộc gọi
|
Mức thấp,sau đó:
(1) Chuyển
về mức cao khi
(1) cuộc
gọi được thiết lập.
(2) Vẫn
giữ ở mức thấp khi sử dụng lênh ATH.
(3) vlka
|
SMS
|
Chuyển xuống và giữ
ở mức thấp khoảng 100mS khi nhận được tin nhắn,sau đó chuyển về lại mức
cao.
|
Trạng thái chân RI
2.1.5. Kết
nối với SIM card.
Có thể sử dụng lệnh AT để
lấy thông tin từ SIM card.
Module hỗ trở cả 2 loại
SIM card 1.8V và 3.0V.
Kết nối SIM card 6 chân
- Cấu tạo đế SIM card:
Cấu tạo đế SIM card 6
chân
Chân
|
Tên
|
Mô tả
|
C1
|
VSIM
|
Nguồn do module cung
cấp. Module SIM548 sẽ tự động xác định loại SIM để cung cấp nguồn 33.0V±10%
hay 1.8V±10%. Dòng cung cấp là 10mA.
|
C2
|
SIM_RESET
|
Chân reset SIM card.
|
C3
|
SIM_CLOCK
|
Chân xung clock SIM
card.
|
C5
|
GND
|
Chân nối đất.
|
C6
|
VPP
|
Không cần kết nối.
|
C7
|
SIM_DATA
|
Chân truyền nhận dữ
liệu.
|
Thứ tự chân SIM card
2.1.6. Trạng
thái của chân STATUS.
Ta có thể biết được tình trạng của mạng GSM thông qua chân
STATUS.
Tráng thái
|
Mạng GSM
|
Off
|
Ứng dụng GSM của
SIM548 không hoạt động.
|
64ms On/ 800ms Off
|
Ứng dụng GSM không
tìm thấy mạng.
|
64ms On/ 3000ms
Off
|
Ứng dụng GSM đang
kết nối mạng.
|
64ms On/ 300ms
|
Đang giao tiếp GPRS.
|
Trạng thái chân STATUS
Ta sử dụng đèn led để kết
nối với chân STATUS.
Kết nối với chân NETLIGHT
3. Phần
cứng ứng dụng GPS của module SIM548
Giao tiếp với ứng dụng
GPS thông qua chuẩn giao tiếp nối tiếp RS-232.
3.1. Chi
tiết các chân dùng cho ứng dụng GPS.
Tên
|
I/O
|
Mô tả
|
Đặc tính điện
|
GPS_VCC
|
I
|
Có chân dùng để cung
cấp nguồn cho ứng dụng GPS.
|
Vmax= 5.0V
Vmin=3V
Vnorm=3.3V
|
GPS_VRTC
|
I
|
Nguỗn dự trữ cho bộ thời gian thực và SRAM. Không kết nối nếu không sử
dụng.
|
Vmax= 3.3V
Vmin=2.7V
Vnorm=3.0V
|
GPS_VANT
|
I
|
Nguồn ngoài dùng cho
anten GPS. Ngõ vào này dùng đê lựa chọn nguồn hoạt động cho anten GPS loại
5V hay 3V. Chân này có thể kết nối trực tiếp với GPS_VCC_RF.
|
Imax=25mA
Vmax=5V
Vmin=2.85V
|
GPS_VCC_RF
|
O
|
Nguồn cung cấp cho
anten GPS loại 3V.
|
Vmax=2.9V
Vmin=2.8V
Vnorm=2.85V
Imax=25mA
|
Giao tiếp nối tiếp
|
GPS_TXA
|
O
|
Chân truyền dữ liệu
của portA.
|
|
GPS_RXA
|
I
|
Chân nhận dữ liệu
của portA.
|
|
GPS_TXB
|
O
|
Chân truyền dữ liệu
của portB.
|
|
GPS_RXB
|
I
|
Chân nhận dữ liệu
của portB.
|
|
GPS_M-RST
|
I
|
Chân reset ứng dụng
GPS.
|
|
Các chân dành cho ứng
dụng GPS
3.2. Bật
ứng dụng GPS
Để cho ứng dụng GPS hoạt
động,nguồn cung cấp tại chân GPS_VCC phải lớn hơn 2.3V,và giữ ở mức này trong
khoảng ít nhất 220ms.
Bật ứng dụng GPS
3.3. Mạch
kết nối cho chân VRTC
Bộ thời gian thực RTC là
rất quan trọng cho ứng dụng GPS và nguồn SRAM cũng lấy từ chân VRTC.
Kết nối với chân VRTC
3.4. Mạch
kết nối cho chân RESET
Có
một IC trong module SIM548 dùng cho việc reset ứng dụng GPS. Nếu điện áp ngõ
vào của IC nhỏ hớn 2.3V,thì chân reset sẽ giữ ở mức thấp,sau đó nếu ngõ vào ở
mức lớn hơn 2.3V thì IC sẽ tạo ra một tín hiệu reset trong khoảng 220ms. Sau
đó chân reset sẽ lên mức cao. Muốn reset ứng dụng GPS,thì chân GPS_M-RST nên
giữ ở mức thấp ít nhất 10ms.
Kết nối với chân RESET
3.5. Chuẩn
giao tiếp nối tiếp của ứng dụng GPS.
Module SIM548 hỗ trợ hai
port giao tiếp cho ứng dụng GPS (portA và portB).
PortA:
- Hai
chân để truyền nhận dữ liệu : GPS_RXA và GPS_TXA.
- Hỗ
trợ tốc độ baud từ 1200 đến 115200 bps.
- Giao
thức giao tiếp: Mặc định là SiRF,57600 bps.
PortB:
- Hai
chân truyền nhận dữ liệu : GPS_RXB và GPS_TXB.
- Hỗ
trợ tốc độ baud từ 1200-15200 bps.
- Chuẩn
giao thức truyền dữ liệu : NMEA,4800 bps.
- Định
dạng dữ liệu đầu ra: GGA,GSA,GSV,RMC,VTG.
Tần
số cập nhật ; 1Hz
4. Ứng
dụng GSM của module SIM548.
4.1. Giới
thiệu về ứng dụng GSM.
GSM
(Global System for Mobile Communication) là hệ thống thông tin di động toàn
cầu. GSM là chuẩn giao tiếp phổ biến nhất cho điện thoại di động nhờ khả năng
phủ sóng rộng khắp thế giới.GSM khác với các chuẩn giao tiếp trước đó về chất
lượng tín hiệu,tốc độ và tiện ích tin nhắn. Nó được xem là một hệ thống di
động thứ hai (second generation, 2G) . GSM là một chuẩn mở,hiện tại nó được
phát triển bởi 3rd Generation Partnership Project (3GPP).
Mạng GSM
4.2. Sử
dụng ứng dụng GSM cho dịch vụ gửi tin nhắn và cuộc gọi.
Sử dụng tập lệnh AT dành
cho GSM của module SIM548 trong các thao tác dùng cho dịch vụ SMS (Short
Message Service) và cuộc gọi, bao gồm:
- Khởi
tạo
- Nhận
cuộc gọi.
- Thiết
lập cuộc gọi.
- Nhận
tin nhắn.
- Gửi
tin nhắn.
<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).
- Đưa
module về chế độ nghỉ (sleep mode)
Chuyển từ chế độ bình
thường sang chế độ nghỉ (sleep mode)
(1) AT+CFUN=0<CR>
Tắt hết mọi chức năng
liên quan đến truyền nhận sóng RF và các chức năng liên quan đến SIM. module
không còn được kết nối với mạng.
(2)
<CR><LF>OK<CR><LF>
Chuỗi thông báo kết quả
thực thi lệnh thành công, thông thường là sau 3 giây kể từ lúc nhận lệnh
AT+CFUN=0.
(3) Chuyển trạng thái
chân DTR từ mức 0 sang mức 1.
Module hoạt động ở chế độ
sleep mode.
- Chuyển
từ chế độ nghỉ sang chế độ hoạt động bình thường.
Đưa module trở về trạng
thái hoạt động
(1) Đưa chân DRT chuyển
từ mức 1 xuống mức 0
Module thoát khỏi chế độ
sleep.
(2)
AT+CFUN=1<CR>
Đưa module trở về chế độ
hoạt động bình thường.
(3) MT trả về chuỗi
<CR><LF>OK<CR><LF>.
(4) Module gửi tiếp chuỗi
thông báo <CR><LF>Call Ready<CR><LF>.
Thời gian kể từ lúc nhận
lệnh AT+CFUN=1<CR> đến lúc module gửi về thông báo trên khoảng 10 giây.
-
Khởi tạo cấu hình mặc định cho modem.
Khởi tạo cấu hình mặc
định cho module SIM548
(1) ATZ<CR>
Reset modem, kiểm tra
modem dã hoạt động bình thường chưa. Gửi nhiều lần cho chắc ăn, cho đến khi
nhận được chuỗi: ATZ<CR><CR><LF>OK<CR><LF>.
(2) ATE0<CR>
Tắt chế độ echo lệnh.
Chuỗi trả về có dạng:
ATE0<CR><CR><LF>OK<CR><LF>.
(3) AT+CLIP=1<CR>
Định dạng chuỗi trả về
khi nhận cuộc gọi.
Thông thường, ở chế độ
mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:
<CR><LF>RING<CR><LF>
Sau khi lệnh
AT+CLIP=1<CR> đã được thực thi, chuỗi trả về sẽ có dạng:
<CR><LF>RING<CR><LF>
<CR><LF>+CLIP:
"0929047589",129,"",,"",0<CR><LF>
Chuỗi trả về có chứa
thông tin về số điện thoại gọi đến. Thông tin này cho phép xác định việc có
nên nhận cuộc gọi hay từ chối cuộc gọi.
Kết thúc các thao tác
khởi tạo cho quá trình nhận cuộc gọi. Các bước khởi tạo tiếp theo liên quan
đến các thao tác truyền nhận tin nhắn.
(4) AT&W<CR>
Lưu cấu hình cài đặt được
thiết lập bởi các lệnh ATE0 và AT+CLIP vào bộ nhớ.
(5) AT+CMGF=1<CR>
Thiết lập quá trình
truyền nhận tin nhắn được thực hiện ở chế độ text (mặc định là ở chế độ PDU).
Chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF>
(6) AT+CNMI=2,1,0,0,0<CR>
Thiết lập chế độ thông
báo cho TE khi MT nhận được tin nhắn mới.
Chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF>
Sau khi lệnh trên được
thiết lập, tin nhắn mới nhận được sẽ được lưu trong SIM, và MT gửi thông báo
khi có tin nhắn mới. TE có thể đọc tin nhắn được lưu trong SIM.
(7) AT+CSAS<CR>
Lưu cấu hình cài đặt được
thiết lập bởi các lệnh AT+CMGF và AT+CNMI.
- Xóa
tin nhắn trước khi hoạt động :
Khởi tạo module SIM548
(1) AT+CMGD=1
Xóa tin nhắn ở vùng nhớ 1
trong SIM.
Chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF>
(2) AT+CMGD=2
Tác dụng tương tự như
lệnh số 1. Lệnh này được dùng để xóa tin nhắn được lưu trong ngăn số 2.
Có thể hình dung bộ nhớ
lưu tin nhắn trong SIM bao gồm nhiều ngăn (loại Super SIM của Mobi phone có
50 ngăn), mỗi ngăn cho phép lưu nội dung của 1 tin nhắn (bao gồm tất cả các
loại tin nhắn: tin nhắn từ tổng đài, tin nhắn thông báo kết quả quá trình gửi
tin nhắn trước đó, tin nhắn từ thuê bao khác, …). Mỗi ngăn được đại diện bằng
một số thứ tự.
Khi nhận được tin nhắn
mới, nội dung tin nhắn sẽ được lưu trong một ngăn trống có số thứ tự nhỏ nhất
có thể.
Việc xóa nội dung
tin nhắn ở hai ngăn 1 và 2 cho phép tin nhắn nhận được luôn được lưu vào
trong hai ô nhớ này, giúp dễ dàng xác định vị trí lưu tin nhắn vừa nhận được,
và giúp cho việc thao tác với tin nhắn mới nhận được trở nên dễ dàng và đơn
giản hơn, giảm khả năng việc tin nhắn mới nhận được bị thất lạc ở một vùng
nhớ nào đó mà ta không kiểm soát được.
Nhận cuộc gọi
(1) Sau khi
được khởi tạo bằng lệnh AT+CLIP=1, khi có cuộc gọi đến, chuỗi trả về sẽ có
dạng:
<CR><LF>RING<CR><LF>
<CR><LF>+CLIP:
"0929047589",129,"",,"",0<CR><LF>
Chuỗi trả về có hiển thị
số điện thoại yêu cầu được kết nối, dựa trên thông tin này để có thể ra quyết
định nhận cuộc gọi hay từ chối cuộc gọi.
(2A) Nếu số điện thoại
gọi đến không hợp lệ, từ chối nhận cuộc gọi bằng lệnh ATH, và chuỗi trả về sẽ
có dạng:
<CR><LF>OK<CR><LF>
Cuộc gọi kết thúc.
(2B) Nếu số điện thoại
gọi đến là hợp lệ, nhận cuộc gọi bằng cách gửi lệnh ATA, và chuỗitrả về sẽ có
dạng: <CR><LF>OK<CR><LF>
(3) Giai đoạn thông
thoại.
(4A) Kết thúc cuộc gọi.
Đầu còn lại gác máy trước.
(4B) Kết thúc cuộc gọi,
chủ động gác máy bằng cách gửi lệnh ATH.
4.2.4. Thiết
lập cuộc gọi
thực hiện cuộc gọi
(1)
ATDxxxxxxxxxx;<CR>
Quay số cần gọi.
(2) Chuỗi trả
về có dạng: <CR><LF>OK<CR><LF>.
Chuỗi này thông báo lệnh
trên đã được nhận và đang được thực thi.
Sau đó là những chuỗi
thông báo kết quả quá trình kết nối (nếu như kết nối không được thực hiện
thành công).
(2A) Nếu MT không thực
hiện được kết nối do sóng yếu, hoặc không có sóng,chuỗi trả về sẽ có dạng:
<CR><LF>NO
DIAL TONE<CR><LF>
(2B) Nếu cuộc gọi bị từ
chối bởi người nhận cuộc gọi, hoặc số máy đang gọi tạm thời không hoạt động
(chẳng hạn như bị tắt máy) chuỗi trả về có dạng:
<CR><LF>NO
CARRIER<CR><LF>
(2C) Nếu cuộc gọi không
thể thiết lập được do máy nhận cuộc gọi đang bận (ví dụ như đang thông thoại
với một thuê bao khác), chuỗi trả về sẽ có dạng:
<CR><LF>BUSY<CR><LF>
(4s)
Tổng thời gian từ lúc
modem nhận lệnh cho đến lúc nhận được chuỗi trên thông thường là 4
giây.
(2D) Nếu sau 1 phút mà
thuê bao nhận cuộc gọi không bắt máy, chuỗi trả về sẽ có dạng:
<CR><LF>NO ANSWER<CR><LF> (60s)
(3) Trong trường
hợp quá trình thiết lập cuộc gọi diễn ra bình thường, không có chuỗi thông
báo nào (2A, 2B, 2C hay 2D) được trả về, và chuyển sang giai đoạn thông
thoại. Quá trình kết thúc cuộc gọi được diễn ra trong hai trường hợp:
(4A) Đầu nhận cuộc gọi
gác máy trước.Chuỗi trả về sẽ có dạng:
<CR><LF>NO
CARRIER<CR><LF>
(4B) Đầu thiết lập cuộc
gọi gác máy trước.Phải tiến hành gửi lệnh ATH, và chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF
4.2.5. Đọc
tin nhắn
đọc tin nhắn từ 2 vùng
nhớ 1 và 2 trên SIM
Mọi thao tác liên quan
đến quá trình nhận tin nhắn đều được thực hiện trên 2 ngăn 1 và 2 của bộ nhớ
nằm trong SIM.
(1) Đọc tin nhắn
trong ngăn 1 bằng lệnh AT+CMGR=1.
(2A) Nếu ngăn 1 không
chứa tin nhắn, chỉ có chuỗi sau được trả về:
<CR><LF>OK<CR><LF>
(2B) Nếu ngăn 1 có chứa
tin nhắn, nội dung tin nhắn sẽ được gửi trả về TE với định dạng như sau:
<CR><LF>+CMGR:
"REC
UNREAD","+84929047589",,"07/05/15,09:32:05+28"
<CR><LF>NỘI
DUNG<CR><LF>
<CR><LF>OK<CR><LF>
Các tham số trong chuỗi
trả về bao gồm trạng thái của tin nhắn (REC UNREAD), số điện thoại gửi tin
nhắn (+84929047589) và thời gian gửi tin nhắn (07/05/15,09:32:05+28) và nội
dung tin nhắn.
Đây là định dạng mặc định
của module SIM548 lúc khởi động. dạng mở rộng có thể được thiết lập bằng cách
sử dụng lệnh AT+CSDH=1 trước khi thực hiện đọc tin nhắn.
(3) Sau khi
đọc, tin nhắn được xóa đi bằng lệnh AT+CMGD=1.
Thao
tác tương tự đối với tin nhắn chứa trong ngắn thứ 2 trong các bước 4, 5A (5B)
và 6.
4.2.6. Gửi
tin nhắn.
Gửi tin nhắn
(1) Gửi tin nhắn đến thuê
bao bằng cách sử dụng lệnh AT+CMGS=”số điện thoại”.
(2) Nếu lệnh (1) được
thực hiện thành công, chuỗi trả về sẽ có dạng:
<CR><LF>>
(kí tự “>” và 1 khoảng trắng).
(3) Gửi nội dung tin nhắn
và kết thúc bằng kí tự có mã ASCII 0x1A.
(3A) Gửi kí tự ESC
(mã ASCII là 27) nếu không muốn tiếp tục gửi tin nhắn nữa. Khi đó
TE sẽ gửi trả về chuỗi
<CR><LF>OK<CR><LF>.
(4) Chuỗi trả
về thông báo kết quả quá trình gửi tin nhắn. Chuỗi trả về có định dạng như
sau:
<CR><LF>+CMGS:
62<CR><LF>
<CR><LF>OK<CR><LF>
Trong đó 62 là một
số tham chiếu cho tin nhắn đã được gửi. Sau mỗi tin nhắn được gửi đi, giá trị
của số tham chiếu này sẽ tăng lên 1 đơn vị. Số tham chiếu này có giả trị nằm
trong khoảng từ 0 đến 255.
Thời gian gửi một tin
nhắn vào khoảng 3-4 giây (kiểm tra với mạng Mobi phone).
(4A) Nếu tình trạng
sóng không cho phép thực hiện việc gửi tin nhắn hoặc chức năng RF của modem
không được cho phép hoạt động (do sử dụng các lệnh AT+CFUN=0 hoặc AT+CFUN=4),
hoặc số tin nhắn trong hàng đợi phía tổng đài vượt qua giới hạn cho phép,
hoặc bộ nhớ chứa tin nhắn của MT nhận được tin nhắn bị tràn, MT sẽ gửi thông
báo lỗi trở về và có định dạng như sau:
<CR><LF>+CMS
ERROR: 193<CR><LF>
<CR><LF>+CMS
ERROR: 515<CR><LF>
Chức
năng truyền nhận tin nhắn và chức năng thoại được tách biệt. Khi đang thông
thoại vẫn có thể truyền nhận được tin nhắn. Khi truyền nhận tin nhắn vẫn có
thể tiến hành thiết lập và kết thúc cuộc gọi.
5. 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:
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.
|
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
$PSRF100,1,9600,8,1,0*0C
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
Đâ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
|
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.
|
|
|
|
|
|
|
|
|
|
Lệnh 104 khởi tạo
vị trí và thời gian
|
0 nhận xét:
Đăng nhận xét