Настройка службы сетевого сервера LoRa
Выберите вкладку в соответствии с используемым семейством ОС.
- Windows
- Linux
После установки сетевого сервера LoRa необходимо отредактировать следующие параметры в файле конфигурации(по умолчанию C:\ReVizor\NetworkServer\appsettings.production.json
):
HostArray
— массив содержащий строки вида «<host>
:<port>
», гдеhost
— это IP-адрес,port
— это номер порта для входящих UPD-соединений для базовых станцийMaxOfflineLatency
— максимальное время нахождения базовых станций, по истечении которого, если от базовой станции не было никаких данных, последняя переходит в статус «офлайн»MaxContextDwellTime
— максимальное время на обработку контекстаAllowJoinRequests
— true, если необходимо обрабатывать входящие JOIN_REQ запросAllowDownlink
— true, если необходимо включить обратную связь(между сервером и конечным устройствами)MinPreferredSnr
— минимальное предпочитаемое значение SNR для выбора базовой станции из списка для отправки downlink-сообщенийAdrHistoryCount
— количество анализируемых записей в истории для расчёта индекса мощности TX при использовании ADRAdrExtraMargin
— дополнительное значение для расчёта требуемого SNR при использовании ADRMaxTxAckTime
— максимальное время ожидания в секундах подтверждения downlink-пакетов, после чего они будут удалены из очередиClassCReactTime
— время реакции для устройств класса CClassCJoinDelay
— указывает, необходимо ли добавлять паузу для JOIN_DELAY_1 для устройств класса CGarbageCollectionPeriod
— период сбора «мусора» в миллисекундахNwkID
— идентификатор сети; каждая сеть(каждый сетевой сервер LoRa) должен иметь уникальный идентификатор сети
Во время установки приложения в папку /opt/dotnet/
будет установлены runtime-библиотеки .NET Core.
- Под пользователем
revizor
перейдите в домашнюю директорию и запустите установку ранее подготовленного пакета приложения сервера:
sudo apt-get install ./revizor-network-server-linux-x64-*.deb
- После установки будут доступны следующие файлы и директории:
/etc/opt/revizor/network-server/appsettings.production.json
— файл конфигурации сетевого сервера,/etc/systemd/system/revizor-network-server.service
— файл systemd настроек службы сетевого сервера,/opt/revizor/network-server/
— папка с установленным приложением службы сетевого сервера,/opt/revizor/network-server/logs/
— папка с журналами работы службы сетевого сервера - При первоначальной установке приложения на сервере PostgreSQL необходимо создать базу данных
ReVizorNetworkServerDb
, пользователяrevizor
(пользователя в СУБД, а не в ОС) и предоставить пользователю права доступа к базе. Если база и пользователь уже имеются, то этот шаг можно пропустить**(если компонент сервера уже установлен на текущей машине, то можно использовать того же пользователяrevizor
)**, однако нужно убедиться, что у пользователяrevizor
есть права доступка к базеReVizorNetworkServerDb
(либо выполнить коммандуGRANT
ниже). Для создания необходимо запустить консольpsql
и выполнить следующие команды
Необходимо соблюдать регистр имён пользователей и БД, а также кавычки и точка-запятые в конце запросов!
sudo -u postgres psql postgres
CREATE DATABASE "ReVizorNetworkServerDb";
CREATE USER "revizor" WITH ENCRYPTED PASSWORD '*' CREATEDB SUPERUSER;
— где *
— это пароль пользователя revizor, который необходимо будет далее внести в файл конфигурации в поле Password
секции DbConfig
GRANT ALL PRIVILEGES ON DATABASE "ReVizorNetworkServerDb" TO "revizor";
\q
— для выхода из консоли psql
Для корректной работы службы необходимо изменить настроечные параметры в файле конфигурации /etc/opt/revizor/network-server/appsettings.production.json
. В секции AppConfig
:
SecurityKey
— секретный симметричный ключ JWT(ключ обязательно нужно заменить на другой), который, например, можно сгенерировать командойopenssl rand -hex 32
Host
иPort
— IP-адрес и порт для входящих TCP-подключений и веб-интерфейсаWebAppUri
— ссылка на приложение для внешних источников(например, если имеется домен и через него требуется доступ из сети Интернет, например,https://example.com)
, либо ссылка видаhttp://{Host}:{Port}
В секции DbConfig
:
Server
— IP-адрес сервера PostgreSQL
Port
— порт сервера PostgreSQL(по умолчанию 5432
)
UserID
и Password
— имя пользователя и пароль для входа на сервер PostgreSQL созданные выше
В секции PacketForwarder
:
HostArray
— массив содержащий строки вида «<host>
:<port>
», гдеhost
— это IP-адрес,port
— это номер порта для входящих UPD-соединений для базовых станцийMaxOfflineLatency
— максимальное время нахождения базовых станций, по истечении которого, если от базовой станции не было никаких данных, последняя переходит в статус «офлайн»MaxContextDwellTime
— максимальное время на обработку контекстаAllowJoinRequests
—true
, если необходимо обрабатывать входящиеJOIN_REQ
запросAllowDownlink
—true
, если необходимо включить обратную связь(между сервером и конечным устройствами)MinPreferredSnr
— минимальное предпочитаемое значение SNR для выбора базовой станции из списка для отправки downlink-сообщенийAdrHistoryCount
— количество анализируемых записей в истории для расчёта индекса мощности TX при использовании ADRAdrExtraMargin
— дополнительное значение для расчёта требуемого SNR при использовании ADRMaxTxAckTime
— максимальное время ожидания в секундах подтверждения downlink-пакетов, после чего они будут удалены из очередиClassCReactTime
— время реакции для устройств класса CClassCJoinDelay
— указывает, необходимо ли добавлять паузу для JOIN_DELAY_1 для устройств класса CGarbageCollectionPeriod
— период сбора «мусора» в миллисекундах NwkID — идентификатор сети; каждая сеть(каждый сетевой сервер LoRa) должен иметь уникальный идентификатор сети
Далее службу можно запустить средствами операционной системы командой:
sudo systemctl start revizor-network-server.service