33
Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 1 Hướng dẫn sử dụng LoraEasyV1 Rev: 01.00

Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

1

Hướng dẫn sử dụng LoraEasyV1 Rev: 01.00

Page 2: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

2

Nội dung 1 Giới thiệu board LoraEasy ..................................................................................................................... 4

2 Setup HW và cập nhật firmware ........................................................................................................... 7

2.1 Kết nối HW .................................................................................................................................... 7

2.2 Tín hiệu điều khiển hệ thống ........................................................................................................ 9

2.3 Cập nhật firmware với LoraEasy_Utility ..................................................................................... 10

2.4 Thông số cấu hình factory ........................................................................................................... 13

3 Các chế độ Lora/FSK cài đặt sẵn trong LoraEasy................................................................................. 13

3.1 Các chế độ truyền trong Lora ...................................................................................................... 14

3.2 Các chế độ truyền trong FSK ....................................................................................................... 15

4 Chức năng filter khi nhận dữ liệu ........................................................................................................ 15

4.1 Filter dựa vào địa chỉ board cho Lora/FSK .................................................................................. 15

4.2 Rx filter dựa vào Sync pattern trong chế độ FSK ........................................................................ 16

5 Giao tiếp AT command........................................................................................................................ 16

5.1 Cấu hình COM/UART khi giao tiếp AT command ........................................................................ 16

5.2 Cấu trúc lệnh AT command ......................................................................................................... 17

5.3 Dữ liệu Response từ board LoraEasy .......................................................................................... 18

5.4 Tập lệnh AT command ................................................................................................................ 19

5.4.1 System AT command: ......................................................................................................... 19

5.4.2 Lora AT command: .............................................................................................................. 20

5.4.3 FSK AT command: ............................................................................................................... 20

6 Các ứng dụng demo ............................................................................................................................ 21

6.1 Demo 10s .................................................................................................................................... 21

6.2 Demo với Arduino ....................................................................................................................... 23

6.3 Demo với STM32 ......................................................................................................................... 24

6.4 Demo với Raspberry Pi ................................................................................................................ 25

7 Liên hệ ................................................................................................................................................. 27

8 Appendix ............................................................................................................................................. 28

8.1.1 Tập lệnh AT command hệ thống ......................................................................................... 28

8.1.2 Tập lệnh AT command cho Lora.......................................................................................... 31

8.1.3 Lệnh AT command cho FSK ................................................................................................. 32

Page 3: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

3

Revision History:

Revision Date Description

01.00 2/7/2017 First version

Page 4: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

4

1 Giới thiệu board LoraEasy

LoraEasy là sản phẩm đầu tiên được thiết kế cả hardware và software bởi HT Electronics với

mục tiêu hỗ trợ kỹ sư, sinh viên hoặc những người đam mê công nghệ có thể tiếp cận và sử

dụng công nghệ Lora truyền xa hàng km và tiết kiệm năng lượng 1 cách nhanh chóng và dễ

dàng nhất. Thông qua việc tự động điều khiển và quản lý các tác vụ của chipset Lora và giao tiếp

với hệ thống bên ngoài qua các lệnh AT command, board LoraEasy cho phép những người phát

triển sản phẩm chỉ cần tập trung thiết kế các tính năng người dùng của sản phẩm mà tích hợp

được khả năng truyền dữ liệu ở khoảng cách xa 1 cách nhanh chóng và ổn định

LoraEasy bao gồm 2 model dành cho giao tiếp qua USB và UART:

- LoraEasy_uart: Sử dụng giao tiếp UART để dễ dàng sử dụng trong với các mạch hệ thống

nhúng như board Arduino hoặc các board sử dụng chip vi điều khiển của TI hoặc ST

- LoraEasy_usb: Sử dụng giao tiếp USB để dễ dàng sử dụng trong các ứng dụng chạy trên

máy tính, laptop, hoặc board Raspberry

Hình TOP và BOTTOM của LoraEasy_uart Hình TOP và BOTTOM của LoraEasy_usb

Page 5: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

5

Thông tin phần cứng:

- Vi xử lý STM32F103

- Module Lora SX1276

- Giao tiếp UART (board LoraEasy_uart) hoặc giao tiếp USB (board LoraEasy_usb)

- Điện áp hoạt động: 3.3V

- Tín hiệu input: 3.3V hoặc 5V

- Tín hiệu output: 3.3V

- Tần số hoạt động: 433MHz

- Tín hiệu điều khiển phần cứng (board LoraEasy_uart): RST, PWR_DOWN và BUSY

- Có thể sử dụng anten lo xo, anten whip qua SMA hoặc IPEX connector

- Kích thước board LoraEasy_uart: 28mm x 29mm x 7.5mm

Kích thước board LoraEasy_usb: 28.5mm x 28mm x 8mm

SX1276_DO1

STM32F103 SPI

FT232

Power Management 3.3V

TXD RXD

RST

BUSY

PWR_DOWN

Loxo antenna Whip antenna Ipex antenna

(UART only)

(USB only)

Page 6: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

6

Ưu điểm của LoraEasy:

- Đơn giản hóa và giảm tối đa thời gian phát triển ứng dụng với công nghệ Lora

- Hỗ trợ cả giao thức truyền FSK và Lora

- Sử dụng tất cả tính năng phần cứng của chipset SX1276 một cách đơn giản thông qua tập

lệnh AT command

- Giao tiếp đơn giản với UART hoặc USB

- Hỗ trợ các loại antenna lò xo, whip hoặc IPEX

- Được hỗ trợ cập nhật firmware từ xa thông qua việc sử dụng 1 software trên máy tính để

