Методология работы с API IoTVegaServer

Только ПО разработанное в Вега-Абсолют
Аватара пользователя
Самуил
Просто смотрю
Сообщения: 80
Зарегистрирован: Вт, 02 июл 2019 13:10
Откуда: Россия
Контактная информация:

Методология работы с API IoTVegaServer

Сообщение Самуил » Вт, 02 июл 2019 13:19

День добрый!
Что есть:
1) БС Вега 1.2
2) Скачанный и запущенный iotvegaserver
3) Три десятка счётчиков воды и пять счётчиков энергии с поддержкой LoRa

Задача: написать приложение опрашивающее сервер через открытое API и собирающее показания счётчиков

Вопросы: каким методом ведётся работа с сервера? сервер сам инициирует связь с приложением? или постоянный опрос? если опрос то как часто?
счётчик прислал показания на сервер. сервер сам информирует приложение пользователя что что-то пришло, или нет?

Прошу подробного разъяснения по написанию сторонних приложений с использованием открытого API IoTVegaServer.

upd: прошу выложить пример на любом языке программирования.

P.S. прошу русскоязычной версии документа API VEGA-LoRa Rev23.pdf

Аватара пользователя
a.malnev
Сотрудник компании
Сообщения: 7
Зарегистрирован: Пт, 31 май 2019 16:44

Re: Методология работы с API IoTVegaServer

Сообщение a.malnev » Ср, 03 июл 2019 10:45

Добрый день!
По порядку:
1. Русскоязычной версии API нету и пока не планируется
2. Пример ПО подключения к серверу и работы с его API
- на нашем сайте есть пример WEB приложения AdminTool где используется 95% API сервера
- в течении месяца должны быть опубликованы исходники ПО (на С++) по добавлению устройств на сервер. Будет новость на сайте - следите.
Если кратко, то используется WebSocket и происходит обмен текстовыми сообщениями в формате JSON.
3. Сервер на борту имеет WebSocketServer, к которому подключается клиентское ПО. Проходите авторизацию на соответствующего пользователя. И (1) если пользователю разрешено получение онлайн сообщений и (2) устройство находится в области видимости пользователя, то клиентское ПО по WebSocket получит уведомление о получении новых данных от соответствующего устройства (пакет "rx").
Имеющаяся версия сервера (1.2.х) предназначена для работы с низкой нагрузкой по клиентской стороне, поэтому опрос советуем производить не чаще чем раз в минуту (более точно выясняется в конкретной ситуации сам пользователь). Если есть желание мгновенно получать новые данные - оставайтесь на коннекте с сервером.

Аватара пользователя
Онотоле
Мимо проходил
Сообщения: 4
Зарегистрирован: Ср, 03 июл 2019 11:04

Re: Методология работы с API IoTVegaServer

Сообщение Онотоле » Ср, 03 июл 2019 11:27

Самуил писал(а):
Вт, 02 июл 2019 13:19
Вопросы: каким методом ведётся работа с сервера? сервер сам инициирует связь с приложением? или постоянный опрос? если опрос то как часто?
счётчик прислал показания на сервер. сервер сам информирует приложение пользователя что что-то пришло, или нет?
Веговский лора ван сервер работает по API WebSocket. WebSocket говорит о том что вы создаете подключение с сервером и держите его. Cервер по своей инициативе время от времени будет присылать online сообщения о том что происходит в lora ван сети. В случае если что то нужно отправлять на устройства, вы можете отправлять по апи данные на устройства.
Создали коннект -> Авторизовались -> ждете rx пакеты (при желании можете отправлять команды)
Самуил писал(а):
Вт, 02 июл 2019 13:19
Прошу подробного разъяснения по написанию сторонних приложений с использованием открытого API IoTVegaServer.
upd: прошу выложить пример на любом языке программирования.
Посмотрите TimeCorrector
https://github.com/VegaAbsolute/IotVegaTimeCorrector

talbutdinov
Мимо проходил
Сообщения: 1
Зарегистрирован: Чт, 04 июл 2019 18:07

