СИ-21, протокол 2.0

LoRa, LoRaWAN, Вега Smart
Ответить
vorontsov.pavel
Мимо проходил
Сообщения: 2
Зарегистрирован: Чт, 01 июл 2021 14:57

СИ-21, протокол 2.0

Сообщение vorontsov.pavel » Чт, 01 июл 2021 15:10

Уважаемые разработчики приборов Лора Вега!

Я работаю в компании, которая собирает данные с разного рода счетчиков, в том числе производства Вега и волею судеб разрабатываю ПО для разбора пакетов данных payload, приходящих с этих самых счетчиков. В числе прочих я имел дело и с прибором СИ-21. В документации к этому замечательному прибору версии 8 в разделе 5 (протокол обмена) для каждого пакета есть первый байт - Тип пакета. Это стандартный подход к протоколам обмена, обычный tlv, точнее tv, потому что все поля фиксированной длины. В документации к этому же прибору, но уже версии 11 в том же разделе я не нахожу этого байта! Скажите пожалуйста, каким образом мне, программисту, нужно разбираться что прислал прибор? По длине пакета? Это какой то .... я даже не знаю как назвать.

Я понимаю, что СИ-21 выводится из обращения, но если ваши программисты так же будут подходить к разработке протоколов, то это катастрофа. Я бы посоветовал кроме идентификатора типа пакета в этот же байт включать номер протокола. И с каждой итерацией принудительно этот номер инкрементировать, даже если формат пакета данных не изменяется. Так вы сильно облегчите жизнь своим клиентам.

Аватара пользователя
Игорь
Сотрудник компании
Сообщения: 6
Зарегистрирован: Вт, 02 июл 2019 13:56

Re: СИ-21, протокол 2.0

Сообщение Игорь » Пт, 02 июл 2021 10:26

Добрый день уважаемый Павел!
Из пакета данных убран байт типа пакета по той причине что у СИ-21 пакет с данными только один. Поэтому информация о типе пакета является избыточной, коль другого пакета с данными быть не может.

Не вполне понятен Ваш вопрос:

Код: Выделить всё

 каким образом мне, программисту, нужно разбираться что прислал прибор?
Единственный пакет с данными приходит только на LoRaWAN порт 2. Все остальные служебные пакеты (корректировка времени, настройки и проч...) приходят на другие порты.
Инженер-программист

vorontsov.pavel
Мимо проходил
Сообщения: 2
Зарегистрирован: Чт, 01 июл 2021 14:57

Re: СИ-21, протокол 2.0

Сообщение vorontsov.pavel » Пт, 02 июл 2021 12:05

Спасибо за ответ.

До этого мы не обращали внимания на номер порта, по которому приходят данные. Теперь, видимо, придется обращать.

Тем не менее я бы посоветовал иметь тег типа пакета, даже если пакет с данными единственный (это он в данной версии протокола единственный) и тег с номером версии протокола. Этим вы сильно упростите жизнь пользователей ваших приборов. В данном случае избыточность оправдана.

petrov_ab
Иногда пишу
Сообщения: 370
Зарегистрирован: Вт, 16 июл 2019 16:42
Откуда: Подмосковье

Re: СИ-21, протокол 2.0

Сообщение petrov_ab » Сб, 03 июл 2021 00:44

Согласен с Павлом - нельзя убирать тип пакета. Ваш же шлюз Lora2Modbus разбирает пакеты на основе их типа. Каким образом писать конфигурационный файл если типа пакета нет?
Фот часть файла конфигурации SI-21.json:

{
"packet_type": 1,
"packet_size": 24,
"packet_fields":
[
{
"packet_bias": 1,
"data_bit_bias": 0,
"data_bit_size": 8,
"data_type": "uinteger",
"reg_map_bias": 14,
"reg_bit_bias": 0,
"reg_bit_size": 8,
"data_name": "Battery level"


Что писать в параметре "packet_type": для протокола 2?
А что делать если в сети окажутся устройства с разными типами протоколов?

Аватара пользователя
Support
Техническая поддержка
Сообщения: 173
Зарегистрирован: Вт, 11 июн 2019 15:14

Re: СИ-21, протокол 2.0

Сообщение Support » Вт, 06 июл 2021 13:53

Добрый день!
petrov_ab писал(а):
Сб, 03 июл 2021 00:44
Согласен с Павлом - нельзя убирать тип пакета. Ваш же шлюз Lora2Modbus разбирает пакеты на основе их типа. Каким образом писать конфигурационный файл если типа пакета нет?
Фот часть файла конфигурации SI-21.json:

Что писать в параметре "packet_type": для протокола 2?
А что делать если в сети окажутся устройства с разными типами протоколов?
По большому счету замена "Типа пакета" на "Причину отправки" само по себе мало на что повлияло. У Вас также имеется первый байт, который указывает на то как парсить пакет, а также собственно на то, что послужило причиной его отправки.

Структура пакета теперь одна для каждой из "причин" (если хотите "типов"). Ранее пакет "Тревога" отличался по структуре и приходилось держать отдельный парсер...Даже описание самого протокола обмена, значительно сократилось после обновления.

Во вложении Вы найдете файл для LoRa2ModBus который поддерживает протокол 2.0. В самом приложении, будет добавлен новый тип устройства "SI-22 v.2.0" (название берется из файла).
Вложения
SI-22_v.2.0.json.zip
(1.97 КБ) 306 скачиваний
Специалист технической поддержки
ООО "Вега-Абсолют"
тел. 8-800-550-41-35
тел. +7 (383) 206 4135

Ответить