tăng khả năng hoạt động cũng như cập nhật tính năng mới

Ứng dụng của LoraEasy:

- Smart city

- Wireless sensor network

- Smart home

- Internet Of Thing

- Hệ thống nông nghiệp thông minh

Page 7: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

7

2 Setup hardware và cập nhật firmware

Trước khi giới thiệu chi tiết tập lệnh AT command để làm việc với board LoraEasy, trong phần

này chúng ta sẽ hướng dẫn kết nối HW, cách thức giao tiếp. Ngoài ra phần này cũng hướng dẫn

cách update firmware thông qua software LoraEasy_Utility

2.1 Kết nối hardware

Dưới đây là các hình mô tả các kết nối phần cứng cho LoraEasy_uart và LoraEasy_usb

Sử dụng LoraEasy_usb với Raspberry Pi board

Sử dụng LoraEasy_usb với laptop hoặc máy tính PC

Page 8: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

8

Sử dụng LoraEasy_uart với board Arduino

Có thể thấy board LoraEasy_usb với kết nối USB, chúng ta có thể dễ dàng sử dụng với các bộ

điều khiển có hỗ trợ USB connector như laptop hoặc board Raspberry. Sau khi kết nối,

LoraEasy_usb sẽ hiện ra như 1 COM ảo (không cần cài đặt driver) và việc giao tiếp từ trên máy

tính chỉ đơn giản là giao tiếp qua COM mà thôi

Ngược lại, board LoraEasy_uart cung cấp giao tiếp UART với mục đích giao tiếp với các mạch

điều khiển embedded. Mặc dù hoạt động ở điện áp 3.3V, LoraEasy_uart có thể giao tiếp tốt với

mạch tín hiệu cả 3.3V và 5V. Điều này cho phép LoraEasy_uart có thể làm việc với các board sử

dụng chip của Texas Instrument hoặc STM32 thường làm việc với điện áp 3.3V và cả các board

Arduino thường làm việc với điện áp 5V.

Ngoài ra, board LoraEasy_uart còn cung cấp các tín hiệu phần cứng như RST, BUSY,

PWR_DOWN để hệ thống bên ngoài có thể điều khiển trạng thái hệ thống 1 cách nhanh chóng

không cần thông qua các lệnh AT command.

Page 9: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

9

Như đã giới thiệu, sau khi kết nối thì việc giao tiếp chỉ là COM port trên máy tính hoặc UART với

các mạch điều khiển embedded. Chúng ta có thể test giao tiếp ngay với các thông số radio mặc

định của board LoraEassy như hình bên dưới

Giao tiếp với LoraEasy_usb qua chương trình Terminal trên Windows

2.2 Tín hiệu điều khiển hệ thống

Trên board LoraEasy_uart, ngoài các chân cấp nguồn và chân tín hiệu UART, còn có 3 chân tín

hiệu là RST, PWR_DOWN và BUSY với chức năng như sau:

- Chân RST: là tín hiệu Input và active LOW, sử dụng để reset toàn bộ hệ thống. Khi set LOW,

toàn bộ hệ thống bao gồm STM32 và SX1276 sẽ reset.

- PWR_DOWN: là tín hiệu Input và active LOW. Khi set LOW để điều khiển hệ thống vào

trạng thái low power (STM32 vào chế độ STANDBY và SX1276 vào chế độ SLEEP). Set HIGH

sẽ wakeup hệ thống và ra khỏi trạng thái low power

- BUSY: là tín hiệu Output, mức HIGH khi board đang Tx hoặc Rx; ngược lại thì sẽ ở mức LOW

Tín hiệu Input Output trên LoraEasy_uart

Page 10: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

10

Đối với board LoraEasy_usb, do không có các chân tín hiệu phần cứng như trên, nên người

dùng sẽ sử dụng các lệnh AT command để thực hiện chức năng tương đương. Ví dụ: lệnh

“AT+RST” để reset board LoraEasy, lệnh “AT+PWRDOWN” để vào trạng thái low power, v.v…

Đối với board LoraEasy_uart, người dùng có thể chọn sử dụng tín hiệu phần cứng hoạt sử dụng

các lệnh AT command (trong trường hợp muốn tiết kiệm chân kết nối)

2.3 Cập nhật firmware với LoraEasy_Utility

Kèm theo các board LoraEasy, HT Electronics còn cung cấp công cụ software LoraEasyUtility

chạy trên máy tính để hỗ trợ cập nhật firmware mới từ xa để cải thiện khả năng hoạt động,

cũng như cập nhật tính năng mới.

Người dùng không cần download firmware mới từ website của HT Electronics, chỉ cần kết nối

LoraEasy board vào máy tính và sử dụng LoraEasyUtility. Phần mềm sẽ tự động kiểm tra

firmware mới trên server và tự động cập nhật firmware mới xuống board LoraEasy

Sau đây là trình tự cập nhật firmware với LoraEasyUtility:

- Mở chương trình trong Start menu

- Chọn cổng COM của board LoraEasy và Connect

Page 11: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

11

- Ấn “Update FW”

Chương trình sẽ kiểm tra firmware trên server và firmware đang chạy dưới board, nếu có

firmware mới thì sẽ hiện thị message như sau:

Chọn Yes để bắt đầu quá trình update firmware mới

- Ấn “OK” sau khi quá trình hoàn tất

Page 12: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

12

Nếu firmware hiện tại và firmware trên cloud giống nhau, chương trình sẽ hiện thị thông tin sau

- Sau khi cập nhật firmware, chương trình sẽ tự động reset board LoraEasy để chạy chương

trình mới. Chúng ta có thể kiểm tra thông tin firmware bằng cách gửi lệnh AT command

