Thu thập dữ liệu qua GPRS

Tóm tắt:

Giải thuật cho tập lệnh AT của module SIM508 trong các thao tác dùng cho ứng dụng GPRS:

– Sơ lược về GPRS.

– Mô hình hệ thống thu thập dữ liệu qua GPRS.

– Sơ lược về GPRS server.

– Khởi tạo module SIM508.

– Thiết lập kết nối GPRS giữa modem và server.

– Truyền nhận gói TCP giữa modem và server.

– Hủy kết nối GPRS giữa modem và server.

– Một số vấn đề về bảo mật và xây dựng ứng dụng GPRS dùng cho hệ thống tracking.

– Truyền nhận gói TCP giữa các modem.

– Kết hợp truyền nhận dữ liệu bằng cả hai phương pháp: GPRS và SMS.

pdf25 trang | Chuyên mục: Điều Khiển Tự Động | Chia sẻ: tuando | Lượt xem: 285 | Lượt tải: 0download
Tóm tắt nội dung Thu thập dữ liệu qua GPRS, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 còn có một phương pháp xây dựng 
ứng dụng trên GPRS, đó là truyền nhận gói TCP giữa các module SIM508 với nhau. 
Trong phương thức này, một module sẽ đóng vai trò là server, các module còn lại sẽ 
đóng vai trò là các client trong mạng GPRS. 
Phương thức thực hiện kết nối được trình bày trong các phần tiếp theo sau. 
7.1. Khởi tạo các module. 
Các module đóng vai trò khác nhau yêu cầu các bước khởi tạo khác nhau. 
Khởi tạo cho module đóng vai trò là server. 
Người báo cáo: Nguyễn Trung Chính Tài liệu: REP02.02 
Ngày: 10/9/2009 Trang: 20/25 
OK 
SERVER OK 
OK 
AT+CSTT (3) 
TE MT 
(4) 
OK 
 AT+CIICR 
(5) 
10.16.5.153<LF
 AT+CIFSR=1 
OK 
AT+CIPSHUT (1) 
OK 
AT+CLPORT=”TCP”,”2505” (2) 
(6) 
 AT+CIPSERVER 
Hình 12: khởi tạo module đóng vai trò là server. 
(1) AT+CIPSHUT 
Đóng tất cả các kết nối trước khi khởi tạo một kết nối mới. 
(2) AT+CLPORT=”TCP”,”2505” 
Thiết lập port 2505 là port TCP, dùng cho quá trình truyền nhận các gói TCP giữa 
module server và module client. 
(3) AT+CSTT 
Thiết lập các thông số dùng cho quá trình thiết lập kết nối GPRS, bao gồm APN 
(Access Point Name), user name và password. 
Các tham số này đã được khởi tạo trước đó bằng lệnh AT+CIPCSGP (xem phần 4.2) 
nên không cần đưa các tham số trên vào lệnh AT+CSTT nữa. 
(4) AT+CIICR 
Khởi tạo kết nối GPRS dựa trên các tham số đã được thiết lập bằng lệnh AT+CSTT. 
Lệnh này có thời gian thực thi trong khoảng 2 giây. Nếu sau 2 giây chưa nhận được 
chuỗi OK, kết nối chắc chắn không được thực hiện thành công. 
Trong trường hợp này cần kiểm tra lại các thông số được thiết lập bởi lệnh 
AT+CIPCSGP (xem phần 4.2). 
Người báo cáo: Nguyễn Trung Chính Tài liệu: REP02.02 
Ngày: 10/9/2009 Trang: 21/25 
(5) AT+CIFSR 
Hiển thị địa chỉ IP hiện tại của module. Địa chỉ IP của module sẽ thay đổi sau mỗi 
lần khởi tạo kết nối bằng lệnh AT+CIICR. 
(6) AT+CIPSERVER 
Bắt đầu hoạt động ở chế độ server. Module bắt đầu “lắng nghe” các yêu cầu kết nối 
và truyền nhận dữ liệu với các module client đã được kết nối. 
Khởi tạo cho module đóng vai trò là client. 
 Các bước thực hiện tương tự như khởi tạo cho module đóng vai trò là server, điểm 
khác biệt ở chỗ không nhất thiết phải khởi tạo lệnh “AT+CLPORT”, và không dùng 
lệnh “AT+CIPSERVER”. 
(*) 
OK 
AT+CSTT (3) 
TE MT 
(4) 
OK 
 AT+CIICR 
(5) 
10.16.5.153<LF
 AT+CIFSR=1 
