Zalo bán hàng : 0981 949 841
Email: sales@dientubachviet.com
Module Lora SX1278 433MHz sử dụng chip SX1278 giao tiếp chuẩn Lora, với hai yếu tố quan trọng đó là tiết kiệm năng lượng và khoảng cách phát siêu xa (Ultimate long range wireless solution), ngoài ra nó còn có khả năng cấu hình để tạo thành mạng nên hiện tại được phát triển và sử dụng rất nhiều trong các nghiên cứu về IoT. Module Lora SX1278 có khả năng thu phát với khoảng cách 3000m. Được tích hợp chuyển đổi giao tiếp chuẩn SPI của SX1278 sang UART giúp cho việc giao tiếp dễ dàng hơn.
Thông số kĩ thuật:
Hướng dẫn sử dụng module:
Để board hoạt động truyền nhận bình thường ta cần set 2 chân M0 và M1 về mức 0, ngoài ra ta có thể kết nối 2 chân này với 2 chân GPIO của vi điều khiển để cài đặt các chế độ hoạt động của module, bạn có thể tham khảo bảng sau:
Working mode | M1 | M0 | Introduction |
---|---|---|---|
Mode 0 normal | 0 | 0 | Serial open and wireless open, transparent transmission |
Mode 1 Wake-up | 0 | 1 | Serial open and wireless open |
Mode 2 Power-saving | 1 | 0 | Serial close and wireless wake-up mode |
Mode 3 Sleep | 1 | 1 | Sleep, and can receive parameter setting command |
Để tùy chỉnh các thông số thu phát: Kênh, Địa chỉ, Tốc độ, Công suất,… chúng ta cần sử dụng module chuyển đổi USB-UART Lora CP2102 kết nối với máy tính.
Với module USB-UART Lora, ta có thể đưa module Lora về các trạng thái hoạt động tùy ý bằng cách thay đổi các jumper:
Lưu ý: Để có thể cấu hình các thông số truyền nhận, ta cần đưa module Lora về trạng thái Sleep (tháo 2 jumper trên module USB-UART Lora CP2102)
Kết nối với máy tính, tải và cài đặt Driver CP210x.
Sau đó sử dụng phần mềm Wireless Module Setting để tiến hành tùy chỉnh.
Lưu ý: Để các module có thể giao tiếp được với nhau, thì các thông số tùy chỉnh như: kênh truyền
, địa chỉ
,… cần phải giống nhau.
Đấu nối:
Module Lora SX1278 | Arduino |
---|---|
VCC | 3.3VDC |
GND | GND |
M1 | Any GPIO set to 0 / GND |
RXD | Pin 3 |
TXD | Pin 2 |
M0 | Any GPIO set to 0 / GND |
Code test:
//Woon Jun Shen
//UM402 (433 MHz UART)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); //TX, RX
// gnd SET_A and SET_B for Normal Mode (Send and Receive)
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() {
if(Serial.available() > 0){//Read from serial monitor and send over UM402
String input = Serial.readString();
mySerial.println(input);
}
if(mySerial.available() > 1){//Read from UM402 and send to serial monitor
String input = mySerial.readString();
Serial.println(input);
}
delay(20);
}
Tài liệu tham khảo