(AT+INFO)

Page 13: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

13

2.4 Thông số cấu hình factory

Sau khi nạp firmware lần đầu tiên hoặc khi thực hiện lệnh AT command để trở về trạng thái

mặc định thì các thông số của board LoraEasy sẽ như sau:

Thông số Giá trị factory

Địa chỉ board FFFFFFFF

Cấu hình UART Baudrate 115200, 8-bit data, 1 Stop bit, None Parity

Radio mode Lora

Công suất High Power

Lora mode Mode 9 (SF = 7, BW=500KHz, CR=4/5, PacketCrc = Yes)

FSK mode Mode 9 (Fdev=20KHz, Bitrate=38.4kbps, PacketCrc=Yes)

Address filter Không

Sync filter Không

Bảng thông số factory của LoraEasy

Các thông số này có thể được thay đổi trong quá trình hoạt động theo yêu cầu ứng dụng bằng

cách sử dụng các AT command tương ứng. Ngoài ra, người dùng có thể sử dụng AT command

để lưu các thông số này xuống bộ nhớ Flash của LoraEasy và tự động cấu hình đúng sau khi

reset. Lưu ý là thông số UART sẽ không được lưu xuống Flash và luôn trở về giá trị mặc định sau

reset

3 Các chế độ Lora/FSK cài đặt sẵn trong LoraEasy

Board LoraEasy có thiết lập sẵn 1 số mode hoạt động cho Lora/FSK để hỗ trợ người dùng chỉ

cần sử dụng 1 AT command duy nhất để chọn 1 mode từ các mode định sẵn mà không cần phải

setup từng thông số radio của Lora/FSK. Sau khi người dùng chọn mode, firmware sẽ tự động

thay đổi các thông số theo giá trị tương ứng của mode đã chọn. Do đó người dùng không cần

gửi nhiều lệnh AT command để thay đổi các thông số radio của Lora/FSK

Page 14: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

14

3.1 Các chế độ truyền trong Lora

Các mode có thể chọn cho Lora như bảng sau:

Lora Mode Bandwidth SpreadFactor CodeRate Packet Crc Packet Header

0 500KHz 7 4/5 Có Không

1 500KHz 7 4/8 Có Không

2 250KHz 8 4/8 Có Không

3 125KHz 9 4/8 Có Không

4 125KHz 10 4/8 Có Không

5 62.5KHz 11 4/8 Có Không

6 62.5KHz 12 4/8 Có Không

7 41.66KHz 12 4/8 Có Không

8 31.25KHz 12 4/8 Có Không

9 Custom Custom Custom Custom Custom

Các chế độ định sẵn cho Lora

Ở mỗi mode, các thông số Bandwidth, SpreadFactor, CodeRate và PacketCrc được tự setup bởi

firmware của LoraEasy. Các mode 0 đến mode 8 thay đổi khả năng truyền dữ liệu theo hướng

giảm tốc độ truyền dữ liệu nhưng tăng khoảng cách truyền. Ví dụ: mode 0 sẽ truyền dữ liệu

nhanh nhất nhưng khoảng cách truyền là ngắn nhất; tương tự mode 8 sẽ truyền dữ liệu chậm

nhất nhưng khoảng cách truyền sẽ xa nhất so với các mode còn lại. Người dùng có thể chọn

mode tùy vào yêu cầu ứng dụng về khoảng cách truyền và tốc độ dữ liệu truyền. Nếu khoảng

cách truyền ngắn thì nên chọn mode thấp để tối ưu tốc độ truyền dữ liệu và ngược lại. Chú ý

mode 9 là mode custom, người dùng có thể tùy ý thay đổi giá trị của từng thông số thông qua

AT command tương ứng. Ngoài ra mode 9 là mode default sau khi reset (nếu người dùng chưa

lưu cấu hình đã thay đổi xuống flash) hoặc restore về factory

Người dùng có thể dùng lệnh “AT+LRMODE” để chọn mode cho Lora. Các chế độ truyền trong FSK

Page 15: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

15

3.2 Các chế độ truyền trong FSK

Các mode có thể chọn cho FSK như bảng sau:

FSK mode Modulation Biên độ tần số BitRate Packet Crc

0 FSK 20KHz 38.4kbps Có

1 FSK 10KHz 19.2kbps Có

2 FSK 10KHz 15kbps Có

3 FSK 5KHz 9.6kbps Có

4 FSK 2KHz 4.8kbps Có

5 FSK 2KHz 2.4kbps Có

6 FSK 2KHz 1.2kbps Có

7 Custom Custom Custom Custom

Các chế độ định sẵn cho FSK

Tương tự bên FSK cũng cung cấp các chế độ định sẵn. Các mode từ thấp đến cao sẽ tối ưu tốc

độ truyền dữ liệu nhưng cũng giảm khoảng cách truyền. Truyền khoảng cách truyền và tốc độ

truyền mà người dùng có thể chọn mode FSK tương ứng

Người dùng có thể dùng lệnh “AT+FSKMODE” để chọn mode cho FSK

4 Chức năng filter khi nhận dữ liệu

4.1 Filter dựa vào địa chỉ board cho Lora/FSK

Mỗi board LoraEasy có thể được set 1 địa chỉ board 32-bit. Sau khi được set địa chỉ, LoraEasy

sẽ tự thêm 32-bit địa chỉ này khi gửi dữ liệu qua Lora/FSK. Ở trạng thái factory thì địa chỉ

board này là 0xFFFFFFFF và LoraEasy board sẽ không gửi giá trị địa chỉ default này khi truyền dữ

liệu.

Ví dụ: Nếu không set địa chỉ board, thì data khi truyền sẽ là <user data>