OK 
AT+CIPSHUT (1) 
OK 
AT+CLPORT=”TCP”,”2505” (2) 
Hình 13: khởi tạo module đóng vai trò là client. 
(*): lệnh này không bắt buộc phải có. 
7.2. Kết nối và truyền nhận dữ liệu giữa các module. 
Để thực hiện được kết nối giữa các module SIM508 bằng GPRS, trước tiên module 
client phải biết được địa chỉ IP hiện tại của module server và port mà module server 
đang “lắng nghe”. 
Thông tin về port của server có thể được qui định ngầm giữa các module với nhau. 
Đối với thông tin về địa chỉ IP, thì sau mỗi lẫn kết nối với mạng GPRS (dùng lệnh 
“AT+CIICR”), địa chỉ IP của module sẽ thay đổi theo cơ chế cấp phát địa chỉ IP động. 
Điều này tạo ra nhiều khó khăn cho quá trình thực hiện kết nối GPRS giữa các module. 
Có hai phương thức giải quyết khó khăn trên: 
Người báo cáo: Nguyễn Trung Chính Tài liệu: REP02.02 
Ngày: 10/9/2009 Trang: 22/25 
• Đăng kí một địa chỉ IP tĩnh cho module đóng vai trò là server: sau khi đã đăng 
kí, Địa chỉ IP tĩnh của module sẽ được lưu giữ trên bộ định vị thường trú (HLR) 
của hệ thống mạng GSM. Khi đó module sẽ được cấp phát một địa chỉ IP duy 
nhất khi thực hiện kết nối với mạng GPRS. 
• Cập nhật thường xuyên địa chỉ IP của module server cho các module client: 
phương thức cập nhật có thể thông qua các dịch vụ khác, tốt nhất là thông qua 
dịch vụ SMS. Sau mỗi lần module server thực hiện được kết nối với hệ thống 
mạng GPRS và nhận được địa chỉ IP mới, module server sẽ gửi thông tin về địa 
chỉ IP mới của mình cho các module client. Các module client sẽ dựa vào thông 
tin đó để thực hiện kết nối với module server. 
Sau khi đã được khởi tạo, và biết được thông tin về địa chỉ IP và port của module 
server, module client có thể kết nối được với module server thông qua các thao tác sau: 
(2) 
TE MT 
OK 
AT+CIPSTART=”TCP”,”10.16.0.32”,”2505” (1) 
CONNECT OK 
Hình 14: Module client thực hiện kết nối GPRS với module server. 
Thời gian thực hiện thành công kết nối (nhận được chuỗi “CONNECT 
OK”) là không xác định. Quá trình khảo sát cho thấy thời gian này nằm trong 
khoảng từ 4 đến 7 giây. 
Sau khoảng thời gian trên mà không nhận được phản hồi, kết nối chắc chắn không 
được thực hiện thành công. 
Trong trương hợp kết nối được thực hiện thành công, module server sẽ gửi thông 
báo về cho TE: 
TE MT 
REMOTE IP: 10.16.1.117 
Hình 15: module server gửi thông tin của module client vừa được kết nối về cho TE. 
Đến đây module client có thể bắt đầu quá trình truyền dữ liệu về module server 
bằng lệnh AT+CIPSEND. 
Người báo cáo: Nguyễn Trung Chính Tài liệu: REP02.02 
Ngày: 10/9/2009 Trang: 23/25 
SEND OK 
hello (2) 
TE MT 
> 
AT+CIPSEND=5 (1) 
Hình 16: qui trình client gửi một chuỗi dữ liệu “hello”. 
Thời gian gửi dữ liệu không xác định, quá trình khảo sát cho kết quả thông thường 
nằm trong khoảng từ 1 đến 3 giây. 
Khi nhận được dữ liệu từ client, module server sẽ gửi dữ liệu nhận được về TE theo 
dạng được thiết lập bởi các lệnh “AT+CIPHEAD” và “AT+CIPSRIP”. 
 RECV FROM:10.16.0.95:2515 
