Serangkaian artikel tentang penginstalan dan pengoperasian server LoRaWAN Chirpstack

1. Perkenalan



Seri artikel ini akan dikhususkan untuk penyebaran dan pengoperasian perangkat lunak sumber terbuka: server jaringan LoRaWAN Chirpstack. Perangkat lunak ini dibuat oleh salah satu penggemar Belanda, Orne Brocaar , dan dapat digunakan untuk membangun jaringan LoRaWAN mereka sendiri, komponen sistem dilisensikan oleh lisensi MIT dan dapat digunakan untuk operasi komersial.



Berkomunikasi dengan pelanggan dan konsumen perangkat LoRaWAN kami, saya berulang kali mendengar permintaan bantuan dalam menyebarkan jaringan saya sendiri berdasarkan server ini, ini membuat saya berpikir bahwa diperlukan panduan umum untuk menerapkan dan mengoperasikan server, yang dapat saya baca langkah demi langkah, dengan tangannya sendiri, instal siapa saja. Sehubungan dengan itu, lahirlah rangkaian artikel ini. Apa yang akan kita bahas? Mari kita mulai dengan yang paling penting, dengan menginstal semua komponen server. Lebih lanjut, akan ada artikel tentang pengoperasian server, integrasi dengan platform eksternal, tentang penggunaan teknologi baru jaringan LoRaWAN seperti Multicast dan FUOTA. Jadi, mari kita mulai ... bagian satu.



2. Dengan apa kami akan bekerja



Pertama-tama, kami akan menjelaskan apa yang akan kami uji dan gunakan server LoRaWAN.

Perangkat keras:



  • Gateway LoRaWAN: DoMINO Indoor v.1.0 (Anda dapat menggunakan yang lain misalnya Vega BS xx)
  • Penghitung Pulsa DoMINO PULSE v.4.3 +


Perangkat lunak:



  • Cloud Server dengan Ubuntu 18.04


3. Deskripsi server Chirpstack



Struktur server jaringan LoRaWAN ditunjukkan pada Gambar 1.





Gbr.1



Komponen utama server adalah:



Gateway Bridge - beberapa jembatan antara program Packet Forwarder yang diinstal pada stasiun pangkalan (gateway) dan struktur server LoRaWAN itu sendiri;

Server Jaringan - server jaringan yang memproses pesan tingkat jaringan;

Server Aplikasi - server aplikasi yang menyediakan operasi jaringan di tingkat pengguna, terintegrasi dengan platform eksternal.



Komponen tambahan:



MQTT Broker Mosquitto - untuk olahpesan internal antar komponen server;

Redis  - database perantara untuk menyimpan data sementara;

PostgreSQL- database untuk penyimpanan data permanen.

Semua perangkat lunak adalah perangkat lunak sumber terbuka.



4. Instalasi server



Server diinstal pada Ubuntu 18.04 atau Debian OS. Kami akan menjelaskan instalasi menggunakan server cloud di Ubuntu 18.04. Koneksi ke server dilakukan melalui SSH menggunakan klien Putty. Catatan: Diasumsikan bahwa pembaca kami memiliki gagasan untuk bekerja dengan Ubuntu, SSH, Putty, memiliki OS yang diinstal dan dikonfigurasi.



4.1 Menginstal dan mengkonfigurasi perangkat lunak tambahan



Untuk memulai, kita perlu menginstal paket tambahan. Untuk melakukan ini, masukkan perintah di konsol:



sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql


dan tunggu penginstalan selesai.



Selanjutnya, Anda perlu mengkonfigurasi database PostgreSQL dan menambahkan pengguna ke dalamnya.

Kami pergi ke mode manajemen database:



sudo -u postgres psql


Prompt manajemen database akan muncul postgres = #

Buat pengguna dengan kata sandi Anda (Anda perlu mengingat data ini, Anda dapat memberikan info masuk dan kata sandi lain, tetapi pastikan untuk mengingatnya, mereka akan diminta nanti untuk mengkonfigurasi server jaringan dan server aplikasi).



Kami membuat pengguna untuk server jaringan:



create role chirpstack_ns with login password 'dbpassword';


Kami membuat pengguna untuk server aplikasi:



create role chirpstack_as with login password 'dbpassword';


Mari buat database untuk server jaringan:



create database chirpstack_ns with owner chirpstack_ns;


Buat database untuk server aplikasi:



create database chirpstack_as with owner chirpstack_as;


Pengaturan tambahan



Hubungkan ke database:



\c chirpstack_as


Buat ekstensi:



create extension pg_trgm;


Buat ekstensi:



create extension hstore;