Nếu có set địa chỉ board, thì data khi truyền sẽ là <địa chỉ><user data>

Ngược lại, board LoraEasy khi nhậnthì người dùng có thể tạo 1 danh sách các thiết bị (tối đa 5

thiết bị) để nhận dữ liệu. Sau khi setup danh sách các board cần nhận, board LoraEasy sẽ tự

động filter và chỉ gửi dữ liệu nhận được lên host từ các board trong danh sách mà thôi. Nếu

Page 16: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

16

danh sách chưa được setup thì board LoraEasy sẽ luôn nhận dữ liệu từ tất cả các board khác.

Chú ý là khi cho phép filter board thì dữ liệu gửi lên từ board LoraEasy sẽ là <địa chỉ><Rx

data>; ngược lại khi không filter board thì dữ liệu gửi lên từ board LoraEasy sẽ là <Rx data>

mà thôi.

Để ghi địa chỉ Lora xuống board, dùng lệnh “AT+DEVADDR”

Để tạo danh sách address filter, dùng lệnh “AT+ADRFILTER”

4.2 Rx filter dựa vào Sync pattern trong chế độ FSK

Ngoài phương pháp Rx filter dựa vào địa chỉ board như trên, trong mode FSK, người dùng có

thể sử dụng phương pháp Rx filter dựa vào trường Sync trong radio packet của FSK. Phương

pháp này sẽ tự động bỏ qua các radio packet mà có trường Sync không trùng với giá trị được

set bởi người dùng

Người dùng có thể set max 8 bytes để filter các FSK packet trùng với giá trị Sync Filter

Phía Tx và Rx phải set giá trị Sync Filter giống nhau để có thể nhận dữ liệu

Để filter theo trường Sync, sử dụng lệnh “AT+FSKSYNCFILTER”

5 Giao tiếp AT command

Trong phần này, chúng ta sẽ giới thiệu cách thức giao tiếp với board LoraEasy bao gồm cấu trúc

các lệnh AT command, các nhóm tập lệnh và cấu hình COM hoặc UART khi giao tiếp

5.1 Cấu hình COM/UART khi giao tiếp AT command

Sau khi reset, LoraEasy luôn sử dụng cấu hình COM/UART mặc định là 115200 baudrate, 8-bit

data, 1-bit stop, None parity. Tuy người dùng có thể sử dụng AT command để thay đổi cấu hình

COM/UART nhưng thông tin này sẽ bị mất sau khi reset. Mục đích cuối cùng nhằm giúp người

dùng có thể luôn sử dụng được board LoraEasy dù trong trường hợp quên cấu hình đã thay đổi

(do làm việc lại sau 1 khoảng thời gian dài chẳng hạn)

Sau khi power on hoặc sau khi reset, board LoraEasy sẽ tự động gửi “OK\r\n” với thông số

COM/UART mặc định như trên để host có thể biết board đã sẵn sàng hoạt động. Phía host cũng

Page 17: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

17

có thể chủ động gửi vài lệnh “AT” và đợi nhận lại “OK” để kiểm tra trạng thái sẵn sàng của

board LoraEasy

5.2 Cấu trúc lệnh AT command

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à AT+ADRFILTER=<len><adr_1>…<adr_n> 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

Page 18: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

18

- 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ể

Format của lệnh ACTION: AT+<command>

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”

5.3 Dữ liệu Response từ board LoraEasy

Sau khi nhận được 1 lệnh AT command hoàn chỉnh, board LoraEasy sẽ trả về 1 trong các giá trị

sau:

Dữ liệu Response Ý nghĩa

“OK” Khi nhận được AT command hoàn chỉnh và hợp lệ và thực hiện yêu cầu

thành công

“FAIL” Khi nhận được AT command hợp lệ nhưng yêu cầu không được thực

hiện thành công

“INVALID_CMD” Khi nhận được 1 lệnh AT command không hợp lệ, hoặc timeout khi

nhận command

“INVALID_PARAMS” Khi nhận được thông số không hợp lệ cho 1 lệnh AT command tương

ứng

“UNSUPPORTED” Khi nhận được command hợp lệ nhưng không được support cho board

cụ thể

“INVALID_LEN” Khi không nhận đủ dữ liệu như mong đợi

“INVALIDE_MODE” Khi nhận command thiết lập cấu hình không phải cho chế độ hoạt động

hiện tại

Các loại dữ liệu Response từ board LoraEasy

Page 19: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

19

5.4 Tập lệnh AT command

Các lệnh AT command có thể được chia làm 3 nhóm lệnh

- Nhóm lệnh quản lý hệ thống để điều khiển các thông số mang tính hệ thống. Ví dụ các lệnh

cho việc cấu hình UART, thay đổi chế độ truyền Lora hay FSK, xác lập băng tần hoạt động,

hoặc các lệnh ACTION như lệnh reset chẳng hạn

- Nhóm lệnh cho Lora mode dùng để thiết lập cấu hình như thông số radio, device filter,

v.v… khi board LoraEasy đang hoạt động trong chế độ Lora

- Nhóm lệnh cho FSK mode dùng để điều khiển board LoraEasy trong chế độ truyền bằng

FSK

Chú ý là chúng ta chỉ đề cập Response trả về trong trường hợp command hợp lệ và trong

trường hợp không được hỗ trợ. Các giá trị Response trong các trường hợp này đã được giới

thiệu ở phần 3.2, nên chúng ta sẽ không lặp lại ở đây.

Phần tiếp theo sẽ liệt kê các lệnh AT command và phần Appendix sẽ giải thích chi tiết cú pháp

