Mengkonfigurasi LoraWan Gateway

10

Saya mencoba membangun Jaringan LoRaWan menggunakan sensor yang dapat diprogram dengan Arduino dan Dragino Lora Shield .

Saya telah menemukan banyak solusi untuk membuat gateway, termasuk Raspberry Pi yang terhubung dengan Dragino Lora Shield lain atau dengan iC880A , dan data yang saya terima akan dikirim ke server di cloud. Saya sangat bingung tentang pemrograman gateway.

  • Apakah saya perlu mengatakannya untuk terhubung ke node dan ke server? Atau apakah ia menerima data secara otomatis?
  • Dan apakah saya memprogram server untuk terhubung ke gateway atau langsung ke node?
Mohamed Achref Dridi
sumber
2
Selamat datang di situs ini. Bisakah Anda menambahkan beberapa informasi tentang model perangkat yang Anda gunakan dan menambahkan beberapa detail lebih lanjut tentang kasus penggunaan Anda? Ini akan membantu kami memberi Anda jawaban yang lebih baik.
Helmar
Hai dan terima kasih! Saya seorang pemula di jaringan Iot jadi saya membuat simpul menggunakan arduino uno, sensor suhu dan Dragino Lora Shield, saya mencoba mengirim tanggal ke server jadi saya mencoba membuat Gateway LoraWan menggunakan raspberry pi, saya membuat beberapa penelitian tentang bagaimana mengubahnya menjadi LoraWan Gateway dan saya menemukan bahwa saya dapat menggunakan Dragino Lora Shield lain atau dengan modul iC880A, dan saya menemukan kode sumber untuk melakukannya, tetapi saya masih bingung tentang cara menghubungkan gateway ke node, dan bagaimana cara mengirim data dari node ke gateway ke server ?? Terima kasih sebelumnya !!
Mohamed Achref Dridi

Jawaban:

11

Dalam jaringan LoRaWAN pada umumnya, gateway adalah perangkat bodoh, seperti yang dijelaskan oleh Aliansi LoRa :

Arsitektur jaringan LoRaWAN biasanya diletakkan dalam topologi bintang-bintang di mana gateway merupakan jembatan transparan yang menyampaikan pesan antara perangkat akhir dan server jaringan pusat di backend.

Jadi, gateway hanya perlu dikonfigurasi untuk terhubung ke beberapa server jaringan, seperti The Things Network yang terbuka . Itu saja.

Gateway sering disebut sebagai "pengirim paket". Dengan demikian, gateway melakukan hal itu: mereka meneruskan semua menerima paket LoRaWAN ke beberapa server jaringan (terlepas dari node mana yang mengirimnya), dan mereka mengirimkan apa pun yang diperintahkan oleh server jaringan. Oleh karena itu, node (perangkat akhir) tidak terhubung ke beberapa gateway ; alih-alih, mereka hanya mengirim dan berharap satu atau lebih gateway menerima transmisi mereka dan meneruskannya ke server jaringan yang mengetahui node. (Gateway tidak dapat membaca data terenkripsi yang mereka teruskan.)

Untuk menghubungkan node ke jaringan, mereka "diaktifkan" menggunakan salah satu dari dua opsi :

  • Aktivasi Over-The-Air (OTAA)

    Pertama, menggunakan beberapa situs web atau API, setiap node baru terdaftar di server jaringan menggunakan perangkat uniknya EUI ( DevEUI). Kemudian mendapat id aplikasi publik ( AppEUI) dan kunci aplikasi rahasia ( AppKey). Ketiga nilai ini diprogram ke dalam node.

    Selanjutnya, ketika siap mengirim untuk pertama kalinya, nilai-nilai tersebut digunakan oleh simpul untuk membuat dan mengirimkan Permintaan Gabung LoRaWAN. Jika permintaan semacam itu diterima oleh satu atau beberapa gateway, maka akan diteruskan ke server jaringan yang, jika disetujui, akan memberi tahu satu gateway untuk mengirimkan Join Accept. Jika diterima oleh node, maka ini memberikan node alamat perangkat publik ( DevAddr), kunci sesi jaringan rahasia ( NwkSKey) dan kunci sesi aplikasi rahasia ( AppSKey).

    Nilai-nilai yang ditentukan dari Join Accept digunakan setiap kali node perlu mengirimkan beberapa data aktual (bersama dengan penghitung keamanan yang dimulai dari nol setiap kali bergabung). Aktivasi ini valid selama node menyimpannya di memori (dan penghitung keamanan belum habis), biasanya selama berbulan-bulan atau bahkan bertahun-tahun. Setiap kali hilang, sebuah node dapat mengirim Permintaan Gabung baru dan mendapatkan rahasia baru.

  • Aktivasi Dengan Personalisasi (ABP)

    Di sini, ketika mendaftar menggunakan beberapa situs web atau API, node diberikan alamat perangkat ( DevAddr), kunci sesi jaringan rahasia ( NwkSKey) dan kunci sesi aplikasi rahasia ( AppSKey) segera, yang diprogram ke dalam simpul dan tidak pernah berubah. Node tidak perlu mengirim Permintaan Gabung terlebih dahulu sebelum dapat mulai mengirim data apa pun, tetapi perlu diperhatikan bahwa penghitung keamanan tidak hilang. Juga, kunci-kunci itu spesifik untuk jaringan yang diberikan; APB menyulitkan (jika bukan tidak mungkin) untuk memindahkan node ke penyedia jaringan yang berbeda.