Keluar dari pengeditan parameter database:



\q


4.2 Menginstal repositori Chirpstack



Komponen berikut harus diinstal: dirmngr dan apt-transport-https, jika tidak menjalankan perintah:



sudo apt install apt-transport-https dirmngr


Instal kunci untuk repositori baru:



sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00


Tambahkan repositori ke daftar:



sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list


Mari perbarui apt cache:



sudo apt update


Ini melengkapi konfigurasi awal.



4.3 Memasang Jembatan Gerbang



Instal paketnya:



sudo apt install chirpstack-gateway-bridge


Luncurkan Gateway Bridge:



sudo systemctl start chirpstack-gateway-bridge


Kami menempatkan aplikasi Gateway Bridge saat memulai:



sudo systemctl enable chirpstack-gateway-bridge


Untuk memeriksa kebenaran peluncuran dan penginstalan, Anda dapat memeriksa log kerja menggunakan perintah:



sudo journalctl -f -n 100 -u chirpstack-gateway-bridge


Keluar dari log Ctrl + Z.



Seharusnya tidak ada kesalahan dalam log.



4.4 Menginstal dan Mengkonfigurasi Server Jaringan



Instal paketnya:



sudo apt install chirpstack-network-server


Agar server berfungsi dengan baik, kita perlu mengkonfigurasinya, file konfigurasinya adalah file:



/etc/chirpstack-network-server/chirpstack-network-server.toml


Sebelum menggunakan server jaringan, Anda perlu mengeditnya untuk tugas kami, untuk ini kami masuk ke folder dengan file:



/etc/chirpstack-network-server/


Dan di folder ini, jalankan perintah untuk membuat file konfigurasi baru



chirpstack-network-server configfile > chirpstack-network-server.toml


Mari mulai membuat perubahan pada file konfigurasi.



Buka file untuk diedit dalam editor yang nyaman (nano, vim).



Kami akan membahas secara rinci pada paragraf mendalam tentang pengaturan server jaringan di bagian siklus berikutnya, sekarang kami hanya akan membuat pengaturan dasar untuk memberikan dasar untuk fungsionalitas.



Kami mengkonfigurasi koneksi server jaringan ke database:



dsn="postgres://chirpstack_ns:dbpassword@localhost/chirpstack_ns?sslmode=disable"


Di sinilah kita membutuhkan nama database, login dan kata sandi dari paragraf sebelumnya!



Kami juga mengedit parameter rencana frekuensi:



name="RU864"


Kami menyimpan file konfigurasi, keluar ke konsol terminal.



Kami memulai server jaringan:



sudo systemctl start chirpstack-network-server


Kami menempatkan server jaringan saat startup:



sudo systemctl enable chirpstack-network-server


Kami memeriksa log server jaringan, seharusnya tidak ada kesalahan:



sudo journalctl -f -n 100 -u chirpstack-network-server


Server dikonfigurasi dan berjalan.



4.5 Menginstal dan mengkonfigurasi Server Aplikasi



Instal paket:



sudo apt install chirpstack-application-server


Dengan analogi dengan server jaringan, kami mengkonfigurasi file konfigurasi server aplikasi.



Buka folder pengaturan:



/etc/chirpstack-application-server/


Kami memperbarui file konfigurasi:



chirpstack-application-server configfile > chirpstack-application-server.toml


Di sini kita juga harus mengedit koneksi ke database dan poin yang sangat penting adalah membuat kunci rahasia jwt_secret , untuk ini kita menjalankan perintah:



openssl rand -base64 32


dan tuliskan kunci yang dihasilkan.



Buka file konfigurasi untuk mengedit dan ubah string koneksi database menjadi milik kita:



dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"


Instal kunci rahasia yang disalin:



jwt_secret=”UwX3TeStLtm/7tkW7hsqfbpcvo5k+BOEh/l8uDHCcKU=”


Kami menyimpan file konfigurasi. Kami keluar ke konsol terminal.



Kami memulai server aplikasi:



sudo systemctl start chirpstack-application-server


Setel server aplikasi untuk memulai:



sudo systemctl enable chirpstack-application-server


Memeriksa pengoperasian server aplikasi:



sudo journalctl -f -n 100 -u chirpstack-application-server


Seharusnya tidak ada kesalahan.



Selamat, server LoRaWAN Chirpstack sudah terinstal dan siap digunakan!



Di bagian selanjutnya dari seri artikel ini, saya akan membahas secara detail tentang bekerja dengan antarmuka web server Chirpstack LoRaWAN.



Hormat kami,

Kepala Grup DoMINO,

Andrey Golovatenko



All Articles