Hình 5.17: Lƣu đồ thuật toán của hệ thống
5.3.2.1 Lƣu đồ của chƣơng trình giám sát
61
5.3.2.2 Lƣu đồ chƣơng trình báo động
62 Chƣơng trình nhắn tin và chƣơng trình thực hiện cuộc gọi là chƣơng trình con của chƣơng trình báo động của hệ thống ở giai đoạn 1,2. Để tránh lặp lại lƣu đồ nên nhóm sẽ tiến hành vẽ lƣu đồ thuật toán đại diện của 2 chƣơng trình nhắn tin và cuộc gọi.
a. Lƣu đồ thuật toán chƣơng trình nhắn tin
63 Trong đó:
Lệnh AT+CMGF=1: Chọn chế độ gửi và nhận tin nhắn là dạng văn bản (mặc định trả về là dạng mã hex)
Lệnh AT+CMGS= “xxxxxxx”: Bắt đầu việc gửi tin nhắn tới SĐT xxxxxxx. Sau khi thực hiện lệnh này, module SIM 800L sẽ phản hồi ký tự > chờ nội dung tin nhắn, nội dung tin nhắn ở đây là chuỗi SMS
Chuỗi SMS đây là nội dung tin nhắn đƣợc gửi đến SĐT: bao gồm nội dung cảnh báo và đƣờng dẫn google map dƣới dạng:www.google.com/maps/place/kinhdo,vido . Giá trị kinh độ, vĩ độ sẽ có đƣợc thông qua module định vị GPS NEO 6M-V2.
Sau khi gửi nội dung tin nhắn, ta gửi ký tự Ctrl+Z, tƣơng đƣơng với số nguyên 26 để kết thúc việc gửi tin nhắn.
b. Lƣu đồ thuật toán chƣơng trình thực hiện cuộc gọi
Hình 5.21: Lƣu đồ thuật toán chƣơng trình thực hiện cuộc gọi cảnh báo
Trong đó:
Lệnh ATDxxxxxx: Thực hiện cuộc gọi đến SĐT theo yêu cầu. Lệnh ATH: Kết thục cuộc gọi hiện tại.
64
5.3.2.3 Lƣu đồ thuật toán gửi dữ liệu lên Thingspeak
Hình 5.22: Lƣu đồ thuật toán gửi dữ liệu lên Thingspeak
Trong đó:
Lệnh AT+CIICR: đây là lệnh bắt đầu kết nối GPRS của module SIM 800L. Khi thực hiện lệnh này thì đèn tín hiệu của module SIM 800L chớp tắt liên tục, khác với chế độ nhận sim là 3s chớp tắt 1 lần. Có thể bỏ qua lệnh này vì một số module SIM khi truy cập mạng thì GPRS sẽ tự động bật.
65 Lệnh AT+CIPSTART= “TCP”, “api.thingspeak.com”,80. Đây là lệnh khởi động kết nối TCP của module SIM 800L:
AT+CIPSTART: Cú pháp khởi động kết nối TCP
TCP: Giao thức truyền dữ liệu của module SIM 800L
Api.thingspeak.com: Trang wed mặc định dùng để lƣu giá trị cảm biến 80: Cổng kết nối (Đối với trang Thingspeak mặc định là 80).
Lệnh AT+CIPSEND=50. Đây là lệnh xác nhận gửi dữ liệu: AT+CIPSEND: Cú pháp xác nhận gửi dữ liệu
50: Giá trị độ dài dữ liệu cần gửi (Có thể lớn hơn hoặc nhỏ hơn 50) Tiến hành gửi dữ liệu với cú pháp:
GET/update?api_key=PWZ4AQ7QKY579ES&field1=xxx
GET/update?api_key : Cú pháp gửi dữ liệu
PWZ4AQ7QKY579ES&field1: Mã API Keys của channel muốn gửi dữ liệu xxx: Giá trị cảm biến đọc đƣợc ( Đối với mô hình của nhóm bao gồm: nhiệt độ, nồng độ ppm của CO2, toạ độ, giá trị điện áp acquy, tín hiệu công tắc máy).
Sau khi gửi dữ liệu, ta gửi ký tự Ctrl+Z, tƣơng đƣơng với số nguyên 26 để kết thúc việc gửi dữ liệu.
Hình 5.23: Các giá trị của cảm biến gửi lên Thingspeak
Mỗi lần các giá trị đƣợc cập nhật thì các con số ở hình bên trên sẽ thay đổi theo thời gian thực, vì vậy ngƣời dùng có thể dựa vào đó để đánh giá hệ thống trên xe hoạt động có chính xác hay là đang gặp vấn đề mà không cần phải quan sát trực tiếp từ màn hình hiển thị trên xe.
66