và cách sử dụng cho từng lệnh

5.4.1 System AT command:

Tên SET GET ACTION Chức năng

AT X X Y Kiểm tra kết nối với LoraEasy

AT+INFO Y Y X Đọc firmware version của LoraEasy

AT+RST X X Y Reset board LoraEasy

AT+DEFAULT X X Y Trở về trạng thái factory

AT+UART Y Y X Thay đổi cấu hình UART

AT+TRANSMODE Y Y X Chọn chế độ Lora hay FSK

AT+PWR Y Y X Chọn chế độ công suất tiêu thụ để tang khoảng cách truyền

AT+FRQBAND Y Y X Chọn tần số hoạt động (433MHz, 868MHz)

AT+RSSI X Y X Đọc giá trị RSSI của radio packet nhận được

AT+PWRDOWN X X Y Vào chế độ Standby để low power

AT+BUSY X Y X Đọc trạng thái Tx/Rx của LoraEasy

AT+TEMP X Y X Đọc cảm biến nhiệt độ bên trong SX1276

AT+SAVECONFIG X X Y Lưu các thông số hoạt động hiện tại xuống Flash

AT+SEND Y X X Gửi dữ liệu để truyền qua Lora/FSK

AT+RECV Y Y X Vào chế độ Rx để nhận dữ liệu từ Lora/FSK

AT+DEVADDR Y Y X Set địa chỉ cho board khi cần dùng chức năng address filter

AT+ADRFILTER Y Y X Setup danh sách các board LoraEasy để filter khi Rx

AT+CALIB X X Y Thực hiện calibrate phần cứng của SX1276

Các lệnh AT command cho System

Page 20: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

20

5.4.2 Lora AT command:

Tên SET GET ACTION Chức năng

AT+LRMODE Y Y X Chọn chế độ định sẵn cho Lora

AT+LRDEFAULT X X Y Trở về factory cho Lora

AT+LRSETUP Y Y X Thay đổi các thông số radio của Lora

AT+LRHEADERMODE Y Y X Chọn Header mode cho Lora

Các lệnh AT command cho Lora

5.4.3 FSK AT command:

Tên SET GET ACTION Chức năng

AT+FSKMODE Y Y X Chọn chế độ định sẵn cho Lora

AT+FSKDEFAULT X X Y Trở về factory cho Lora

AT+FSKSETUP Y Y X Thay đổi các thông số radio của Lora

AT+FSKSYNCFILTER Y Y X Setup giá trị cho Sync để filter khi Rx

AT+FSKBEACON Y Y X Setup dữ liệu để phát theo kiểu beacon

AT+FSKRXBEACON Y Y X Cho phép nhận dữ liệu beacon

Các lệnh AT command cho FSK

Page 21: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

21

6 Các ứng dụng demo

Trong phần này, các ứng dụng demo của board LoraEasy sẽ được giới thiệu nhằm giúp người

dùng làm quen với cách sử dụng board LoraEasy cũng như cung cấp các project mẫu để phát

triển các ứng dụng thực tế khác

6.1 Demo 10s

Demo này chỉ cần 10s để setup và test truyền nhận. Do đó tên của nó là Demo 10s

Setup HW: Kết nối 2 board LoraEasy_usb vào 2 port USB của máy tính.

Mở 2 chương trình Terminal trên máy tính cho 2 cổng COM ảo và xác lập giá trị COM là 115200,

8-bit data, 1 Stop bit và None parity.

Setup chương trình Terminal cần tự động thêm ký tự “\r\n” khi gửi

Page 22: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

22

Phía Rx, gửi text “AT+RECV=zz” để vào chế độ Rx

Phía Tx, gửi text “AT+SEND=0Hello! Day la demo 10s de test board LoraEasy OK”. Chú ý, ‘0’ sau

dấu ‘=’ có giá trị ascii là 48, nên chuỗi text gửi phải có độ dài 48bytes

Có thể đảo lại command của 2 board để kiểm tra chiều Tx/Rx ngược lại

Kết quả demo có thể như hình bên dưới:

Kết quả trên Terminal để test Tx/Rx qua Lora

Page 23: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

23

6.2 Demo với Arduino

Trong demo này, chúng ta sẽ lập trình trên Arduino giao tiếp với LoraEasy_uart để truyền nhận dữ liệu

qua công nghệ Lora. Với demo này, người dùng có thể mở cửa sổ Serial Monitor trong Arduino để

truyền AT command, dữ liệu Tx và hiện thị giá trị Response và dữ liệu Rx

Setup HW:

- Tạo 2 thiết bị Lora từ kết nối board Arduino ATmega2560 và LoraEasy_uart như hình sau

Kết nối Arduino ATmega2560 và LoraEasy_uart Ở đây chúng ta chỉ cần sử dụng chân TX1, RX1, 2, 3.3V và GND để kết nối vào RXD, TXD, RST, 3.3V và

GND của LoraEasy_uart

- Nạp code Arduino: Arduino_LoraEasy.ino

- Sau đó mở Serial Monitor trong Arduino IDE của từng board, người dùng có thể gửi lệnh AT

command, đọc dữ liệu Response, hoặc gửi dữ liệu Tx, và hiện thị dữ liệu Rx như hình sau

Demo giao tiếp giữa Arduino ATmega2560 và LoraEasy_uart

Page 24: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

24

Chúng ta có thể dùng 1 board Arduino + LoraEasy_uart và máy tính + LoraEasy_usb để chạy demo này.

6.3 Demo với STM32

Tương tự với demo trên Arduino, chúng ta cũng có demo với tính năng tương tự cho 1 ứng dụng trên

STM32F103 của STMicro

