Установка и настройка сервера ChirpStack

ChirpStack – стек сетевых серверов LoRaWAN с открытым исходным кодом, который предоставляет компоненты с открытым исходным кодом для сетей LoRaWAN. Вместе они образуют готовое решение, включающее удобный веб-интерфейс для управления устройствами и API для интеграции. Модульная архитектура позволяет интегрироваться в существующие инфраструктуры.

Данный программный модуль необходим для реализации функции приема данных мониторинга от средств измерений по каналу LoRaWAN с помощью базовых станций.

Сервер ChirpStack использует в своей работе следующие сторонние программные модули:

  • брокер MQTT mosquito – для передачи сообщений между компонентами сервера ChirpStack, а также для передачи декодированных сообщений так называемым внешним приложениям, таким как Node-RED;
  • СУБД PostgreSQL – для хранения энергонезависимых, то есть сохраняемых настроек;
  • СУБД Redis – для хранения энергозависимых данных, которые не требуется сохранять при перезапуске или потере питания ПК.

Для установки и настройки компонентов сервера ChirpStack необходимо выполнить следующую последовательность действий:

1) Установить пакеты ПО, которые требуются для работы сервера:

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

2) Создать роли и базы данных в PostgreSQL:

cd /
sudo -u postgres psql -c «create role lora_ns with login password ‘lora_ns’;»
sudo -u postgres psql -c «create database lora_ns with owner lora_ns;»
sudo -u postgres psql -c «create role lora_as with login password ‘lora_as’;»
sudo -u postgres psql -c «create database lora_as with owner lora_as;»
sudo -u postgres psql lora_as -c «create extension pg_trgm;»
sudo -u postgres psql lora_as -c «create extension hstore;»
cd

3) Скачать дистрибутивы компонентов сервера ChirpStack:

wget https://artifacts.chirpstack.io/downloads/chirpstack-gateway-bridge/chirpstack-gateway-bridge_3.13.1_linux_arm64.deb
wget https://artifacts.chirpstack.io/downloads/chirpstack-network-server/chirpstack-network-server_3.15.3_linux_arm64.deb
wget https://artifacts.chirpstack.io/downloads/chirpstack-application-server/chirpstack-application-server_3.17.3_linux_arm64.deb

4) Установить скачанные дистрибутивы:

sudo dpkg -i chirpstack-gateway-bridge_3.13.1_linux_arm64.deb
sudo dpkg -i chirpstack-network-server_3.15.3_linux_arm64.deb
sudo dpkg -i chirpstack-application-server_3.17.3_linux_arm64.deb

5) В файл «/etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml» внести следующие правки:

  • в начале файла добавить три строчки «[general]», «log_level=2» и «log_to_ syslog=true»;
  • найти и указать в поле «marshaller» значение «json».

TOML=»/etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml»
sudo sed -i ‘0,/^$/{s/^$/[general]nlog_level=2nlog_to_syslog=truen/}’ ${TOML}
sudo sed -i ‘s/marshaler=»[^»]*»/marshaler=»json»/’ ${TOML},/p.

6) В файл «/etc/chirpstack-network-server/chirpstack-network-server.toml» внести следующие правки:

  • в начале файла добавить три строчки «[general]», «log_level=2» и «log_to_ syslog=true»;
  • найти и указать в поле «dsn» значение «postgres://lora_ns:lora_ns@localhost/lora_ns?sslmode=disable»;
  • найти и указать в поле «name» (секция «[network_server.band]») значение «RU_864_870»;
  • найти и заменить в списке частот «867×00000», на «864×00000», где «x» – это цифра 1, 3, 5, 7 или 9.

TOML=»/etc/chirpstack-network-server/chirpstack-network-server.toml»
sudo sed -i ‘0,/^$/{s/^$/[general]nlog_level=2nlog_to_syslog=truen/}’ ${TOML}
sudo sed -i ‘s!dsn=»[^»]*»!dsn=»postgres://lora_ns:lora_ns@localhost/lora_ns?sslmode=disable»!’ ${TOML}
sudo sed -i ‘s/name=»EU868″/name=»RU_864_870″/’ ${TOML}
sudo sed -i ‘s/frequency=867/frequency=864/’ ${TOML}

7) В файл «/etc/chirpstack-application-server/chirpstack-application-server.toml» внести следующие правки:

  • в начале файла добавить три строчки «[general]», «log_level=2» и «log_to_syslog=true»;
  • найти и указать в поле «marshaler» значение «json»;
  • найти и указать в поле «jwt_secret» случайную последовательность JWT (ее можно сгенерировать командой «openssl rand -base64 32»).

TOML=»/etc/chirpstack-application-server/chirpstack-application-server.toml»
sudo sed -i ‘0,/^$/{s/^$/[general]nlog_level=2nlog_to_syslog=truen/}’ ${TOML}
sudo sed -i ‘s!dsn=»[^»]*»!dsn=»postgres://lora_as:lora_as@localhost/lora_as?sslmode=disable»!’ ${TOML}
sudo sed -i ‘s/marshaler=»[^»]*»/marshaler=»json»/’ ${TOML}
SECRET=»$(openssl rand -base64 32)»
sudo sed -i ‘s!jwt_secret=»[^»]*»!jwt_secret=»‘»$SECRET»‘»!’ ${TOML}
unset SECRET