Re: Методология работы с API IoTVegaServer

Сообщение talbutdinov » Чт, 04 июл 2019 18:11

Мы сейчас экспериментируем с RapidScada, написали под нее драйвер и собираем данные с объектов в часовом разрезе. СИ-11 Работает без проблем, с СИ-13 пока драйвер на доработке. У нас в системе разношерстные устройства (не только компании Вега), под них тоже пишем драйвера. Но все данные приходят на сервер Веги и оттуда вытаскиваются через АПИ. К концу следующей недели планируем запустить в полное тестирование, если интересно, может поделить результатами.

Аватара пользователя
Boris.M
Мимо проходил
Сообщения: 18
Зарегистрирован: Чт, 04 июл 2019 17:32

Re: Методология работы с API IoTVegaServer

Сообщение Boris.M » Чт, 04 июл 2019 18:25

На С#
url = "ws://" + IPAddress + ":" + TCPPort;
WSclient = new WebSocket(url);
output = "{\"cmd\":\"get_devices_req\"}";
WSclient.Send(output);
полученный ответ сериализируем и вытягиваем нужные данные.

Аватара пользователя
Самуил
Просто смотрю
Сообщения: 80
Зарегистрирован: Вт, 02 июл 2019 13:10
Откуда: Россия
Контактная информация:

Re: Методология работы с API IoTVegaServer

Сообщение Самуил » Пт, 05 июл 2019 20:50

Создали коннект -> Авторизовались -> ждете rx пакеты (при желании можете отправлять команды)
То есть json данные передаются как текст и этим текстом передаются логин и пароль?
К концу следующей недели планируем запустить в полное тестирование, если интересно, может поделить результатами.
хотелось бы посмотреть, да
WSclient = new WebSocket(url);
стандартный виндовая библиотека для вебсокетов или иная?

Аватара пользователя
Самуил
Просто смотрю
Сообщения: 80
Зарегистрирован: Вт, 02 июл 2019 13:10
Откуда: Россия
Контактная информация:

Re: Методология работы с API IoTVegaServer

Сообщение Самуил » Пн, 08 июл 2019 13:15

Вопрос оффтопик, но отвечу:
я не веб разработчик но браузеров у меня зоопарк. Иногда приходится прогать камни с сетевым интерфейсом и там натягивать веб сервера со страничками настройки.

Аватара пользователя
Самуил
Просто смотрю
Сообщения: 80
Зарегистрирован: Вт, 02 июл 2019 13:10
Откуда: Россия
Контактная информация:

Re: Методология работы с API IoTVegaServer

Сообщение Самуил » Пн, 08 июл 2019 13:16

Boris.M писал(а):
Чт, 04 июл 2019 18:25
На С#
url = "ws://" + IPAddress + ":" + TCPPort;
WSclient = new WebSocket(url);
output = "{\"cmd\":\"get_devices_req\"}";
WSclient.Send(output);
полученный ответ сериализируем и вытягиваем нужные данные.
получилось, спасибо!

Аватара пользователя
Самуил
Просто смотрю
Сообщения: 80
Зарегистрирован: Вт, 02 июл 2019 13:10
Откуда: Россия
Контактная информация:

Re: Методология работы с API IoTVegaServer

Сообщение Самуил » Вт, 09 июл 2019 14:26

Пишу сейчас программу на C# для общения с сервером джсоном через вебсокет.
будет очень полезно если разработчики выложат *.cs *.cpp файлы или иные подобные, с классами, подклассами для ускорения разработки. меня интересую только классы которые может выдавать сервер в ответ на запросы.

Аватара пользователя
a.malnev
Сотрудник компании
Сообщения: 7
Зарегистрирован: Пт, 31 май 2019 16:44

Re: Методология работы с API IoTVegaServer

Сообщение a.malnev » Вт, 09 июл 2019 15:47

Выше вам уже приводили ссылку на наш Git репозиторий.
Все что есть для открытого доступа - размещено там. Возможно чем-то поможет.

Ответить