Trong demo này, một thiết bị Lora sẽ sử dụng STM32F103 + LoraEasy_uart. Trong đó STM32F103 sẽ sử

dụng 2 cổng UART như sau:

- 1 UART giao tiếp với chương trình Terminal trên máy tính để đọc dữ liệu từ người dùng và hiện thị

dữ liệu Response cũng như dữ liệu Rx qua Lora

- 1 UART giao tiếp với board LoraEasy_uart để truyền/nhận qua Lora

Thiết bị Lora còn lại có thể là 1 board STM32F103 + LoraEasy_uart hoặc máy tính + LoraEasy_usb. Ở đây

chúng ta sẽ chọn máy tính + LoraEasy_usb

Setup HW:

- Kết nối board STM32F103 với LoraEasy_uart như sau:

Kết nối STM32F103 board với LoraEasy_uart

- Thiết bị còn lại thì chỉ đơn giản sử board LoraEasy_usb và máy tính

Source code và Keil project cho STM32F103: STM32_lora.zip

Mở 2 chương trình Terminal trên máy tính để làm việc với thiết bị STM32F103 + LoraEasy_uart và board

LoraEasy_usb. Người dùng có thể gửi AT command, gửi dữ liệu Tx xuống board STM32, và sau đó board

STM32 sẽ gửi lại dữ liệu Response hoặc dữ liệu Rx từ LoraEasy_uart

Page 25: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

25

Demo giao tiếp giữa STM32F103 và LoraEasy_uart

6.4 Demo với Raspberry Pi

Trong demo này, chúng ta demo ứng dụng chạy trên Raspberry board có khả năng truyền dữ liệu qua

Lora với board LoraEasy_usb

Setup HW cho Raspberry Pi board, máy tính và 2 board LoraEasy_usb như hình sau

Page 26: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

26

Trên Raspberry board, chúng ta sẽ sử dụng ngôn ngữ Python được hỗ trợ sẵn và tận dụng rất nhiều thư

viện phong phú của Python

File code: rasp_terminal.py

Chạy chương trình Python rasp_terminal.py trong Terminal trên Raspberry. Người dùng có thể gửi các

lệnh AT command từ Terminal để gửi xuống LoraEasy_usb tương tự như chương trình Terminal trên

Windows.

Người dùng có thể gửi lệnh AT command, dữ liệu Tx, và đọc dữ liệu Response cũng như dữ liệu Rx như

hình bên dưới:

Demo giao tiếp giữa Raspberry Pi và LoraEasy_usb

Page 27: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

27

File code: rasp_lora.py

Trong demo này, chương trình Python chức năng tương tự như demo cho Arduino và STM32F103; nghĩa

là chương trình tự khởi động board LoraEasy_usb, nhận AT command, dữ liệu Tx từ người dùng để gửi

xuống board LoraEasy_uart, sau đó hiện thị dữ liệu Response và dữ liệu Rx như hình bên dưới:

Demo sử dụng LoraEasy_usb với board Raspberry Pi

7 Liên hệ

Mọi thắc mắc, vấn đề trong khi sử dụng, hoặc liên hệ hợp tác, vui lòng liên hệ theo thông tin sau:

HT Electronics

Website: htelectronics.vn

Địa chỉ: 256B Nguyễn Văn Luông F11, Q6, HCM VN

Điện thoại: 01289891021

Email: [email protected]

Fanpage: https://www.facebook.com/htelectronics

Page 28: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

28

8 Appendix

8.1.1 Tập lệnh AT command hệ thống “AT” Chức năng: Kiểm tra trạng thái sẵn sàng của board LoraEasy Lệnh SET: NA Lệnh GET: NA Lệnh Action: “AT” Response: “OK”

“AT+INFO” Chức năng: Đọc thông tin firmware version của board Lệnh SET: NA Lệnh GET: “AT+INFO=?” Response: <chipset> - AT SDK version:<XX>.<YY> .Supported by HTE <chipset> = tên radio chipset trên board. Giá trị: “SX1276”, “SX1278” <XX> = major firmware version. Ví dụ: <XX> = “01” <YY> = minor firmware version. Ví dụ: <YY> = “00” Lệnh ACTION: NA

“AT+RST” Chức năng: Reset board LoraEasy Lệnh SET: NA Lệnh GET: NA Lệnh ACTION: “AT+RST” Response: “OK” sau khi reset

“AT+DEFAULT” Chức năng: Set board về trạng thái factory và xóa hết tất các thông số đã thay đổi Lệnh SET: NA Lệnh GET: NA Lệnh ACTION: “AT+DEFAULT” Response: “OK”

“AT+UART” Chức năng: Cấu hình giao tiếp UART Lệnh SET: “AT+UART=<baud>,<datasize>,<stopbit>,<parity>”

<baud> = ‘0’ = 9600 ‘1’ = 19200 ‘2’ = 38400 ‘3’ = 57600 ‘4’ = 115200 ‘5’ = 230400 ‘6’ = 460800 <datasize> = ‘0’ = 8-bit ‘1’ = 7-bit <stopbit> = ‘0’ = ½ bit ‘1’ = 1 bit ‘2’ = 3/2 bit ‘3’ = 2 bit <parity> = ‘0’ = NONE ‘1’ = EVEN ‘2’ = ODD Response: “OK” ở cấu hình UART hiện tại và sau đó board LoraEasy sẽ hoạt động theo bộ thông

số mới Lệnh GET: “AT+UART=?” Response: “OK\r\n<baud>,<datasize>,<stopbit>,<parity>\r\n” Lệnh ACTION: NA

Page 29: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

29

