Настройка службы сетевого сервера 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 32Hostи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