[Интернет вещей] Цикл статей об установке и эксплуатации сервера LoRaWAN Chirpstack
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
1. Введение
Данный цикл статей будет посвящён развёртыванию и эксплуатации открытого программного обеспечения: сервера сетей LoRaWAN Chirpstack. Данное программное обеспечение было создано одним из энтузиастов из Нидерладнов Orne Brocaar’ом, и может использоваться для построения своих собственных сетей LoRaWAN, компоненты системы лицензированы MIT лицензией и могут быть использованы для коммерческой эксплуатации.
Общаясь с заказчиками и потребителями производимых нами устройств LoRaWAN, неоднократно слышал просьбы о помощи в развёртывании собственных сетей на базе данного сервера, это навело меня на мысль о том, что необходимо обобщённое руководство по развёртыванию и эксплуатации сервера, которое мог бы прочитать и по шагам, собственноручно, установить любой желающий. В этой связи и родился данный цикл статей. Что мы будем обсуждать? Начнем с самого главного, с установки всех компонентов сервера. Далее будут статьи об эксплуатации сервера, об интеграции с внешними платформами, о использовании таких новых технологий сетей LoRaWAN как Multicast и FUOTA. И так, начнем… часть первая.
2. С чем будем работать
В первую очередь опишем то, на чем мы будем тестировать и развёртывать сервер LoRaWAN
Аппаратное обеспечение:
- Шлюз LoRaWAN: DoMINO Indoor v.1.0 (можно использовать другой например Вега БС xx)
- Счетчик импульсов DoMINO PULSE v.4.3+
Программное обеспечение:
- Облачный сервер с Ubuntu 18.04
3. Описание сервера Chirpstack
Структура сервера сети LoRaWAN представлена на рисунке 1.
Рис.1
Главными составляющими сервера являются:
Gateway Bridge — некоторый мост между программой Packet Forwarder установленной на базовой станции (шлюзе) и непосредственно структурой сервера LoRaWAN;
Network Server — сетевой сервер, обрабатывающий сообщения сетевого уровня;
Application Server — сервер приложения обеспечивающий работу сети на пользовательском уровне, осуществляет интеграцию с внешними платформами.
Вспомогательные составляющие:
MQTT Broker Mosquitto — для внутреннего обмена сообщениями между составляющими сервера;
Redis - промежуточная база данных для хранения скоротечных данных;
PostgreSQL — база данных для постоянного хранения данных.
Все ПО является программным обеспечением с открытым исходным кодом.
4. Установка сервера
Сервер устанавливается на ОС Ubuntu 18.04 или Debian. Мы будем описывать установку с использованием облачного сервера на Ubuntu 18.04. Соединение с сервером производится по SSH с помощью клиента Putty. Примечание: Предполагается что наш читатель имеет представление о работе с Ubuntu, SSH, Putty, имеет установленную и настроенную ОС.
4.1 Установка и настройка вспомогательного ПО
Для начала работы нам потребуется установка вспомогательных пакетов. Для этого введите в консоли команду:
sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql
и дождитесь окончания установки.
Далее необходимо настроить базу данных PostgreSQL, и добавить к ней пользователей.
Переходим в режим управления базой данных:
sudo -u postgres psql
Появится промпт управления базой данных postgres=#
Создаём пользователей со своими паролями (эти данные необходимо запомнить, вы можете давать другие логины и пароли но обязательно запомните их, они потребуются далее для конфигурирования сетевого сервера и сервера приложений).
Создаём пользователя для сетевого сервера:
create role chirpstack_ns with login password 'dbpassword';
Создаём пользователя для сервера приложений:
create role chirpstack_as with login password 'dbpassword';
Создаем базу данных для сетевого сервера:
create database chirpstack_ns with owner chirpstack_ns;
Создаем базу данных для сервера приложений:
create database chirpstack_as with owner chirpstack_as;
Дополнительные настройки
Подключаемся к базе данных:
\c chirpstack_as
Создаем расширение:
create extension pg_trgm;
Создаем расширение:
create extension hstore;
Выходим из редактирования параметров базы данных:
\q
4.2 Установка репозитория Chirpstack
Необходимо чтобы были установлены следующие компоненты: dirmngr и apt-transport-https, если нет выполните команду:
sudo apt install apt-transport-https dirmngr
Установите ключ для нового репозитория:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00
Добавляем репозиторий в список:
sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list
Обновим кэш apt:
sudo apt update
На этом предварительная настройка закончена.
4.3 Установка Gateway Bridge
Устанавливаем пакет:
sudo apt install chirpstack-gateway-bridge
Запускаем Gateway Bridge:
sudo systemctl start chirpstack-gateway-bridge
Ставим приложение Gateway Bridge в автозагрузку:
sudo systemctl enable chirpstack-gateway-bridge
Для проверки правильности запуска и установки можно проверить журнал работы с помощью команды:
sudo journalctl -f -n 100 -u chirpstack-gateway-bridge
Выход из журнала Ctrl+Z.
Никаких ошибок в журнале быть не должно.
4.4 Установка и настройка сетевого сервера (Network Server)
Устанавливаем пакет:
sudo apt install chirpstack-network-server
Для правильной работы сервера нам потребуется его настройка, файлом конфигурации является файл:
/etc/chirpstack-network-server/chirpstack-network-server.toml
Перед использованием сетевого сервера его необходимо отредактировать под наши задачи, для этого входим в папку с файлом:
/etc/chirpstack-network-server/
И в этой папке выполнить команду создания нового конфигурационного файла
chirpstack-network-server configfile > chirpstack-network-server.toml
Приступаем к внесению изменений в файл конфигурации.
Открываем файл для редактирования в удобном редакторе (nano, vim).
Подробно по углублённому пункту настроек сетевого сервера мы будем обсуждать в следующих частях цикла, сейчас же произведём только базовые настройки, для обеспечения основой функциональности.
Настраиваем подключение сетевого сервера к базе данных:
dsn="postgres://chirpstack_ns:dbpassword@localhost/chirpstack_ns?sslmode=disable"
Вот тут как раз нам и понадобятся имя базы данных логин и пароль из предыдущего пункта!
Так же редактируем параметр частотного плана:
name="RU864"
Сохраняем файл конфигурации, выходим в консоль терминала.
Запускаем сетевой сервер:
sudo systemctl start chirpstack-network-server
Ставим сетевой сервер в автозагрузку:
sudo systemctl enable chirpstack-network-server
Проверяем журнал работы сетевого сервера, ошибок быть не должно:
sudo journalctl -f -n 100 -u chirpstack-network-server
Сервер настроен и запущен.
4.5 Установка и настройка сервера приложений (Application Server)
Устанавливаем пакет:
sudo apt install chirpstack-application-server
По аналогии с сетевым сервером настраиваем файл конфигурации сервера приложений.
Перходим в папку с настройками:
/etc/chirpstack-application-server/
Обновляем файл конфигурации:
chirpstack-application-server configfile > chirpstack-application-server.toml
Здесь нам придётся так же отредактировать подключение к базе данных и очень важный момент нужно создать секретный ключ jwt_secret, для этого выполним команду:
openssl rand -base64 32
и запишем полученный ключ.
Открываем конфигурационный файл для редактирования и меняем строки подключения к базе данных на свои:
dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"
Устанавливаем скопированный секретный ключ:
jwt_secret=”UwX3TeStLtm/7tkW7hsqfbpcvo5k+BOEh/l8uDHCcKU=”
Сохраняем файл конфигурации. Выходим в консоль терминала.
Запускаем сервер приложений:
sudo systemctl start chirpstack-application-server
Устанавливаем сервер приложений в автозагрузку:
sudo systemctl enable chirpstack-application-server
Проверяем работу сервера приложений:
sudo journalctl -f -n 100 -u chirpstack-application-server
Ошибок быть не должно.
Поздравляем, сервер LoRaWAN Chirpstack установлен и готов к использованию!
В следующей части данного цикла статей, я подробно расскажу о работе с Web-интерфейсом сервера LoRaWAN Chirpstack.
С уважением,
Руководитель DoMINO GROUP,
Головатенко Андрей
===========
Источник:
habr.com
===========
Похожие новости:
- [IT-компании, Голосовые интерфейсы, Законодательство в IT, Интернет вещей] Голосовые помощники Apple, Google и Amazon оказались в центре антимонопольного расследования ЕС
- [NoSQL, SCADA, Анализ и проектирование систем, Интернет вещей, Промышленное программирование] Реализация кастомной Edge I-IoT платформы
- [DIY или Сделай сам, Интернет вещей, Компьютерное железо, Разработка на Raspberry Pi, Разработка под Linux] Встраиваемый компьютер AntexGate. От прототипа к серийному производству
- [Будущее здесь, Интернет вещей, Распределённые системы, Умный дом, Энергия и элементы питания] Путеводитель по интеллектуальному учёту электроэнергии в России (для энергетиков и потребителей)
- [Big Data, Интернет вещей] Вебинар «Удаленный мониторинг и диагностика промышленного оборудования»
- [Инженерные системы, Интернет вещей, Производство и разработка электроники, Промышленное программирование] Edge платформа промышленного интернета вещей I-IoT
- [Microsoft Azure, Интернет вещей, Разработка для интернета вещей] Опыт создания облачного решения по мониторингу цифрового киоска на Azure IoT Central
- [Интернет вещей, Программирование микроконтроллеров, Разработка для интернета вещей, Разработка систем связи] MQTTv5.0: Обзор новых функций
- [Антивирусная защита, Информационная безопасность] В продуктах GeoVision больше полугода сохраняются критические уязвимости
- [Интернет вещей, Информационная безопасность] Acronis нашла бэкдор в сканерах карт и отпечатков пальцев GeoVision
Теги для поиска: #_internet_veschej (Интернет вещей), #_lorawan, #_brocaar, #_chirpstack, #_internet_veschej (
Интернет вещей
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:24
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
1. Введение Данный цикл статей будет посвящён развёртыванию и эксплуатации открытого программного обеспечения: сервера сетей LoRaWAN Chirpstack. Данное программное обеспечение было создано одним из энтузиастов из Нидерладнов Orne Brocaar’ом, и может использоваться для построения своих собственных сетей LoRaWAN, компоненты системы лицензированы MIT лицензией и могут быть использованы для коммерческой эксплуатации. Общаясь с заказчиками и потребителями производимых нами устройств LoRaWAN, неоднократно слышал просьбы о помощи в развёртывании собственных сетей на базе данного сервера, это навело меня на мысль о том, что необходимо обобщённое руководство по развёртыванию и эксплуатации сервера, которое мог бы прочитать и по шагам, собственноручно, установить любой желающий. В этой связи и родился данный цикл статей. Что мы будем обсуждать? Начнем с самого главного, с установки всех компонентов сервера. Далее будут статьи об эксплуатации сервера, об интеграции с внешними платформами, о использовании таких новых технологий сетей LoRaWAN как Multicast и FUOTA. И так, начнем… часть первая. 2. С чем будем работать В первую очередь опишем то, на чем мы будем тестировать и развёртывать сервер LoRaWAN Аппаратное обеспечение:
Программное обеспечение:
3. Описание сервера Chirpstack Структура сервера сети LoRaWAN представлена на рисунке 1. Рис.1 Главными составляющими сервера являются: Gateway Bridge — некоторый мост между программой Packet Forwarder установленной на базовой станции (шлюзе) и непосредственно структурой сервера LoRaWAN; Network Server — сетевой сервер, обрабатывающий сообщения сетевого уровня; Application Server — сервер приложения обеспечивающий работу сети на пользовательском уровне, осуществляет интеграцию с внешними платформами. Вспомогательные составляющие: MQTT Broker Mosquitto — для внутреннего обмена сообщениями между составляющими сервера; Redis - промежуточная база данных для хранения скоротечных данных; PostgreSQL — база данных для постоянного хранения данных. Все ПО является программным обеспечением с открытым исходным кодом. 4. Установка сервера Сервер устанавливается на ОС Ubuntu 18.04 или Debian. Мы будем описывать установку с использованием облачного сервера на Ubuntu 18.04. Соединение с сервером производится по SSH с помощью клиента Putty. Примечание: Предполагается что наш читатель имеет представление о работе с Ubuntu, SSH, Putty, имеет установленную и настроенную ОС. 4.1 Установка и настройка вспомогательного ПО Для начала работы нам потребуется установка вспомогательных пакетов. Для этого введите в консоли команду: sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql
и дождитесь окончания установки. Далее необходимо настроить базу данных PostgreSQL, и добавить к ней пользователей. Переходим в режим управления базой данных: sudo -u postgres psql
Появится промпт управления базой данных postgres=# Создаём пользователей со своими паролями (эти данные необходимо запомнить, вы можете давать другие логины и пароли но обязательно запомните их, они потребуются далее для конфигурирования сетевого сервера и сервера приложений). Создаём пользователя для сетевого сервера: create role chirpstack_ns with login password 'dbpassword';
Создаём пользователя для сервера приложений: create role chirpstack_as with login password 'dbpassword';
Создаем базу данных для сетевого сервера: create database chirpstack_ns with owner chirpstack_ns;
Создаем базу данных для сервера приложений: create database chirpstack_as with owner chirpstack_as;
Дополнительные настройки Подключаемся к базе данных: \c chirpstack_as
Создаем расширение: create extension pg_trgm;
Создаем расширение: create extension hstore;
Выходим из редактирования параметров базы данных: \q
4.2 Установка репозитория Chirpstack Необходимо чтобы были установлены следующие компоненты: dirmngr и apt-transport-https, если нет выполните команду: sudo apt install apt-transport-https dirmngr
Установите ключ для нового репозитория: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00
Добавляем репозиторий в список: sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list
Обновим кэш apt: sudo apt update
На этом предварительная настройка закончена. 4.3 Установка Gateway Bridge Устанавливаем пакет: sudo apt install chirpstack-gateway-bridge
Запускаем Gateway Bridge: sudo systemctl start chirpstack-gateway-bridge
Ставим приложение Gateway Bridge в автозагрузку: sudo systemctl enable chirpstack-gateway-bridge
Для проверки правильности запуска и установки можно проверить журнал работы с помощью команды: sudo journalctl -f -n 100 -u chirpstack-gateway-bridge
Выход из журнала Ctrl+Z. Никаких ошибок в журнале быть не должно. 4.4 Установка и настройка сетевого сервера (Network Server) Устанавливаем пакет: sudo apt install chirpstack-network-server
Для правильной работы сервера нам потребуется его настройка, файлом конфигурации является файл: /etc/chirpstack-network-server/chirpstack-network-server.toml
Перед использованием сетевого сервера его необходимо отредактировать под наши задачи, для этого входим в папку с файлом: /etc/chirpstack-network-server/
И в этой папке выполнить команду создания нового конфигурационного файла chirpstack-network-server configfile > chirpstack-network-server.toml
Приступаем к внесению изменений в файл конфигурации. Открываем файл для редактирования в удобном редакторе (nano, vim). Подробно по углублённому пункту настроек сетевого сервера мы будем обсуждать в следующих частях цикла, сейчас же произведём только базовые настройки, для обеспечения основой функциональности. Настраиваем подключение сетевого сервера к базе данных: dsn="postgres://chirpstack_ns:dbpassword@localhost/chirpstack_ns?sslmode=disable"
Вот тут как раз нам и понадобятся имя базы данных логин и пароль из предыдущего пункта! Так же редактируем параметр частотного плана: name="RU864"
Сохраняем файл конфигурации, выходим в консоль терминала. Запускаем сетевой сервер: sudo systemctl start chirpstack-network-server
Ставим сетевой сервер в автозагрузку: sudo systemctl enable chirpstack-network-server
Проверяем журнал работы сетевого сервера, ошибок быть не должно: sudo journalctl -f -n 100 -u chirpstack-network-server
Сервер настроен и запущен. 4.5 Установка и настройка сервера приложений (Application Server) Устанавливаем пакет: sudo apt install chirpstack-application-server
По аналогии с сетевым сервером настраиваем файл конфигурации сервера приложений. Перходим в папку с настройками: /etc/chirpstack-application-server/
Обновляем файл конфигурации: chirpstack-application-server configfile > chirpstack-application-server.toml
Здесь нам придётся так же отредактировать подключение к базе данных и очень важный момент нужно создать секретный ключ jwt_secret, для этого выполним команду: openssl rand -base64 32
и запишем полученный ключ. Открываем конфигурационный файл для редактирования и меняем строки подключения к базе данных на свои: dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"
Устанавливаем скопированный секретный ключ: jwt_secret=”UwX3TeStLtm/7tkW7hsqfbpcvo5k+BOEh/l8uDHCcKU=”
Сохраняем файл конфигурации. Выходим в консоль терминала. Запускаем сервер приложений: sudo systemctl start chirpstack-application-server
Устанавливаем сервер приложений в автозагрузку: sudo systemctl enable chirpstack-application-server
Проверяем работу сервера приложений: sudo journalctl -f -n 100 -u chirpstack-application-server
Ошибок быть не должно. Поздравляем, сервер LoRaWAN Chirpstack установлен и готов к использованию! В следующей части данного цикла статей, я подробно расскажу о работе с Web-интерфейсом сервера LoRaWAN Chirpstack. С уважением, Руководитель DoMINO GROUP, Головатенко Андрей =========== Источник: habr.com =========== Похожие новости:
Интернет вещей ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:24
Часовой пояс: UTC + 5