Установка и настройка сервера 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»
11) На появившейся странице нажать на надпись «admin» в правом верхнем углу и затем выбрать «Change password».
12) Ввести новый пароль для пользователя «admin (Рис. 5.55). Имена пользователей и пароли задаются в соответствии с заводскими установками (см. раздел «Приложение В. Заводские настройки для пользователей и паролей»), либо в соответствии с правилами назначения имен пользователей и паролей.
13) Перейти в раздел «Network-servers» и нажать кнопку «ADD»
14) Указать следующие параметры добавляемого сервера сети:
- в поле «Network-server name» — «ns»;
- в поле «Network-server server» — «localhost:8000».
15) Перейти в раздел «Gateway-profiles» и нажать кнопку «CREATE»
16) Указать следующие параметры создаваемого профиля базовых станций:
- в поле «Name» — «vega»;
- в поле «Stats interval (seconds)» — «60»;
- в поле «Enabled channels» — «0,1,2,3,4,5,6»;
- в поле «Network-server» — «ns».
17) Перейти в раздел «Service-profiles» и нажать кнопку «CREATE».
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».
19) Перейти в раздел «Device-profiles» и нажать кнопку «CREATE»
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».
21) В том же разделе «Device-profiles» нажать на созданный профиль устройств «ZET7000», чтобы открыть его для редактирования:
22) Перейти на вкладку «JOIN (OTAA / ABP» и активировать галочку «Device supports OTAA». Перейти на вкладку «CODEC» и выбрать в поле «Payload codec» значение «Cayenne LPP». Применить изменения с помощью кнопки «UPDATE DEVICE-PROFILE».
23) Перейти в раздел «Applications» и нажать кнопку «CREATE»
24) Указать параметры создаваемого приложения, например:
- в поле «Application name» — «smzis»;
- в поле «Application description» — «СМЗиС»;
- в поле «Service-profile» — «smzis».
Другие статьи по теме
- Организация и передача данных по протоколу LoRaWANПреимущества использования и общие принцыпы построения сети
- Описание данных, используемых в сети LoRaWANПриведен формат данных сети LoRaWAN на конктертных примерах
- Настройка базовой станцииДля чего нужна базовая станция и как ее корректно нвстроить
- Доступ в панель управления базовой станции и сервера ChirpStackДва шага для доступа в панель управления базовой станции и сервера
- Настройка и исключение датчиков через ChirpStackПорядок действий при добавлении и удалении датчиков с сервера ChirpStack