Cấu hình cổng LoraWan


10

Tôi đang cố gắng xây dựng Mạng LoRaWan bằng cảm biến được lập trình với Arduino và Dragino Lora Shield .

Tôi đã tìm thấy nhiều giải pháp để tạo một cổng, bao gồm Raspberry Pi được kết nối với một Dragino Lora Shield khác hoặc với iC880A , và dữ liệu tôi nhận được sẽ được gửi đến một máy chủ trong đám mây. Tôi rất bối rối về lập trình cổng.

  • Tôi có cần bảo nó kết nối với nút và với máy chủ không? Hay nó nhận dữ liệu tự động?
  • Và tôi có lập trình máy chủ để kết nối với cổng hoặc trực tiếp đến các nút không?

2
Chào mừng đến với trang web. Bạn có thể thêm một vài thông tin về kiểu máy nào bạn đang sử dụng và thêm một số chi tiết về trường hợp sử dụng của bạn không? Điều này sẽ giúp chúng tôi cung cấp cho bạn câu trả lời tốt hơn.
Helmar

Xin chào và cảm ơn! Tôi là người mới bắt đầu sử dụng mạng Iot vì vậy tôi đã tạo một nút bằng cách sử dụng arduino uno, cảm biến nhiệt độ và Dragino Lora Shield, tôi đang cố gửi ngày đến máy chủ nên tôi đã thử tạo LoraWan Gateway bằng raspberry pi, tôi đã tạo Một số nghiên cứu về cách chuyển đổi nó thành LoraWan Gateway và tôi phát hiện ra rằng tôi có thể sử dụng một Dragino Lora Shield khác hoặc với một mô-đun iC880A, và tôi đã tìm thấy mã nguồn để làm điều đó, nhưng tôi vẫn bối rối về cách kết nối cổng vào nút, và làm thế nào để gửi dữ liệu từ nút đến cổng đến máy chủ ?? cảm ơn trước !!
Mohamed Achref Dridi

Câu trả lời:


11

Trong một mạng LoRaWAN điển hình, các cổng là các thiết bị câm, như được giải thích bởi Liên minh LoRa :

Kiến trúc mạng LoRaWAN thường được đặt trong cấu trúc liên kết giữa các ngôi sao trong đó các cổng là một cầu nối chuyển tiếp trong suốt giữa các thiết bị đầu cuối và máy chủ mạng trung tâm trong phần phụ trợ.

Vì vậy, một cổng chỉ cần được cấu hình để kết nối với một số máy chủ mạng, chẳng hạn như Mạng Mọi thứ đang mở . Đó là tất cả.

Cổng thường được gọi là "chuyển tiếp gói". Như vậy, các cổng chỉ thực hiện điều đó: chúng chuyển tiếp tất cả các gói LoRaWAN đã nhận đến một số máy chủ mạng (bất kể nút nào đã gửi nó) và chúng truyền bất cứ thứ gì được chỉ huy bởi máy chủ mạng. Do đó, các nút (thiết bị cuối) không kết nối với một số cổng ; thay vào đó họ chỉ truyền và hy vọng một hoặc nhiều cổng nhận được truyền và chuyển tiếp đến máy chủ mạng biết nút. (Cổng thông tin không thể đọc dữ liệu được mã hóa mà họ đang chuyển tiếp.)

Để kết nối các nút với mạng, chúng được "kích hoạt" bằng một trong hai tùy chọn :

  • Kích hoạt qua không trung (OTAA)

    Đầu tiên, bằng cách sử dụng một số trang web hoặc API, mỗi nút mới được đăng ký trong máy chủ mạng bằng thiết bị duy nhất EUI ( DevEUI). Sau đó, nó nhận được một id ứng dụng công cộng ( AppEUI) và một khóa ứng dụng bí mật ( AppKey). Ba giá trị này được lập trình vào nút.

    Tiếp theo, khi sẵn sàng gửi lần đầu tiên, các giá trị được nút sử dụng để tạo và truyền Yêu cầu Tham gia LoRaWAN. Nếu yêu cầu đó được nhận bởi một hoặc nhiều cổng, nó sẽ được chuyển tiếp đến máy chủ mạng, nếu được chấp thuận, sẽ báo cho một cổng để truyền Chấp nhận tham gia. Nếu được nhận bởi nút, thì điều này sẽ cung cấp cho nút một địa chỉ thiết bị công cộng ( DevAddr), khóa phiên mạng bí mật ( NwkSKey) và khóa phiên ứng dụng bí mật ( AppSKey).

    Các giá trị được xác định từ Tham gia chấp nhận được sử dụng bất cứ khi nào nút cần truyền một số dữ liệu thực tế (cùng với bộ đếm bảo mật bắt đầu từ 0 mỗi khi tham gia). Kích hoạt là hợp lệ miễn là nút giữ nó trong bộ nhớ (và các bộ đếm bảo mật chưa hết), thường là trong nhiều tháng hoặc thậm chí nhiều năm. Bất cứ khi nào bị mất, một nút có thể gửi Yêu cầu tham gia mới và nhận bí mật mới.

  • Kích hoạt bằng cách cá nhân hóa (ABP)

    Tại đây, khi đăng ký sử dụng một số trang web hoặc API, nút được cung cấp địa chỉ thiết bị ( DevAddr), khóa phiên mạng bí mật ( NwkSKey) và khóa phiên ứng dụng bí mật ( AppSKey) ngay lập tức, được lập trình vào nút và không bao giờ thay đổi. Nút trước tiên không cần gửi Yêu cầu tham gia trước khi có thể bắt đầu gửi bất kỳ dữ liệu nào, nhưng cần lưu ý rằng các bộ đếm bảo mật không bị mất. Ngoài ra, các khóa dành riêng cho một mạng nhất định; APB làm cho việc di chuyển các nút đến một nhà cung cấp mạng khác rất khó (nếu không thể).


