Mục lục:

Biểu thức Arduino LoRa đơn giản (hơn 5km): 9 bước
Biểu thức Arduino LoRa đơn giản (hơn 5km): 9 bước

Video: Biểu thức Arduino LoRa đơn giản (hơn 5km): 9 bước

Video: Biểu thức Arduino LoRa đơn giản (hơn 5km): 9 bước
Video: [CUT] Thesis Defense | UTE-UDN | Hệ thống IoT phục vụ nông nghiệp ứng dụng công nghệ LoRa 2024, Tháng bảy
Anonim
Biểu thức Arduino LoRa đơn giản (hơn 5km)
Biểu thức Arduino LoRa đơn giản (hơn 5km)

Chúng tôi sẽ kiểm tra E32-TTL-100 với thư viện của tôi. Nó là một mô-đun thu phát không dây, hoạt động ở tần số 410 441 MHz (hoặc 868MHz hoặc 915MHz) dựa trên RFIC SX1278 gốc từ SEMTECH, có sẵn đường truyền trong suốt, mức TTL. Mô-đun áp dụng công nghệ trải phổ LORA.

Quân nhu

  • Arduino UNO
  • LoRa e32 thiết bị

Không bắt buộc

  • Lá chắn Mischianti Arduino LoRa (Nguồn mở)
  • Lá chắn Mischianti WeMos LoRa (Nguồn mở)

Bước 1: Thông số thiết bị

Mô-đun có thuật toán Sửa lỗi Chuyển tiếp FEC, đảm bảo hiệu quả mã hóa cao và hiệu suất sửa tốt. Trong trường hợp bị nhiễu đột ngột, nó có thể tự động sửa các gói dữ liệu bị can thiệp, do đó độ tin cậy và phạm vi truyền được cải thiện tương ứng. Nhưng không có FEC, những gói tin da te đó chỉ có thể bị loại bỏ. Và với sự mã hóa & giải mã nghiêm ngặt, việc đánh chặn dữ liệu trở nên vô nghĩa. Chức năng nén dữ liệu có thể làm giảm thời gian truyền và xác suất bị nhiễu, đồng thời cải thiện độ tin cậy và hiệu quả truyền.

  • Kích thước mô-đun: 21 * 36mm
  • Loại anten: SMA-K (trở kháng 50Ω)
  • Khoảng cách truyền: 3000m (tối đa)
  • Công suất tối đa: 2dB (100mW)
  • Tốc độ đường truyền: 2,4Kb / giây (6 mức tùy chọn (0,3, 1,2, 2,4, 4,8, 9,6, 19,2kb / giây)
  • Chiều dài phát xạ: 512ByteReceive
  • chiều dài: 512Byte
  • Giao diện truyền thông: UART - 8N1, 8E1, 8O1,
  • Tám loại tốc độ truyền UART, từ 1200 đến 115200bps (Mặc định: 9600)
  • Hỗ trợ RSSI: Không (Xử lý thông minh tích hợp)

Bước 2: Loại truyền dẫn

Loại truyền tải
Loại truyền tải

Truyền trong suốt Đây có thể được coi là “chế độ Demo”, theo mặc định, bạn có thể gửi tin nhắn đến tất cả các thiết bị có cùng địa chỉ và kênh được định cấu hình.

Truyền cố định

Kiểu truyền này bạn có thể chỉ định địa chỉ và kênh nơi bạn muốn gửi tin nhắn. Bạn có thể gửi tin nhắn tới:

  • Thiết bị được chỉ định có Địa chỉ Thấp, Địa chỉ Cao và Kênh được xác định trước.
  • Truyền tin nhắn đến một nhóm thiết bị kênh Chế độ bình thường Đơn giản chỉ cần gửi tin nhắn.

Bước 3: Chế độ thiết bị

Chế độ bình thường Chỉ gửi tin nhắn.

Chế độ đánh thức và chế độ tiết kiệm điện

Như bạn có thể dự định nếu một thiết bị ở chế độ Đánh thức có thể "đánh thức" một hoặc nhiều thiết bị đang ở chế độ tiết kiệm năng lượng bằng một giao tiếp mở đầu.

Chương trình / chế độ ngủ

Với cấu hình này, bạn có thể thay đổi cấu hình thiết bị của mình.

Bước 4: Thiết bị đấu dây

Thiết bị nối dây
Thiết bị nối dây
Thiết bị nối dây
Thiết bị nối dây

Đây là giản đồ kết nối của thiết bị, đây là một kết nối hoàn chỉnh, với sự quản lý của chân M0 và M1 cho phép thay đổi chế độ của thiết bị, vì vậy bạn có thể chuyển sang chế độ cấu hình hoặc đánh thức bằng chương trình, thư viện giúp bạn trong tất cả điều này hoạt động.

Bước 5: Cấu hình

Cấu hình
Cấu hình

Tồn tại một lệnh được chỉ định để thiết lập và nhận cấu hình

void setup () {Serial.begin (9600); chậm trễ (500); // Khởi động tất cả các chân và UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Điều quan trọng là lấy con trỏ cấu hình trước tất cả các thao tác khác Cấu hình cấu hình = * (Cấu hình *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (cấu hình); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Điều quan trọng là lấy con trỏ thông tin trước tất cả các thao tác khác ModuleInformation mi = * (ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

Bước 6: Kết quả cấu hình

Và kết quả trở thành

Bắt đầu thành công 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chân BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (Mặc định) SpeedUARTDataRate BIN: 11 -> 9600bps (mặc định) SpeedAirDataRate BIN: 10 -> 2,4kbps (mặc định) OptionTrans BIN: 0 - > Truyền trong suốt (mặc định) OptionPullup BIN: 1 -> TXD, RXD, AUX là push-pull / pull-up OptionWakeup BIN: 0 -> 250ms (mặc định) OptionFEC BIN: 1 -> Bật công tắc sửa lỗi chuyển tiếp (mặc định) OptionPower BIN: 0 -> 20dBm (Mặc định) ---------------------------------------- Thành công 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 Model no.: 32 Phiên bản: 44 Tính năng: 14 ----------------------------------------

Bước 7: Gửi tin nhắn

Gửi tin nhắn
Gửi tin nhắn

Đây là một bản phác thảo đơn giản để gửi tin nhắn đến tất cả các thiết bị được gắn vào kênh

void loop () {// Nếu có thứ gì đó if (e32ttl100.available ()> 1) {// đọc thông báo Chuỗi ResponseContainer rc = e32ttl100.receiveMessage (); // Có vấn đề gì xảy ra với lỗi in không if (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// In dữ liệu nhận được Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (đầu vào); }}

Bước 8: Lá chắn cho Arduino

Lá chắn cho Arduino
Lá chắn cho Arduino

Tôi cũng tạo ra một lá chắn cho Arduino trở nên rất hữu ích cho việc tạo mẫu.

Và tôi phát hành Nó dưới dạng dự án mã nguồn mở ở đây

www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html

Bước 9: Thư viện

Thư viện
Thư viện

Kho lưu trữ GitHub

Diễn đàn hỗ trợ

Tài liệu bổ sung

Đề xuất: