Налаштування шлюзу LoraWan


10

Я намагаюся побудувати мережу LoRaWan, використовуючи сенсор, програмований з Arduino та Dragino Lora Shield .

Я знайшов багато рішень для створення шлюзу, включаючи Raspberry Pi, пов'язаний з іншим Dragino Lora Shield або з iC880A , і отримані мені дані будуть надсилатися на сервер у хмарі. Я дуже розгублений щодо програмування шлюзу.

  • Чи потрібно мені сказати, щоб підключитися до вузла та до сервера? Або він отримує дані автоматично?
  • І чи я програмую сервер для підключення до шлюзу або безпосередньо до вузлів?

2
Ласкаво просимо на сайт. Чи можете ви додати декілька відомостей про те, які моделі пристроїв ви використовуєте, і додати ще детальну інформацію про ваш приклад використання? Це допоможе нам дати вам кращі відповіді.
Гельмар

Привіт і спасибі! Я початківець у мережах Iot, тому створив вузол за допомогою arduino uno, датчика температури та щита Dragino Lora, я намагаюся надіслати дату на сервер, тому я спробував створити шлюз LoraWan за допомогою малинового пі, я зробив кілька досліджень, як перетворити його на шлюз LoraWan, і я з'ясував, що я можу використовувати або інший Dragino Lora Shield, або за допомогою модуля iC880A, і я знайшов вихідний код, щоб це зробити, але я все ще плутаюся з приводу підключення шлюз до вузла, і як надсилати дані з вузла на шлюз на сервер ?? Спасибі заздалегідь !!
Мохамед Ахреф Дріді

Відповіді:


11

У типовій мережі LoRaWAN шлюзи - це німі пристрої, як пояснюється Альянсом LoRa :

Мережева архітектура LoRaWAN, як правило, викладається в топології зірок зірок, в якій шлюзи - це прозорий міст, що передає повідомлення між кінцевими пристроями та центральним мережевим сервером у бекенді.

Отже, шлюз потрібно лише налаштувати для підключення до якогось мережевого сервера, наприклад відкритого The Things Network . Це все.

Шлюзи часто називають "експедиторами пакетів". Таким чином, шлюзи роблять саме це: вони пересилають всі отримані пакети LoRaWAN на якийсь мережевий сервер (незалежно від того, який вузол надіслав його), і вони передають все, що командує мережевий сервер. Отже, вузли (кінцеві пристрої) не підключаються до якогось шлюзу ; натомість вони просто передають і сподіваються, що один або декілька шлюзів отримають свою передачу та передадуть її на мережевий сервер, який знає вузол. (Шлюзи не можуть читати зашифровані дані, які вони пересилають.)

Для підключення вузлів до мережі вони "активуються" за допомогою будь-якого з двох варіантів :

  • Повітряна активація (OTAA)

    По-перше, за допомогою якогось веб-сайту чи API кожен новий вузол реєструється на мережевому сервері за допомогою свого унікального пристрою EUI ( DevEUI). Потім він отримує ідентифікатор відкритого додатка ( AppEUI) та секретний ключ програми ( AppKey). Ці три значення запрограмовані у вузол.

    Далі, коли вони готові відправити вперше, значення використовуються вузлом для створення та передачі запиту на приєднання LoRaWAN. Якщо такий запит отримано одним або декількома шлюзами, він пересилається на мережевий сервер, який, якщо його затверджено, повідомить одному шлюзу для передачі приєднання Accept. Якщо цей вузол отриманий, він надає вузлу адресу загальнодоступного пристрою ( DevAddr), секретний ключ сесійного сеансу ( NwkSKey) та секретний ключ сеансу програми ( AppSKey).

    Значення, визначені в Join Accept, використовуються, коли вузлу потрібно передавати деякі фактичні дані (разом із лічильником безпеки, який починається з нуля при кожному приєднанні). Активація діє до тих пір, поки вузол зберігає її в пам'яті (а лічильники безпеки не вичерпані), як правило, протягом багатьох місяців або навіть років. Щоразу, коли втрачається, вузол може надсилати новий Запит на приєднання та отримувати нові секрети.

  • Активація персоналізацією (ABP)

    Тут, під час реєстрації за допомогою якогось веб-сайту чи API, вузлу надається адреса пристрою ( DevAddr), секретний ключ сеансу мережі ( NwkSKey) та секретний ключ сеансу програми ( AppSKey), які запрограмовані у вузол і ніколи не змінюються. Вузол не потрібно спочатку надсилати Запит на приєднання, перш ніж він може почати надсилати будь-які дані, але потрібно подбати про те, щоб лічильники безпеки не були втрачені. Також клавіші є специфічними для даної мережі; APB утрудняє (якщо не неможливо) переміщення вузлів до іншого провайдера мережі.


1
Деякі спеціальні шлюзи включають мережевий сервер LoRaWAN і можуть діяти як окремі мережі. Але більшість повинні бути підключені до зовнішнього мережевого сервера. Я зняв свою відповідь, яка не була достатньо чіткою з цього приводу.
Sylvain

0

Відповідь Аряна хороша. Технічні. Я хотів надати іншу відповідь, щоб допомогти тим, хто є новим і намагається скласти картину, що стосується шлюзів та того, як пакети рухаються туди-сюди.

Аналогія ...

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

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

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

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

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

Лист / пакет має адресу. Поштальон / шлюз підбирає лист із вашої поштової скриньки чи будь-якої поштової скриньки, в яку ви кинули лист. З ним передається весь шлях до одержувача. Якщо адреса неправильна, вона не прийде, і вам слід повідомити про це. Одержувач може відправити вам лист назад через ту ж систему.

Незалежно від того, чи збираєтесь ви використовувати мережу The Things або намагаєтеся створити власний приватний сервер, використовуючи щось на зразок LoRaServer, вам знадобиться шлюз в межах досяжності вашого вузла / mote / end-пристрою для пересилання повідомлень назад і назад. Подумайте про різні ключі в коді вузла як адреси на букві за аналогією.

Ви можете визначити, чи на вашій карті вже є шлюз TTN у вашому регіоні, і якщо до вашого вузла є доступ, ваші повідомлення повинні надходити до вашого TTN (якщо ви зареєстрували та застосували ключі до свого вузла). Якщо в межах досяжності немає шлюзу, ви можете створити свій власний. Є багато варіантів для цього.

Що стосується налаштування шлюзу, залежно від того, яку бібліотеку ви вибрали, вам зазвичай просто потрібно налаштувати деякі параметри або у вихідному коді, або у файлі global_conf.json або local_conf.json.

Ось приклад з майстерності з RFM9X (на основі SX1276) та RPI3 B + за допомогою single_chan_pkt_fwdякий btw не дасть відповідей ... майте на увазі, це лише для майстерності / тестування. Приклади перенаправлення та нижче global_conf.json не є плагіном, і на нього не слід покладатися належних мереж LoRaWan. Сумісний шлюз має 3 радіостанції, які можуть обробляти декілька каналів і одночасно надсилати / приймати. Цей приклад є просто надходженням від вузла на одноканальний і не дуже надійний, але має існуючу конфігурацію. Кожне з значень залежить від обладнання, яке ви використовуєте та де ви знаходитесь ... або де розташований шлюз, такий як США, ЄС та ін. ... також варто зазначити, що такий global_conf.json не має одного розміру підходить усім. У різних бібліотеках зазвичай є більше параметрів конфігурації для декількох радіостанцій, каналів тощо ... просто 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 
    ]
  }
}

Скажімо, ви будуєте вузол з пристроєм та кодом Arduino. І ви використовуєте щось на зразок бібліотеки LMIC-Arduino та прикладу ескізу. Спочатку на основі апаратного забезпечення пристрою потрібно визначити, як налаштувати міні-карту для роботи пристрою. Тоді, якщо ви збираєтесь використовувати TTN, дотримуйтесь будь-якого з багатьох посібників, щоб зареєструватися та отримати необхідні ключі, які ви введете у код ескізу. Ви також повинні переконатися, що ви передаєте відповідну частоту та таку ... щоб вирівнятися з шлюзом у вашому районі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.