1
Một số cổng đặc biệt bao gồm máy chủ mạng LoRaWAN và có thể hoạt động như các mạng độc lập. Nhưng hầu hết phải được kết nối với một Máy chủ Mạng bên ngoài. Tôi đã loại bỏ câu trả lời của tôi không đủ rõ ràng về điểm đó.
Sylvain

0

Câu trả lời của Arjan là tốt. Kỹ thuật. Tôi muốn cung cấp một câu trả lời hương vị khác nhau để giúp những người mới và đang gặp khó khăn để đặt bức tranh lại với nhau về các cổng và cách các gói di chuyển qua lại.

Sự giống nhau...

You > Letter > Mailbox > Mailman > Post Office Dist > Recipient

|----------------- TX -------------------|

Node > Packet > Transmission > Gateway > Network Server > Application

|----------------- RX -------------------|

Node < Packet < Transmission < Gateway < Network Server < Application

Thư / Gói có một địa chỉ. Người đưa thư / cổng nhận thư từ hộp thư của bạn hoặc bất kỳ hộp thư nào bạn đã bỏ thư. Nó được xử lý tất cả các cách cho người nhận. Nếu địa chỉ sai, nó sẽ không đến và bạn sẽ nhận được thông báo về điều đó. Người nhận có thể gửi thư lại cho bạn thông qua cùng một hệ thống.

Cho dù bạn sẽ sử dụng Mạng điều hay cố gắng xây dựng máy chủ riêng của mình bằng cách sử dụng thứ gì đó như LoRaServer, bạn sẽ cần một cổng trong tầm với của nút / mote / thiết bị đầu cuối để chuyển tiếp tin nhắn qua lại. Hãy nghĩ về các khóa khác nhau trong mã của nút là địa chỉ trên chữ cái tương tự.

Bạn có thể xác định xem đã có cổng TTN trong khu vực của bạn trên trang bản đồ của họ chưa và nếu có một nút trong tầm với của bạn, tin nhắn của bạn sẽ đến được TTN của bạn (giả sử bạn đã đăng ký và áp dụng các khóa cho nút của mình). Nếu không có cổng trong tầm tay, bạn có thể tự xây dựng. Có nhiều lựa chọn để làm điều đó.

Liên quan đến việc định cấu hình cổng, tùy thuộc vào thư viện bạn chọn, bạn thường chỉ cần định cấu hình một số tham số trong mã nguồn hoặc trong tệp global_conf.json hoặc local_conf.json.

Đây là một ví dụ từ việc mày mò với RFM9X (dựa trên SX1276) và RPI3 B + bằng cách sử dụng single_chan_pkt_fwdmà btw sẽ không cung cấp phản hồi ... hãy nhớ rằng đây chỉ là để mày mò / thử nghiệm. Cả hai ví dụ về phía trước và bên dưới global_conf.json đều không phải là plug-n-play và không nên dựa vào mạng LoRaWan thích hợp. Một cổng tuân thủ có 3 radio và có thể xử lý nhiều kênh và gửi / nhận cùng một lúc. Ví dụ này chỉ nhận được từ nút trên một kênh và không đáng tin cậy lắm nhưng hiện tại cấu hình. Mỗi giá trị phụ thuộc vào phần cứng bạn đang sử dụng và vị trí của bạn ... hoặc vị trí của cổng như US, EU, v.v ... cũng đáng lưu ý rằng global_conf.json không phải là một kích thước phù hợp với tất cả. Các thư viện khác nhau thường có nhiều tùy chọn cấu hình hơn cho nhiều radio, kênh, v.v ... chỉ là FYI.

{
  "SX127x_conf": // depending on your hardware/radio this could be something like sx1301..., sx127x...., etc.. 
  {
    "freq": 903000000, // depending on whether US (900 range), EU (800 range) or other...
    "spread_factor": 7, // look this up
    "pin_nss": 10, // wiringpi value = physical pin #24
    "pin_dio0": 5, // wiringpi value = physical pin #18
    "pin_rst": 21 // wiringpi value = physical pin #29
  },
  "gateway_conf":
  {
    "ref_latitude": 0.0, 
    "ref_longitude": 0.0,
    "ref_altitude": 2,

    "name": "WHATEVER NAME",
    "email": "WHATEVER@EMAIL.TLD",
    "desc": "WHATEVER DESC",

    "servers":
    [
      {
        "address": "localhost", // this one is private so localhost, but TTN lookup address
        "port": 1700, // this one is private so localhost, but TTN lookup port
        "enabled": true
      } // you could add more... say you have a private one and TTN 
    ]
  }
}

Giả sử bạn đang xây dựng một nút với mã và thiết bị Arduino. Và bạn sử dụng một cái gì đó như thư viện LMIC-Arduino và ví dụ phác thảo. Trước tiên, bạn phải xác định dựa trên phần cứng của thiết bị về cách định cấu hình pinmap để thiết bị hoạt động. Sau đó, nếu bạn sẽ sử dụng TTN, bạn làm theo bất kỳ hướng dẫn nào để đăng ký và nhận các khóa cần thiết mà bạn đưa vào mã phác thảo. Bạn cũng phải đảm bảo rằng bạn đang truyền phát với tần số phù hợp và ... để xếp hàng với cổng trong khu vực của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.