AT+TRANSMODE Chức năng: Chọn chế độ truyền Lora hay FSK Lệnh SET: “AT+TRANSMODE=<mode>” <mode> = ‘0’ = Lora ‘1’ = FSK Response: “OK” Lệnh GET: “AT+TRANSMODE=?” Response: “OK\r\n<mode>\r\n” Lệnh ACTION: NA

AT+PWR Chức năng: Chọn cập độ năng lượng hoạt động để tối ưu khi truyền xa hoặc truyền gần Lệnh SET: “AT+PWR=<level>” <level> = ‘0’ = low power ‘1’ = medium power ‘2’ = high power Response: “OK” Lệnh GET: “AT+PWR=?” Response: “OK\r\n<level>\r\n” Lệnh ACTION: NA

AT+FRQBAND Chức năng: Chọn băng tần hoạt động như 433MHz hay 868MHz Lệnh SET: “AT+FREQBAND=<freq>” <freq> = ‘0’ = 160MHz ‘1’ = 433MHz ‘2’ = 868MHz Response: “OK” Lệnh GET: “AT+FREQBAND=?” Response: “OK\r\n<freq>\r\n” Lệnh ACTION: NA

AT+RSSI Chức năng: Đọc giá trị RSSI của radio packet nhận được Lệnh SET: NA Lệnh GET: “AT+RSSI=?” Response: “OK\r\n<value>\r\n” <value> = 3 chữ số cho giá trị âm của RSSI. Ví dụ: “130” = -130dB RSSI Lệnh ACTION: NA

AT+PWRDOWN Chức năng: Bắt đầu vào chế độ Standby và low power Lệnh SET: NA Lệnh GET: NA Lệnh ACTION: “AT+PWRDOWN” Response: “OK” và sau đó board LoraEasy sẽ vào chế độ Standby khi hoàn thành Tx/Rx

AT+BUSY Chức năng: Đọc trạng thái nếu board LoraEasy đang Tx hoặc Rx Lệnh SET: NA Lệnh GET: “AT+BUSY” Response: “OK\r\n<busy>\r\n” <busy> = ‘0’ = Hiện tại không Tx/Rx ‘1’ = Đang Tx/Rx Lệnh ACTION: NA

Page 30: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

30

AT+TEMP Chức năng: Đọc giá trị cảm biến tích hợp trong chipset SX1276/SX1278 Lệnh SET: NA Lệnh GET: “AT+TEMP=?” Response: “OK\r\n<temp>\r\n” Lệnh ACTION: NA

AT+SAVECONFIG Chức năng: Lưu thông số hệ thống hiện tại xuống bộ nhớ Flash để sử dụng lại sau khi reset Lệnh SET: NA Lệnh GET: NA Lệnh ACTION: “AT+SAVECONFIG” Response: “OK\r\n”

AT+SEND Chức năng: Truyền dữ liệu cần gửi đi Lệnh SET: “AT+SEND=”<len><data> <len> = 1 byte binary = số lượng theo byte của dữ liệu cần gửi <data> = chuỗi byte binary của dữ liệu cần gửi theo đúng giá trị <len> Response: “OK” Sau khi hoàn thành Tx, board LoraEasy sẽ gửi tiếp “TX DONE” để báo đã hoàn tất. Bên host có thể tiếp tục gửi dữ liệu. Do <len> chỉ là 1 byte nên max dữ liệu gửi đi là 255 bytes Lệnh ACTION: NA

AT+RECV Chức năng: Vào chế độ Rx Lệnh SET: “AT+RECV=”<timeout> <timeout> = 16-bit thời gian trong RX, đơn vị là ms Các giá trị đặc biệt: 0 = Dừng RX ngay FFFF = Luôn RX

Response: “OK” Lệnh GET: “AT+RECV=?” Response: “OK\r\n”<timeout>”\r\n” <timeout> = thời gian còn lại trong Rx Lệnh ACTION: NA

AT+CALIB Chức năng: Thực hiện việc hiệu chỉnh phần cứng trong chipset SX1276 để Tx/Rx tốt hơn Lệnh SET: NA Lệnh GET: NA Lệnh ACTION: “AT+CALIB” Response: “OK”

AT+DEVADDR Chức năng: Setup địa chỉ cho board LoraEasy Lệnh SET: “AT+DEVADDR=”<board addr> <board adr> = giá trị 32-bit binary. Nếu set 0xFFFFFFFF thì sẽ disable tính năng gửi địa chỉ kèm theo Tx data Lệnh GET: “AT+DEVADR=?” Response: “OK\r\n”<board addr>”\r\n” Lệnh ACTION: NA

Page 31: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

31

AT+ADRFILTER Chức năng: Setup danh sách các board LoraEasy muốn nhận Lệnh SET: “AT+ADRFILTER=”<len><adr1><adr2>…<adr5> <len> = số byte của <adr1><adr2>….<adr5> <adr> = giá trị 32-bit binary địa chỉ board muốn nhận

Note: LoraEasy hỗ trợ filter tối đa 5 thiết bị. Người dùng có thể setup danh sách nhỏ hơn 5 thiết bị Response: “OK\r\n”

Lệnh GET: “AT+ADRFILTER=?” Response: “OK\r\n”<len><adr1><adr2>…<adr5> Lệnh ACTION: NA

8.1.2 Tập lệnh AT command cho Lora AT+LRMODE Chức năng: Chọn 1 trong các chế độ cung cấp sẵn cho Lora Lệnh SET: “AT+LRMODE=<mode>” <mode> = ‘0’ đến ‘8’ tương ứng với Lora mode 0 đến mode 8 Response: “OK” Lệnh GET: “AT+LRMODE=?” Response: “OK\r\n<mode>\r\n” Lệnh ACTION: NA