+IPD5:hello 
TE MT 
Hình 17: module server gửi dữ liệu nhận được về TE. 
Trong trường hợp module server muốn gửi dữ liệu đến client. Module server sẽ 
phải thực hiện qui trình sau: 
(*) 
SEND OK 
hello (3) 
TE MT 
OK 
AT+CIPCCON=2 (1) 
> 
AT+CIPSEND=5 (2) 
Hình 18: module server gửi dữ liệu cho module client. 
(1) AT+CIPCCON=2 
Chọn kết nối mà module đóng vai trò là server. 
Có thể hình dung tác dụng của lệnh này qua ví dụ sau: giả sử module server đang 
thiết lập được hai kết nối: một kết nối với GPRS server, và một kết nối được thiết lập 
bởi một module client khác. Đối với GPRS server, module server lúc này đóng vai trò là 
Người báo cáo: Nguyễn Trung Chính Tài liệu: REP02.02 
Ngày: 10/9/2009 Trang: 24/25 
một client, trong khi đối với module client, module server đóng vai trò là một server. 
Khi đó, muốn gửi dữ liệu đến GPRS server, module server phải dùng lệnh 
“AT+CIPCCON=1” để chọn kết nối mà module server đóng vai trò như một client, sau 
đó mới truyền dữ liệu bằng lệnh “AT+CIPSEND”. Trường hợp ngược lại cũng tương 
tự, khi module server muốn gửi dữ liệu đến client, module server phải dùng lệnh 
“AT+CIPCCON=2” để lựa chọn kết nối mà module đóng vai trò như một server. 
Giá trị mặc định của “AT+CIPCCON” là 1. Lệnh này chỉ cần dùng trong trường hợp 
cần lựa chọn kết nối. Dữ liệu truyền đi bằng lệnh “AT+CIPSEND” sẽ tương ứng với kết 
nối được lựa chọn bởi lệnh “AT+CIPCCON”. 
(2) AT+CIPSEND=5 
Gửi dữ liệu đến một kết nối đã được thiết lập, và được chọn bởi lệnh 
“AT+CIPCCON”. 
7.3. Hủy kết nối GPRS giữa module client và module server. 
Tương tự như kết nối giữa module và GPRS server được trình bày trong các phần 
trước, kết nối GPRS giữa các module có thể bị hủy trong một trong hai trường hợp sau: 
• Hệ thống mạng tự động hủy kết nối: do không có dữ liệu truyền nhận trên kết nối 
GPRS đã được thiết lập sau một quãng thời gian. 
• Một trong hai module chủ động hủy kết nối bằng lệnh “AT+CIPSHUT” hoặc lệnh 
“AT+CIPCLOSE”. 
Khi một kết nối bị hủy, TE sẽ nhận được chuỗi thông báo 
“CLOSED” từ module. 
Việc không chủ động được trạng thái kết nối, và để kết nối bị hủy bởi hệ thống 
mạng cũng sẽ gây ra nhiều rủi ro cho đường truyền dữ liệu tương tự như trong trường 
hợp kết nối giữa module và GPRS server (xem phần 5). Module đóng vai trò là server 
phải chủ động sắp xếp, duy trì các kết nối, cập nhật địa chỉ IP và tổ chức các kết nối một 
cách hợp lí. 
7.4. Ưu nhược điểm 
Mô hình truyền nhận dữ liệu giữa các module qua mạng GPRS mang lại một sự lựa 
chọn mới trong việc ứng dụng GPRS. So với mô hình liên kết giữa module và GPRS 
server, mô hình liên kết giữa các module SIM508 đơn giản hơn, chi phí triển khai hệ 
thống thấp hơn. Tuy nhiên, khả năng xử lí thông tin dựa trên hai mô hình này hạn chế 
hơn rất nhiều, do không có được một server đầy đủ chức năng, đồng thời số lượng kết 
nối, thời gian truyền nhận dữ liệu cũng còn nhiều hạn chế. 
Mô hình truyền nhận dữ liệu giữa các module qua mạng GPRS thích hợp với các 
ứng dụng có qui mô nhỏ và yêu cầu đơn giản trong việc xử lí thông tin. 
Người báo cáo: Nguyễn Trung Chính Tài liệu: REP02.02 
Ngày: 10/9/2009 Trang: 25/25 
Ngoài ra, có thể kết hợp cả hai mô hình ứng dụng sử dụng cho các yêu cầu đặc biệt 
của ứng dụng. Ý tưởng của sự kết hợp hai mô hình bắt nguồn từ tính năng của module, 
có khả năng vừa đóng vai trò là một server, vừa đóng vai trò là một client. 
8. Kết hợp hai phương thức truyền nhận dữ liệu bằng GPRS và SMS. 
Ứng dụng GPRS trong truyền nhận dữ liệu mang lại nhiều ưu thế hơn so với SMS: 
• Chi phí duy trì hệ thống thấp hơn rất nhiều lần so với SMS. 
• Tốc độ nhanh, dung lượng thông tin cho phép truyền tải lớn. 
• Độ tin cậy cao. 
• Chủ động được trạng thái đường truyền. 
• Tương thích với nhiều mô hình ứng dụng, từ đơn giản đến phức tạp. 
Tuy nhiên trong thực tế, hạn chế của GPRS là vùng phủ sóng. Các mạng cung cấp 
dịch vụ GPRS tại Việt Nam chỉ mới phủ sóng GPRS ở các khu vực trung tâm hoặc thành 
phố. Sự kết hợp giữa hai phương thức này có khả năng mang lại một giải pháp hoàn 
thiện cho ứng dụng. 
SMS có thể được sử dụng để cập nhật địa chỉ IP của server trong trường hợp GPRS 
server không có được một địa chỉ IP tĩnh, và trong trường hợp mô hình truyền nhận dữ 
liệu giữa các module được đưa vào ứng dụng. 
Ngoài ra, trong trường hợp vị trí hiện tại của module không được hỗ trợ sóng GPRS, 
có thể tạm thời thay thế đường truyền dữ liệu GPRS bằng dịch vụ SMS. Giải pháp này 
vừa tiết kiệm chi phí duy trì hệ thống, vừa đáp ứng được phần nào nhu cầu cải thiện 
chất lượng đường truyền qua dịch vụ SMS. 

File đính kèm:

  • pdfthu_thap_du_lieu_qua_gprs.pdf