Lập trình cho phía client

Một phần của tài liệu Ứng dụng công nghệ m2m phát triển hệ thống tự động hóa quá trình đo lường, thu thập số liệu và tính cước cho ngành điện (Trang 63 - 65)

Để lập trình cho các tính năng của phía client, sử dụng ngôn ngữ lập trình trình C để viết mã lệnh cho mạch Arduino. Trong phần này, các câu lệnh AT điều khiển module sim sẽ được sử dụng để điều khiển module sim thực hiện các chức năng truyền nhận dữ liệu với server. Việc lập trình điều khiển cho phía

Bắt đầu

Kiểm tra hêt tháng chưa?

Tính toán cước

Khởi tạo đầu vào

Gửi thông tin cước qua SMS

Đ

S

Hình 3.12: Minh họa lập trình cho phía client

Lệnh AT thiết lập kết nối và gửi dữ liệu qua GPRS:

Câu lệnh Ý nghĩa

Serial.println(“AT+CIPSHUT”); Lệnh đóng kết nối GPRS

Serial.println(“AT+CIPSTART=”TCP”,

”shopcuamoa.com”,”80″”);

Lệnh khởi tạo kết nối GPRS cho module sim với website

Serial.println(“AT+CIPSEND”); Lệnh khởi tạo quá trình gửi dữ liệu

delay (1000); Lệnh tạo thời gian trễ 1 giây

Serial.println(“POST/test.php HTTP/1.1”); delay (1000); Serial.println(“Host: shopcuamoa.com”); delay (1000); Serial.println(“Content-Type: application/x-www-form-urlencoded”);

đoạn code gửi dữ liệu lên web theo phương thức POST

delay (1000); Serial.println(“Connection: Keep-Alive”); delay (1000); Serial.println(“Content-Length: 7”); delay (1000); Serial.println(); delay (1000); Serial.print(“data=”); Serial.println(send_data); delay (1000);

Serial.write(26); // Ma Asscii cua crtl Z delay(8000);

Quy trình lập trình điều khiển module Sim để gửi dữ liệu:

- Thiết lập kết nối GPRS giữa module Sim và Website ( Câu lệnh như sau: AT+CIPSTART=”TCP”,”shopcuamoa.com”,”80″”). Website sẽ trả lời cho module sim kết quả việc kết nối dạng text: CONNECT OK (nếu kết nối thành công) CONECT FAIL (nếu kết nối không thành công).

- Khởi tạo việc gửi dữ liệu bằng lệnh: AT+CIPSEND

- Tiếp tục gửi dữ liệu lên web ở dạng 1 chuỗi các ký tự theo phương thức POST. Câu lệnh Serial.println(send_data) sẽ gửi giá trị của biến send_data (chứa dữ liệu thu thập được từ bộ cảm biến và đã được xử lý, tính toán).

- Sau khi đã hoàn tất việc gửi dữ liệu, tiến hành đóng kết nối GPRS và đợi chu kỳ gửi tiếp theo.

Giữa các câu lệnh AT đều có một lệnh delay() để tạo khoảng thời gian trễ cho việc truyền nhận dữ liệu. Việc thay đổi thời gian trễ này sẽ ảnh hưởng đến độ chính xác của quá trình truyền dữ liệu. Nếu để thời gian trễ nhỏ có thể gây ra hiện tượng mất kết nối, dẫn đến mất dữ liệu truyền lên server. Khoảng thời gian trễ an toàn giữa các câu lệnh là từ 2 đến 3 giây. Nội dung này sẽ được trình bày trong phần thử nghiệm hệ thống ở chương 4.

Một phần của tài liệu Ứng dụng công nghệ m2m phát triển hệ thống tự động hóa quá trình đo lường, thu thập số liệu và tính cước cho ngành điện (Trang 63 - 65)