- IOT Vega Server
- IOT Vega Server
- Установка и настройка IOT VEGA Server + Admin Tool + Pulse на Linux Ubuntu
- Установка и запуск VEGA Server
- Хранение данных в MariaDB / MySQL
- Установка MariaDB
- Создание базы и пользователя в СУБД
- Настройка библиотек IOT VEGA
- Настройка Вега сервера
- Установка Admin Tool
- Веб-сервер
- Admin Tool
- Установка Pulse
- Настройка IotVegaNotifier
- Обновление
- IOT VEGA Server
- IOT Vega Pulse
- Admin Tool
- Дополнительно
- Смена пароля root
- Вход на веб из вне
IOT Vega Server
IOT Vega Network Server is a tool for management of all-scale LoRaWAN ® networks. The server is designed to manage a backbone network of the gateways controlled with the Packet forwarder software (by Semtech), to receive data from the end devices and transmit it to external applications, and to transmit data from external applications to LoRaWAN ® devices. The server operates according to the LoRaWAN ® 1.02 specification and supports all end devices complying with this version. All data received from the end devices is stored in the database integrated into the IOT Vega Server and is always available for external applications.
With Open API based on the Web Socket technology you can connect external applications to the IOT Vega Server and use LoRaWAN ® network capabilities for your projects. The IOT Vega Server is supplied as a console application for Windows and Linux operating systems. We offer an intuitive application IOT Vega Admin Tool with a simple user-friendly interface. Admin Tool provides the server administrator with a wide range of options for LoRaWAN ® network management. With AdminTool you can add new LoRaWAN ® end devices to the network, view the network map, monitor the gateways, and manage user rights. IOT Vega Admin Tool is a free Web application.
IOT Vega Server is provided free of charge on the following conditions:
The number of connected gateways is unlimited;
The number of connected end devices produced by Vega-Absolute is unlimited;
The number of connected devices of any other manufacturer is not more than 100.
Also, there is an opportunity to purchase an unlimited license to connect more end devices from other manufacturers:
The package of 100 additional devices — $100;
The package of 500 additional devices — $375;
The package of 1000 additional devices — $500.
Some limits for software are listed below:
The maximum frequency of messages received from end devices in the local area network coverage area (coverage area of one Gateway) cannot exceed the value: 10 packets per minute with confirmation and 20 packets per minute without confirmation.
If the communication period for end devices with the server is once a day, the maximum number of such devices in the coverage area of the local network cannot exceed three thousand units.
Источник
IOT Vega Server
Сетевой сервер IOT Vega Server это инструмент для организации сетей стандарта LoRaWAN ® любого масштаба. Предназначен для управления опорной сетью базовых станций, работающих под управлением ПО Packet forwarder от компании Semtech, приема данных с оконечных устройств и передачи их внешним приложениям, а также передачи данных от внешних приложений на LoRaWAN ® устройства. Сервер работает по спецификации LoRaWAN ® 1.02 и поддерживает любые оконечные устройства, работающие согласно данной версии спецификации. Все принятые от оконечных устройств данные сохраняются во встроенной в IOT Vega Server базе данных и всегда доступны для внешних приложений.
Открытый API, основанный на технологии Web Socket позволяет подключать к IOT Vega Server внешние приложения и использовать возможности LoRaWAN ® сетей в ваших проектах. IOT Vega Server выпускается в виде консольного приложения для операционных систем Windows и Linux. Для управления сервером мы разработали удобное приложение IOT Vega Admin Tool с простым дружественным интерфейсом. Admin Tool открывает перед администратором сервера широкие возможности по управлению сетью LoRaWAN ® . С Admin Tool вы можете добавлять в сеть новые оконечные устройства LoRaWAN ® , просматривать карту сети, контролировать базовые станции, а также управлять правами пользователей. IOT Vega Admin Tool предоставляется бесплатно в виде Web-приложения.
IOT Vega Server предоставляется бесплатно на следующих условиях:
Количество подключаемых базовых станций — неограниченно;
Количество подключаемых оконечных устройств производства Вега-Абсолют — неограниченно;
Количество подключаемых оконечных устройств любого другого производителя — не более 100.
Также существует возможность приобретения бессрочной лицензии на подключение большего количества оконечных устройств других производителей:
Пакет 100 дополнительных устройств — 100$;
Пакет 500 дополнительных устройств — 375$;
Пакет 1000 дополнительных устройств — 500$.
IOT Vega Server имеет ограничения по пропускной способности информации:
Максимальная частота сообщений, получаемых от оконечных устройств в зоне действия локальной сети (зона охвата одной БС) не может превышать значения: 10 пакетов в минуту с функцией подтверждения и 20 пакетов в минуту без подтверждения.
При установке расписания сеансов связи оконечных устройств с сервером один раз в сутки, максимальное количество таких устройств в зоне действия локальной сети не может превышать три тысячи единиц.
Источник
Установка и настройка IOT VEGA Server + Admin Tool + Pulse на Linux Ubuntu
VEGA Server — программное обеспечение для приема данных из различных устройств. Например, вместе с Pulse его можно использовать для получения и отображения показаний водосчетчиков, электросчетчиков, счетчиков газа с импульсными выходами.
Дистрибутив сервера распространяется как deb-пакет, поэтому установка будет выполняться на Linux Ubuntu. Инструкция также будет работать для Debian.
Установка и запуск VEGA Server
Переходим на страницу iotvega.com/product/server и копируем ссылку на IOT Vega Server для Linux:
Скачиваем архив на сервере:
* так как в пути есть спецсимволы, необходимо адрес вставить в кавычки. В данном примере скачивается версия 1.2.1.
tar -xvf IOT\ Vega\ Server\ \(linux\)\ v*.tar.gz
* также обратите внимание, что из-за пробелов в названии необходимо ставить экраны (\).
Переходим в каталог с установочным пакетом:
cd IOT\ Vega\ Server\ \(linux\)\ v1.2.1/x64/
* в моем примере используется 64-х битная система. Посмотреть версию используемой системы можно командой uname -i
dpkg -i iot-vega-server-1.2.1.deb
Открываем на редактирование файл конфигурации:
Редактируем IP-адрес, на котором сервис должен работать:
* в данном примере сервер будет слушать на адресе 192.168.1.10.
Мы должны увидеть сообщение об успешном запуске:
INFO: Table queuetransmit is cleaned
INFO: Table «bufMacDevParams» is cleared
WebSocketServer has opened. Port[8002]
UDP socket has opened. IP[192.168.1.10:8001]
DEBUG: UdpServer handler is started
INFO: DB-secure scaner started.
DEBUG [CDevicesCountInfo]: vega[0], totalNonVega[1000], usedNonVega[0]
INFO: DB-secure scaner successfully finished
Оставим консоль и подключимся новой (еще одной). В списке прослушиваемых портов должны появиться 8001 и 8002:
ss -tunlp | grep 800[1,2]
udp UNCONN 0 0 192.168.1.62:8001 *:* users:((«iot-vega-server»,pid=4381,fd=13))
tcp LISTEN 0 50 . 8002 . * users:((«iot-vega-server»,pid=4381,fd=6))
Для автозапуска сервиса меняем права скрипту в init.d:
chmod +x /etc/init.d/iot-vega-server
chown root:root /etc/init.d/iot-vega-server
Разрешаем автозапуск сервиса и стартуем его:
systemctl enable iot-vega-server —now
Для проверки работы, можно перезагрузить сервер и после загрузки проверить состояние службы:
systemctl status iot-vega-server
Хранение данных в MariaDB / MySQL
По умолчанию, данные хранятся в своей внутренней базе. Для работы с другой СУБД выполняем ряд действий, описанных ниже.
Установка MariaDB
Сначала установим ее:
apt-get install mariadb-server
Разрешаем автозапуск и запускаем:
systemctl enable mysql —now
Задаем пароль суперпользователю mysql:
mysqladmin -u root password
Создание базы и пользователя в СУБД
Заходим в оболочку SQL:
Создаем базу данных:
> CREATE DATABASE lorawan_server DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* в данном примере создана база lorawan_server.
Создаем пользователя и даем ему полные права на созданную базу:
> GRANT ALL PRIVILEGES ON lorawan_server.* TO vega@localhost IDENTIFIED BY ‘vega123’ WITH GRANT OPTION;
* в данном примере создана учетная запись vega с паролем vega123.
Выходим из оболочки sql:
Настройка библиотек IOT VEGA
Для работы с MySQL необходимо, чтобы все библиотеки или симлинки на них находились в каталоге /opt/iot-vega-server. Для проверки библиотек, переходим в каталог:
LD_LIBRARY_PATH=/opt/iot-vega-server/ ldd libqsqlmysql.so | grep «not found»
В моем случае был ответ такой:
libssl.so.10 => not found
libcrypto.so.10 => not found
. это означает, что симлинки libssl.so.10 и libcrypto.so.10 ведут на несуществующие файлы. Сначала удалим неправильные ссылки:
Теперь найдем правильное местоположение библиотек:
* в данном примере мы пытаемся найти нужные нам библиотеки в каталогах /lib и /usr/lib. В одном из них должны находиться нужные нам библиотеки.
После создадим правильные симлинки на существующие файлы. У меня получилось так:
ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/iot-vega-server/libssl.so.10
ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/iot-vega-server/libcrypto.so.10
Снова запускаем проверку:
LD_LIBRARY_PATH=/opt/iot-vega-server/ ldd libqsqlmysql.so | grep «not found»
. команда ничего не должна вернут.
Настройка Вега сервера
Для того, чтобы наш сервер начал использовать внешнюю базу, открываем его конфигурационный файл:
.
[external_db]
.
useExternalDb=1
.
userExternalDb=vega
passwordExternalDb=vega123
.
* useExternalDb указывает, использовать ли внешнюю базу данных; userExternalDb задает имя пользователя; passwordExternalDb — пароль для пользователя базы.
Перезапускаем демона vega:
systemctl restart iot-vega-server
Проверяем работу сервиса:
systemctl status iot-vega-server
* если сервис запускается с ошибкой, снова открываем конфигурационный файл /opt/iot-vega-server/settings.conf и задаем настройки подключения к базе под пользователем root.
Установка Admin Tool
Для управления сервером с помощью веб-интерфейса, ставим веб-сервер и Admin Tool.
Веб-сервер
В качестве веб-сервера достаточно установить NGINX. Для его установки вводим:
apt-get install nginx
Разрешаем автозапуск и стартуем сервис:
systemctl enable nginx —now
Для проверки работы сервера открываем браузер и переходим на страницу http:// / — должна откыться страница приветствия NGINX:
Admin Tool
Заходим на тот же сайт iotvega.com/product/server и копируем ссылку на портал управления:
С помощью данной ссылки скачиваем архив на сервер:
* так как в пути есть спецсимволы, необходимо адрес вставить в кавычки. В данном примере скачивается версия 1.1.4.
Устанавливаем unzip для распаковки архива:
apt-get install unzip
unzip IOT\ Vega\ Admin\ Tool\ V*.zip
Переносим каталог с порталом к домашнюю директорию веб-сервера:
mv IOT\ Vega\ Admin\ Tool\ V1.1.4_ru/Admin\ Tool /var/www/html/admin
Открываем настройки административной консоли:
Задаем адрес, на котором слушает сервер:
const address_ws = ‘ws://192.168.1.10:8002’;
* в данном примере мы поменяли IP на 192.168.1.10 и порт на 8002. Адрес должен быть внутренним, если мы будем заходить на сервер по внутренней сети или внешним, если заходить будем из сети Интернет.
Открываем браузер и переходим по адресу http:// /admin/ — должна открыться страница входа в Admin Tool.
Вводим логин root и пароль 123 (по умолчанию; задаются в настройках Vega Server — файле /opt/iot-vega-server/settings.conf).
Установка Pulse
IOT Vega Pulse является клиентским веб-приложением. Оно нужно для отображения информации, которая была собрана сервером.
Для установки нам нужен веб-сервер. Его мы устанавливали на этапе, когда разворачивали Admin Tool. Теперь нам нужно просто скачать и распаковать портал Pulse.
Заходим на страницу iotvega.com/product/app и копируем ссылку на стабильную версию Pulse:
С помощью данной ссылки скачиваем архив на сервер:
Распаковываем скачанный архив:
unzip IOT\ Vega\ Pulse\ V1.1.9_ru.zip
* у нас должен быть установлен пакет unzip.
Переносим портал в каталог веб-сервера:
mv IOT\ Vega\ Pulse\ V1.1.9_ru/Pulse /var/www/html/pulse
Открываем на редактирование конфигурационный файл Pulse:
Задаем адрес, на котором слушает сервер:
const address_ws = ‘ws://192.168.1.10:8002’;
* в данном примере IP 192.168.1.10 и порт 8002.
Открываем браузер и переходим по адресу http:// /pulse/ — должна открыться страница входа в Pulse.
Вводим логин root и пароль 123 (по умолчанию; задаются в настройках Vega Server — файле /opt/iot-vega-server/settings.conf).
Настройка IotVegaNotifier
IOT Vega Notifier — программа для отправки оповещений по SIP. С ее помощью мы можем получить звонок или уведомление на телефон при возникновении тревожных событий.
Данный софт распространяется в виде контейнера docker и требует его установки в систему:
apt-get install docker.io
docker run -it -d —name iotveganotifier vegaabsolute/iotveganotifier:disco
Запускаем командную консоль внутри контейнера iotveganotifier:
docker exec -it iotveganotifier bash
Открываем на редактирование конфигурационный файл для IotVegaNotifier:
Меняем настройки для подключения к серверу
[ws]
#The address of the server WebSocket IotVega
address=ws://192.168.1.10:8002
#The user of the server WebSocket IotVega
user=root
#The user password
password=123
* мы должны указать адрес сервера VEGA, а также логин и пароль для подключения к нему. В данном примере у нас сервер с адресом 192.168.1.10; логин и пароль root 123 — те, что заданы по умолчанию.
После задаем настройки для SIP:
[sip]
#Enabled sip to take voice messages
#boolean
enabled=true
#The host of the SIP
host=sip.siplink.pro
#The user of the SIP
user=1234567890
#The user password
password=passw0rd
* в данных настройках мы включаем поддержку SIP (enabled); указываем сервер, предоставляющий услугу телефонии (host); задаем логин и пароль на подключение аккаунта (user и password).
Закрываем редактор и перезапускаем сервис оповещений:
Выходим из оболочки контейнера docker, нажав Ctrl + D.
Обновление
Рассмотрим процесс обновления сервера и компонентов. Сначала создадим каталог, в котором будут резервные копии:
IOT VEGA Server
При выходе новой версии сервера, можно обновить приложение стандартной установкой, в ходе которой будут внесены изменения в саму серверную часть и базу данных.
Перед обновлением необходимо сделать резервную копию базы данных и конфигурационного файла.
Создадим каталог для хранения архивов сервера:
а) В нашем примере мы используем базу MariaDB — соответственно, делаем дамп mysql:
mysqldump -v -uroot -p lorawan_server > /backup/server/mysqldump.lorawan_server.sql
б) Если же мы используем встроенную базу, просто копируем файл server.db:
cp /opt/iot-vega-server/server.db /backup/server/server.db
После резервирования базы данных, копируем конфигурационный файл:
cp /opt/iot-vega-server/settings.conf /backup/server/
Теперь можно загружать новую версию сервера:
tar -xvf IOT\ Vega\ Server\ \(linux\)\ v*.tar.gz
Переходим в каталог с установочным пакетом:
cd IOT\ Vega\ Server\ \(linux\)\ v1.2.1/x64/
* в моем примере используется 64-х битная система. Посмотреть версию используемой системы можно командой uname -i
dpkg -i iot-vega-server-1.2.1.deb
* обратите внимание, что процесс обновления не отличается от установки — система сама определит, что IOT VEGA Server установлен и обновит его.
IOT Vega Pulse
Копируем каталог с текущей версией в папку backup:
cp -r /var/www/html/pulse /backup/pulse.1.1.10
* где 1.1.10 — версия pulse, которая у нас используется в данный момент.
Скачиваем новую версию Vega Pulse:
* на момент обновления инструкции последняя версия была 1.1.11.
Если мы получим ошибку сертификата ERROR: cannot verify iotvega.com’s certificate, загружаем архив с добавлением опции —no-check-certificate:
wget —no-check-certificate https://iotvega.com/content/ru/soft/app/IOT%20Vega%20Pulse%20V1.1.11_ru.zip
Распаковываем скачанный архив:
unzip IOT\ Vega\ Pulse\ V1.1.11_ru.zip
Удаляем папку pulse с текущей версией программы:
rm -rf /var/www/html/pulse
Переносим портал в каталог веб-сервера:
mv IOT\ Vega\ Pulse\ V1.1.11_ru/Pulse /var/www/html/pulse
Возвращаем из резервной копии конфигурационный файл Pulse:
cp /backup/pulse.1.1.10/config.js /var/www/html/pulse/
Admin Tool
Процесс обновления Admin Tool схож с Pulse. Рассмотрим его по шагам.
Копируем каталог с текущей версией в папку backup:
cp -r /var/www/html/admin /backup/admin.1.1.4
* где 1.1.4 — версия admin tool, которая у нас используется в данный момент.
Скачиваем новую версию:
* на момент обновления инструкции последняя версия была 1.1.5.
Если мы получим ошибку сертификата ERROR: cannot verify iotvega.com’s certificate, загружаем архив с добавлением опции —no-check-certificate:
wget —no-check-certificate «https://iotvega.com/content/ru/soft/server/IOT%20Vega%20Admin%20Tool%20V1.1.5_ru.zip»
Распаковываем скачанный архив:
unzip IOT\ Vega\ Admin\ Tool\ V1.1.5_ru.zip
Удаляем папку admin с текущей версией программы:
rm -rf /var/www/html/admin
Переносим портал в каталог веб-сервера:
mv IOT\ Vega\ Admin\ Tool\ V1.1.5_ru/Admin\ Tool /var/www/html/admin
Возвращаем из резервной копии конфигурационный файл Pulse:
cp /backup/admin.1.1.4/config.js /var/www/html/admin/
Дополнительно
Разберем некоторые дополнительные настройки.
Смена пароля root
Это одна из первых вещей, которые нужно сделать. По умолчанию, логин с паролем root / 123 — это не безопасно и каждый сможет управлять сервером.
Открываем конфигурационный файл Vega Server:
Редактируем пароль пользователя root:
[root]
# Login for super user
root=root
# Password for super user (recommendation: change this password to your own)
password=newpassword
* где нужно поменять значение параметра password.
Перезапускать сервер не нужно. Заходим в Admin Tool и Pulse — проверяем, что теперь система пускает под новым паролем.
Вход на веб из вне
Необходимо, чтобы клиент (браузер) мог напрямую подключиться к серверу по порту tcp 8002. Для этого в конфигурационном файле Pulse или Admin Tool нужно задать параметр address_ws с использованием внешнего адреса, например:
const address_ws = ‘ws://90.156.242.197:8002’;
* в данном примере 90.156.242.197 — это мой внешний адрес. Вам необходимо задать свой.
Если сервер подключен к сети Интернет не напрямую, а через шлюз, необходимо пробросить порты 8001/UDP и 8002/TCP.
Источник