Arjan
sumber
1
Beberapa gateway khusus termasuk server jaringan LoRaWAN dan dapat bertindak sebagai jaringan mandiri. Tetapi sebagian besar harus terhubung ke Server Jaringan eksternal. Saya telah menghapus jawaban saya yang tidak cukup jelas tentang hal itu.
Sylvain
0

Jawaban Arjan bagus. Teknis. Saya ingin memberikan jawaban rasa yang berbeda untuk membantu mereka yang baru dan berjuang untuk menyatukan gambar sehubungan dengan gateway dan bagaimana paket bergerak bolak-balik.

Analogi...

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

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

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

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

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

Surat / Paket memiliki alamat. Tukang pos / gateway mengambil surat dari kotak surat Anda atau kotak surat apa pun yang Anda gunakan untuk memasukkan surat Anda. Surat itu ditangani sampai ke penerima. Jika alamatnya salah, itu tidak akan tiba dan Anda harus diberitahu itu. Penerima dapat mengirim surat kembali kepada Anda melalui sistem yang sama.

Apakah Anda akan menggunakan The Things Network atau mencoba membangun server pribadi Anda sendiri menggunakan sesuatu seperti LoRaServer, Anda akan memerlukan gateway dalam jangkauan node / mote / end-perangkat Anda untuk meneruskan pesan bolak-balik. Pikirkan kunci yang berbeda dalam kode simpul sebagai alamat pada huruf dalam analogi.

Anda dapat menentukan apakah sudah ada gateway TTN di area Anda di halaman peta mereka dan jika ada satu jangkauan node Anda, pesan Anda harus mencapai TTN Anda (dengan asumsi Anda telah mendaftar dan menerapkan kunci ke node Anda). Jika tidak ada gateway yang dapat dijangkau, Anda dapat membangunnya sendiri. Ada banyak opsi untuk melakukan itu.

Dalam hal mengkonfigurasi gateway, tergantung pada perpustakaan yang Anda pilih, Anda biasanya hanya perlu mengkonfigurasi beberapa parameter baik dalam kode sumber atau dalam file global_conf.json atau local_conf.json.

Berikut adalah contoh dari bermain-main dengan RFM9X (berdasarkan SX1276) dan RPI3 B + menggunakan single_chan_pkt_fwdyang mana btw tidak akan memberikan tanggapan ... perlu diingat ini hanya untuk mengutak-atik / menguji. Contoh forwarder dan di bawah global_conf.json bukan plug-n-play dan tidak boleh diandalkan untuk jaringan LoRaWan yang tepat. Gateway yang patuh memiliki 3 radio dan dapat memproses beberapa saluran dan mengirim / menerima pada saat bersamaan. Contoh ini baru saja menerima dari node pada saluran tunggal dan tidak terlalu dapat diandalkan tetapi tidak ada konfigurasi. Masing-masing nilai tergantung pada perangkat keras yang Anda gunakan dan di mana Anda berada ... atau di mana gateway berada seperti AS, Uni Eropa, dll ... juga patut dicatat bahwa global_conf.json tersebut bukan satu ukuran cocok untuk semua. Pustaka yang berbeda biasanya memiliki lebih banyak opsi konfigurasi untuk beberapa radio, saluran, dll ... hanya 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": "[email protected]",
    "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 
    ]
  }
}

Katakanlah Anda sedang membangun sebuah simpul dengan perangkat dan kode Arduino. Dan Anda menggunakan sesuatu seperti perpustakaan LMIC-Arduino dan contoh sketsa. Pertama-tama Anda harus menentukan berdasarkan pada perangkat keras perangkat bagaimana mengkonfigurasi pinmap agar perangkat berfungsi dengan baik. Kemudian jika Anda akan menggunakan TTN, Anda mengikuti salah satu dari banyak panduan untuk mendaftar dan mendapatkan kunci yang diperlukan yang Anda masukkan ke dalam kode sketsa. Anda juga harus memastikan bahwa Anda mentransmisikan pada frekuensi yang sesuai dan semacamnya ... untuk sejajar dengan gateway di wilayah Anda.

Chris
sumber