8) Настроить автоматический запуск компонентов сервера:

sudo systemctl enable chirpstack-gateway-bridge
sudo systemctl enable chirpstack-network-server
sudo systemctl enable chirpstack-application-server

9) Запустить компоненты сервера:

sudo systemctl start chirpstack-gateway-bridge
sudo systemctl start chirpstack-network-server
sudo systemctl start chirpstack-application-server

10) Перейти в браузер ноутбука и ввести в поле адреса «https://IP:8080», где «IP» – IP-адрес соответствующего ПК. Ввести на появившейся странице имя пользователя «admin» и пароль по умолчанию «admin»

Vhod-v-panel-upravleniya-serverom-ChirpStack

11) На появившейся странице нажать на надпись «admin» в правом верхнем углу и затем выбрать «Change password».

Vid-glavnoy-stranitsyi-paneli-administratora-programmyi-ChirpStack-i-perehod-k-smene-parolya-administratora-servera

12) Ввести новый пароль для пользователя «admin (Рис. 5.55). Имена пользователей и пароли задаются в соответствии с заводскими установками (см. раздел «Приложение В. Заводские настройки для пользователей и паролей»), либо в соответствии с правилами назначения имен пользователей и паролей.

Smena-parolya-administratora-servera-ChirpStack

13) Перейти в раздел «Network-servers» и нажать кнопку «ADD»

Dobavlenie-servera-seti

14) Указать следующие параметры добавляемого сервера сети:

  • в поле «Network-server name» — «ns»;
  • в поле «Network-server server» — «localhost:8000».

Parametryi-dobavlyaemogo-servera-seti

15) Перейти в раздел «Gateway-profiles» и нажать кнопку «CREATE»

Sozdanie-profilya-bazovyih-stantsiy

16) Указать следующие параметры создаваемого профиля базовых станций:

  • в поле «Name» — «vega»;
  • в поле «Stats interval (seconds)» — «60»;
  • в поле «Enabled channels» — «0,1,2,3,4,5,6»;
  • в поле «Network-server» — «ns».

Parametryi-sozdavaemogo-profilya-bazovyih-stantsiy

17) Перейти в раздел «Service-profiles» и нажать кнопку «CREATE».

Sozdanie-profilya-vzaimodeystviya

18) Указать следующие параметры создаваемого профиля взаимодействия:

  • в поле «Service-profile name» — «smzis»;
  • в поле «Network-server» — «ns»;
  • в поле «Add gateway meta-data» — активировать;
  • в поле «Device-status request frequency» — «10»;
  • в поле «Report device battery level to application-server» — активировать;
  • в поле «Report device link margin to application-server» — активировать;
  • в поле «Minimum allowed data-rate» — «0»;
  • в поле «Maximum allowed data-rate» — «3».

Parametryi-sozdavaemogo-profilya-vzaimodeystviya

19) Перейти в раздел «Device-profiles» и нажать кнопку «CREATE»

Sozdanie-profilya-ustroystva

20) Указать следующие параметры создаваемого профиля устройств:

  • в поле «Device-profile name» — «ZET7000»;
  • в поле «Network-server» — «ns»;
  • в поле «LoRaWAN MAC version» — «1.0.3»;
  • в поле «LoRaWAN Regional Parameters revision» — «A»;
  • в поле «ADR algorithm» — «Default ADR algorithm»;
  • в поле «Max EIRP» — «14»;
  • в поле «Uplink interval (seconds)» — «21600».

Parametryi-sozdavaemogo-profilya-ustroystv

21) В том же разделе «Device-profiles» нажать на созданный профиль устройств «ZET7000», чтобы открыть его для редактирования:

Redaktirovanie-sozdannogo-profilya-ustroystv

22) Перейти на вкладку «JOIN (OTAA / ABP» и активировать галочку «Device supports OTAA». Перейти на вкладку «CODEC» и выбрать в поле «Payload codec» значение «Cayenne LPP». Применить изменения с помощью кнопки «UPDATE DEVICE-PROFILE».

Vklyuchenie-podderzhki-metoda-aktivatsii-OTAA

23) Перейти в раздел «Applications» и нажать кнопку «CREATE»

Sozdanie-prilozheniya

24) Указать параметры создаваемого приложения, например:

  • в поле «Application name» — «smzis»;
  • в поле «Application description» — «СМЗиС»;
  • в поле «Service-profile» — «smzis».

Parametryi-sozdavaemogo-prilozheniya

Другие статьи по теме

Авторизация
*
*

Потеряли пароль?

Политика конфиденциальности персональных данных

Регистрация
*
*
*

Политика конфиденциальности персональных данных

Генерация пароля