Các lệnh AT command là 1 chuỗi text mã Ascii bao gồm cả các chữ số nhằm mục đích cho phép người dùng có thể gửi AT command và đọc giá trị trả về ngay trên các chương trình Terminal trên máy tính mà chưa cần lập trình gì cả. Tuy nhiên, có một số lệnh AT command mà người dùng cần lập trình để ghi các giá trị binary. Ví dụ như lệnh AT+ADRFILTER để xác lập địa chỉ các thiết bị xung quanh mà chúng ta muốn nhận dữ liệu. Cấu trúc lệnh khi ghi xuống là
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 25 với các giá trị <len>, <adr_1>, <adr_n> là các giá trị binary. Thông tin chi tiết về mỗi lệnh AT command trong phần tiếp theo sẽ giới thiệu đầy đủ cấu trúc và kiểu giá trị input để người dùng có thể sử dụng 1 cách phù hợp.
Về cấu trúc, các lệnh AT command luôn bắt đầu bằng “AT+” và luôn kết thúc bằng “\r\n”. Để tránh lặp lại “\r\n” trong các lệnh AT command, chúng ta sẽ không ghi nó ra trong các phần tiếp theo mà ngầm hiểu là lúc gửi luôn phải có “\r\n” để báo hiệu kết thúc 1 lệnh AT command hoàn chỉnh. Tương tự, board LoraEasy sẽ gửi response và luôn kết thúc bằng “\r\n” để báo hiệu đã gửi xong response.
Ví dụ chúng ta có thể khai báo 1 mảng dữ liệu trong C để gửi AT command như sau:
char cmd = “AT+RST\r\n”; #gửi lệnh để reset board LoraEasy com.write(cmd);
Trong trường hợp người dùng gửi 1 lệnh AT command qua nhiều lần ghi xuống UART. Thời gian giữa các lần ghi xuống phải < 200ms, nếu không command sẽ bị xem là không hợp lệ và board LoraEasy sẽ kết thúc việc nhận và trả về “INVALID_CMD”.
Với mỗi lệnh AT command, chúng ta có thể có 3 cách sử dụng như sau: - Kiểu lệnh SET để thay đổi giá trị thông số hoặc gửi dữ liệu cần truyền đi Format của lệnh SET: AT+<command> = <dữ liệu>
Ví dụ: AT+LRSETUP=9,1,1,1 là lệnh để thay đổi thông số radio của Lora - Kiểu lệnh GET để đọc giá trị thiết lập hiện tại.
Format của lệnh GET: AT+<command>=?
Ví dụ: AT+LRSETUP=? là lệnh đọc giá trị thông số radio hiện tại của board LoraEasy.
- Kiểu lệnh ACTION dùng để yêu cầu board LoraEasy thực hiện 1 tác vụ cụ thể
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 26 Ví dụ: AT+RST là lệnh reset board LoraEasy
Tùy lệnh AT command mà chúng ta có thể có SET, GET và ACTION. Ví dụ lệnh AT+SEND dùng để truyền dữ liệu, chỉ có dạng SET mà thôi. Nếu người dùng gửi lệnh SET/GET/ACTION mà không được hỗ trợ cho 1 AT command, board LoraEasy sẽ trả về “FAIL”.