1

Структура wln файлов

(edited by tehamusso 23/06/2016 12:38:36)

Topic: Структура wln файлов

В виалон PRO возможности импорта сообщений от объектов через SDK нет.
В документации не где не описано как генерируется этот формат файлов.

Вытекает вопрос как самому на основе SDK сгенерировать файл wln

Вот пример сообщения из SDK

{
  "t":1466585078,
  "f":3,
  "tp":"udp",
  "l":"ул. Удаловская 19, Пушкин",
  "y":59.7207145691,
  "x":30.4367027283,
  "z":24,
  "s":1,
  "c":273,
  "sc":5,
  "y2":0,
  "x2":0,
  "i":4096,
  "p":{
    "adc1":0,
    "adc2":25.57,
    "adc3":0,
    "adc4":0,
    "adc5":0,
    "adc6":0,
    "count1":1,
    "count2":0,
    "fuel1":0,
    "fuel2":170,
    "fuel3":0,
    "temp1":0,
    "temp2":23,
    "temp3":0,
    "odometer":7293607,
    "acc":0,
    "soft_version":"44",
    "pwr_int":0.731,
    "pwr_ext":25.751,
    "hdop":1.7,
    "sats_glonass":0,
    "sats_gps":5
  }
}

Это же сообщение в виде строки из wln файла

REG;1466585078;30.4367027283;59.7207145691;1;273;ALT:24.0,adc1:0.0,adc2:25.57,adc3:0.0,adc4:0.0,adc5:0.0,adc6:0.0,fuel1:0.0,fuel2:170.0,fuel3:0.0,odometer:7293607.0,acc:0.0,pwr_int:0.731,pwr_ext:25.751,hdop:1.7;in13:1,,SATS:5,count1:1,count2:0,temp1:0,temp2:23,temp3:0,sats_glonass:0,sats_gps:5;soft_version:"44";;;

Пока мы пришли к такому пониманию

REG;
$param['t'];
$param['x'];
$param['y'];
$param['s'];
$param['c'];
вот далее уже мне плохо понятно, сначала идет
ALT:' . $param['z'] . '.0'
и далее уже содержимое $param['p'] перечислены через запятую

Вопрос в том почему после hdop идет разделитель (;) и soft_version почему в конце и тоже после разделителя?
Какие еще параметры могут быть после разделителя, ведь не у всего оборудования есть поле soft_version например
параметры датчиков тоже же разное количество
Так же почему в конце идет ;;; а у оборудования где нет soft_version идет ;;;;

Может кто обладает знаниями как из сообщений SDK сделать строки файлов?

2

Структура wln файлов

Re: Структура wln файлов

tehamusso, первая часть паравильно, далее идут секции по типам параметров:
REG;время;lon;lat;скорость;курс;параметры double;параметры int;текстовые параметры;параметры long;двоичные параметры;
Внутри секции параметры разделяются запятыми.

В ближайшее время добавим этот формат в документацию.

Solutions Department
Gurtam
3

Структура wln файлов

Re: Структура wln файлов

deal, может тогда подскажите какие параметры полученные по SDK к какому разделу относятся?

Ибо adc1 в сообщении по SDK приходит как int, а не double

4

Структура wln файлов

Re: Структура wln файлов

tehamusso, по самим параметрам в json-е со 100% вероятностью определить к какой секции они относятся не всегда возможно, но общий принцип такой:
Для текстовых параметров сразу видно - они в кавычках.
Все in-ы (in, in13) и out-ы в секкции int. Также в этой секции кол-во спутников (SATS), count-ы, ну и в данном случае temp (1,2,3).
В секцию double попадают все adc(1, ...), alt (высота), fuel, odometer, acc, pwr, hdop, ну и все остальные параметры, содержащие или предполагающие дробные значения.

Solutions Department
Gurtam
5

Структура wln файлов

Re: Структура wln файлов

deal wrote:

tehamusso, по самим параметрам в json-е со 100% вероятностью определить к какой секции они относятся не всегда возможно, но общий принцип такой:
Для текстовых параметров сразу видно - они в кавычках.
Все in-ы (in, in13) и out-ы в секкции int. Также в этой секции кол-во спутников (SATS), count-ы, ну и в данном случае temp (1,2,3).
В секцию double попадают все adc(1, ...), alt (высота), fuel, odometer, acc, pwr, hdop, ну и все остальные параметры, содержащие или предполагающие дробные значения.


Понятно, а что если один из параметров или все из них, перепутать и внести не в ту секцию?

6

Структура wln файлов

Re: Структура wln файлов

Ничего страшного с виалоном не случится если перепутать секции. Но параметр в сообщении попавший в неправильную секцию в худшем случае исчезнет (если в секцию целых подать дробные), либо обнулится (если в секцию дробных подать текст), либо исказится (если в секцию целых подать текст), любо будет пустым (если в текстовую секцию подать число).
В случае попадания целого параметра в дробную секцию - параметр сохранит значение.

Solutions Department
Gurtam
7

Структура wln файлов

(edited by tehamusso 23/06/2016 18:25:22)

Re: Структура wln файлов

deal wrote:

Ничего страшного с виалоном не случится если перепутать секции. Но параметр в сообщении попавший в неправильную секцию в худшем случае исчезнет (если в секцию целых подать дробные), либо обнулится (если в секцию дробных подать текст), либо исказится (если в секцию целых подать текст), любо будет пустым (если в текстовую секцию подать число).
В случае попадания целого параметра в дробную секцию - параметр сохранит значение.

Спасибо, из всего вышесказанного я понял, что важно текстовый параметр подать в нужную секцию, в остальном не чего критичного не произойдет, но лишний раз проверить дробное число и подать его в нужную секцию не помешает.