AT+LRDEFAULT Chức năng: Set thông số factory chỉ riêng cho phần Lora Lệnh SET: NA Lệnh GET: NA Lệnh ACTION: “AT+LRDEFAULT” Response: “OK”

AT+LRSETUP Chức năng: Xác lập các thông số Spread Factor, Bandwidth, v.v… theo yêu cầu cụ thể Lệnh SET: “AT+LRSETUP=<bw>,<sf>,<cr>,<crc> <bw> = Bandwidth: ‘0’ = 7.8KHz ‘1’ = 10.4KHz ‘2’ = 15.6KHz ‘3’ = 20.8KHz

‘4’ = 31.25KHz ‘5’ = 41.7KHz ‘6’ = 62.5KHz ‘7’ = 125KHz ‘8’ = 250KHz ‘9’ = 500KHz

<sf> = Spread factor: ‘0’ = 7 ‘1’ = 8 ‘2’ = 9 ‘3’ = 10 ‘4’ = 11 ‘5’ = 12 <cr> = Code rate: ‘0’ = 4/5 ‘1’ = 4/6 ‘2’ = 4/7 ‘3’ = 4/8 <crc> = Packet CRC: ‘0’ = Không CRC ‘1’ = Có CRC Response: “OK” Lệnh GET: “AT+LRSETUP=?” Response: “OK\r\n<bw>,<sf>,<cr>,<crc>\r\n” Lệnh ACTION: NA

Page 32: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

32

AT+LRHEADERMODE Chức năng: Cho phép gửi thêm thông tin packet header trong frame truyền của lora Lệnh SET: “AT+LRHEADERMODE=<value>” <value> = ‘0’ = Không Packet header ‘1’ = Có Packet header Response: “OK” Lệnh GET: “AT+LRHEADERMODE=?” Response: “OK\r\n<value>\r\n” Lệnh ACTION: NA

8.1.3 Lệnh AT command cho FSK AT+FSKMODE Chức năng: Chọn các mode định sẵn cho FSK Lệnh SET: “AT+FSKMODE=<mode>” <mode> = ‘0’ đến ‘6’ tương ứng cho mode 0 đến mode 6 Response: “OK” Lệnh GET: “AT+FSKMODE=?” Response: “OK\r\n<mode>\r\n” Lệnh ACTION: NA

AT+FSKDEFAULT Chức năng: Trở về trạng thái factory các thông số của FSK Lệnh SET: NA Lệnh GET: NA Lệnh ACTION: “AT+FSKDEFAULT” Response: “OK”

AT+FSKSETUP Chức năng: Cấu hình các thông số của FSK theo yêu cầu ứng dụng Lệnh SET: “AT+FSKSETUP=<type>,<fdev>,<bitrate>,<crc> <type> = Loại modulation: ‘0’ = FSK ‘1’ = OOK <fdev> = Độ dao động tần số: ‘0’ = 2KHz ‘1’ = 5KHz ‘2’ = 10KHz ‘3’ = 20KHz

‘4’ = 35KHz ‘5’ = 75KHz <bitrate> = Bitrate: ‘0’ = 1.2kbps ‘1’ = 2.4kbps ‘2’ = 4.8kbps ‘3’ = 9.6kbps ‘4’ = 15kbps ‘5’ = 19.2kbps ‘6’ = 38.4kbps <crc> = Package CRC ‘0’ = Không CRC ‘1’ = Có CRC Response: “OK” Lệnh GET: “AT+FSKSETUP=?” Response: “OK\r\n<type>,<fdev>,<bitrate>,<crc>\r\n” Lệnh ACTION: NA

AT+FSKSYNCFILTER Chức năng: Xác lập dữ liệu trong Packet Sync để filter Lệnh SET: “AT+FSKSYNCFILTER=”<size><sync_pattern> <size> = giá trị binary cho số byte trong <sync_pattern>, max <size> = 8 <sync_pattern> = giá trị binary để filter các packet FSK có Packet Sync trùng với giá trị xác lập Response: “OK” Lệnh GET: “AT+FSKSYNCFILTER=?” Response: “OK\r\n”<size><sync_pattern>”\r\n” Lệnh ACTION: NA

Page 33: Hướng dẫn sử dụng LoraEasyV1 - HT Electronics...Hướng dẫn sử dụng LoraEasyV1 – HT Electronics 4 1 Giới thiệu board LoraEasy LoraEasy là sản phẩm đầu

Hướng dẫn sử dụng LoraEasyV1 – HT Electronics

33

AT+FSKBEACON Chức năng: Cho phép ghi dữ liệu beacon để tự động phát lại bởi board LoraEasy Lệnh SET: “AT+FSKBEACON=”<len><interval><beacon data> <len> = số byte của <interval> + <beacon data> <interval> = giá trị binary 32-bit cho thời gian giữa các lần phát theo ms <beacon data> = dữ liệu sẽ được phát theo dạng beacon tối đa 62bytes Response: “OK” Lệnh GET: “AT+FSKBEACON=?” Response: “OK\r\n”<len><interval><beacon data>”\r\n” Lệnh ACTION: NA

AT+FSKRXBEACON Chức năng: Set vào chế độ nhận Beacon data Lệnh SET: “AT+FSKRXBEACON=”<len> <len> = số byte dữ liệu beacon sẽ nhận (phải giống độ dài beacon data bên Tx) Nếu <len> là 0 thì sẽ tắt chế độ nhận Beacon Response: “OK” Lệnh GET: “AT+FSKRXBEACON=?” Response: “OK\r\n”<len>”\r\n” Lệnh ACTION: NA