При передаче сообщений между устройствами, в сети SignalNet, используются бинарный формат сообщений длиной не более восьми байт. Нулевой байт в сообщении содержит индекс типа данных, а все последующие байты содержат полезные данные. Следующий байт после полезных данных, может индекс описания состояния или следующие два байта могут содержать идентификатор параметра (IDP). Имена параметров применяются для описания в JSON.
Размер 1 байт (с описанием 2 байта). Тип данных BOOL - логический тип данных, принимающий два возможных значения, называемых истиной (true) и ложью (false). Состояние хранится в первом байте, где 0 - ложь, а 1 - истина. Второй байт не обязательный и может содержать номер вида словесного обозначения состояния. Таблица соответствия номера словесному описанию.
№ | 0 (ложь) | 1 (истина) |
---|---|---|
0 | ЛОЖЬ | ИСТИНА |
1 | Выкл. | Вкл. |
2 | Нет | Да |
3 | Закрыто | Открыто |
4 | Опущено | Поднято |
5 | Закрыты | Открыты |
6 | Запрещено | Разрешено |
7 | отсутствие | Предъявлено |
8 | Не обнаружено | Обнаружено |
9 | Не активировано | Активировано |
10 | Отсутствует | Присутствует |
11 | Не ночь | Ночь |
12 | Не день | День |
13 | Снятие с охраны | Постановка на охрану |
Таблица соответствия номера состоянию не связанного с данными:
№ | Состояние |
---|---|
100 | Промежуточное состояние |
101 | Переключение |
102 | В процессе |
103 | Закрывается |
104 | Открывается |
105 | Запускается |
106 | Останавливается |
107 | Отсутствует |
200 | Ошибка |
201 | Авария |
202 | Сбой |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | bool |
Состояние | status |
Описание | note |
Имя «status» и «note» взаимозаменяемы. Пример JSON:
{bool:true, note:open}
Размер 2 байта. Тип данных уровень CO2 (ppm) - целое число фиксированной длины без знака размером 16 бит и принимающий значения от 0 до 65535ppm.
первый байт | второй байт |
---|---|
значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | co2 |
Пример JSON:
{co2:400}
Размер 2 байта. Тип данных скорость потока воздуха (дм/сек) - целое число фиксированной длины без знака размером 16 бит и принимающий значения от 0 до 65535 дм/сек.
первый байт | второй байт |
---|---|
значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | airVelocity |
Пример JSON:
{airVelocity:16}
Размер 2 байта. Тип данных расход воды (дм3) - целое число фиксированной длины размером 16 бит и принимающий значения от -32767 до 32767 дм3
первый байт | второй байт |
---|---|
значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | waterConsumption |
Пример JSON:
{waterConsumption:100}
Размер 1 байт. (с постфиксом 2 байта). Тип данных UINT8 (unsigned char) - целое число фиксированной длины без знака размером 8 бит и принимающий значения от 0 до 255. Второй байт не обязательный и может содержать номер номер постфикса.
первый байт | второй байт |
---|---|
значение | номер постфикса |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | uint8 |
Номер постфикса | postfix |
Пример JSON:
{uint8:55, postfix:2}
Размер 1 байт. (с постфиксом 2 байта). Тип данных INT8 (signed char) - целое число фиксированной длины со знаком размером 8 бит и принимающий значения от -127 до 127. Второй байт не обязательный и может содержать номер постфикса.
первый байт | второй байт |
---|---|
значение | номер постфикса |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | int8 |
Номер постфикса | postfix |
Пример JSON:
{int8:-10, postfix:2}
Размер 2 байт. (с постфиксом 3 байта). Тип данных UINT16 (unsigned integer) - целое число фиксированной длины без знака размером 16 бит и принимающий значения от 0 до 65535. Третий байт не обязательный и может содержать номер постфикса.
первый байт | второй байт | третий байт |
---|---|---|
значение | номер постфикса |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | uint16 |
Номер постфикса | postfix |
Пример JSON:
{uint16:1000, postfix:22}
Размер 2 байт. (с постфиксом 3 байта). Тип данных INT16 (signed integer) - целое число фиксированной длины со знаком размером 16 бит и принимающий значения от -32767 до 32767. Третий байт не обязательный и может содержать номер постфикса.
первый байт | второй байт | третий байт |
---|---|---|
значение | номер постфикса |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | int16 |
Номер постфикса | postfix |
Пример JSON:
{int16:-1000, postfix:22}
Размер 4 байта. Тип данных Температура - число с фиксированной запятой со знаком размером 16 бит и принимающий значения от -127,00 до 127,00. Третий и четвертый байт содержат адрес устройства или другой идентификатор датчика температуры. IDP нужен что бы отличить показания одного устройства от другого, когда они поступают на одно устройство, которое при различных IDP вычислит среднее, а при одинаковых просто обновит данные.
первый байт | второй байт | третий байт | четвертый байт |
---|---|---|---|
Температура | IDP |
Восьмой бит первого байта содержит знак температуры, если 1, то температура отрицательная, если 0 то положительная. Если температура отрицательная, то данные представлены в инверсном состоянии (в дополнительном коде). Для преобразования числа в тип FLOAT, необходимо первые два байта представить, как двух байтовое целое число и умножить на 0,00390625. Если число отрицательное, то нужно инвертировать число, добавить единицу и умножить на -0,00390625.
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | temp |
IDP | idp |
Пример JSON:
{temp:-2, idp:5}
Размер 4 байта. Тип данных мощность в милливаттах (мгновенная) - целое число фиксированной длины со знаком размером 32 бит и принимающий значения от -2147483647мВт до 2147483647мВт.
первый байт | второй байт | третий байт | четвертый байт |
---|---|---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | power |
Пример JSON:
{power:1000}
Размер 4 байта. Тип данных ток в миллиамперах - целое число фиксированной длины со знаком размером 32 бит и принимающий значения от -2147483647мВт до 2147483647мА.
первый байт | второй байт | третий байт | четвертый байт |
---|---|---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | current |
Пример JSON:
{current:1000}
Размер 4 байта. Тип данных напряжение в милливольтах - целое число фиксированной длины со знаком размером 32 бит и принимающий значения от -2147483647мВт до 2147483647мВ.
первый байт | второй байт | третий байт | четвертый байт |
---|---|---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | voltage |
Пример JSON:
{voltage:1000}
Размер 7 байта. Тип данных дата и время - содержит информацию о дате и времени без кодирования.
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
Число | Месяц | Год | Часы | Минуты | Секунды |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | datetime |
Пример JSON:
{datetime:2021-05-01T14:01:00.000Z}
в формате ISO 8601 с миллисекундами или без.
Размер 3 байта. Тип данных ALERT- тип данных предназначенный для оповещения устройств о возникновении аварийной или критической ситуации, а также об их отмене. Содержит номер события или отмен. Второй и третий байты содержат IDP отправителя. Четвертый может содержать причину оповещения.
первый байт | второй байт | третий байт | четвертый байт |
---|---|---|---|
Номер | IDP | Причина |
Таблица описаний событий.
№ | Состояние |
---|---|
0 | Прекращение всех событий |
1 | Пожар |
2 | Прекращение пожара |
3 | Протечка воды |
4 | Прекращение протечки |
5 | Отсутствие электроснабжения |
6 | Возобновление эл. снабжения |
7 | Плохое качество воздуха |
8 | Нормальное качество воздуха |
9 | Утечка газа |
10 | Утечка газа прекращена |
Таблица источников.
№ | Состояние |
---|---|
0 | |
1 | CO2 |
2 | PM1 |
3 | PM2.5 |
4 | PM10 |
5 | НСНО |
6 | TVOC |
7 | CO |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | alert |
IDP | idp |
Источник | reason |
Пример JSON:
{alert:7, idp:500,reason:1}
Размер 6 байт. Тип данных ошибка - содержит информацию о номере ошибки (число 16 бит), адресе устройства (число 16 бит) и типе устройства (число 16 бит).
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
Номер ошибки | Адрес | Тип устройства |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | error |
Адрес | address |
Тип устройства | devType |
Пример JSON:
{error:7,address: 500,devType:47}
Размер 7 байт. Тип данных Текст предназначен для передачи текстовых данных. Данный тип позволяет передать за один раз до 7 символов текста или до 155 символов с использованием множества пакетов до 5 символов в каждом. Для передачи текста через множество пакетов, текст необходимо раздробить на подстроки по 5 символов (5 байт, как например в случае с UTF-8). Каждый отправляемый пакет содержит в первом байте номер позиции подстроки в тексте.
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
позиция | Текст |
позиция подстроки = значение 1 байта * 6
Если текст вмещается в один пакет, то номер позиции не указывается, если текст передается несколькими пакетами, то в первом байте указывается номер позиции от 0 до 31.
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | text |
Пример JSON:
{text:ABCDE}
Размер 4 байта. Тип данных дата - содержит информацию о дате без кодирования.
1 | 2 | 3 | 4 |
---|---|---|---|
Число | Месяц | Год |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | date |
Пример JSON:
{date:01.05.2021}
Размер 3 байта. Тип данных время - содержит информацию о времени без кодирования.
1 | 2 | 3 |
---|---|---|
Часы | Минуты | Секунды |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | time |
Пример JSON:
{time:13:17:00}
Размер 7 байт. Тип данных потребленная электроэнергия - содержит информацию потребленной электроэнергии представленной в виде мощности в ваттах (число 24 бита) и времени потребления в секундах (число 16 бит), так же содержит IDP для идентификации (16 бит).
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
Мощность (мВт) | Время (сек) | IDP |
Формула перевода потребленной мощности в мгновенное значение:
W = МОЩНОСТ / 3600000 * ВРЕМЯ
Максимальная мощность 8,38кВт Минимальная передаваемая мощность 1мВт Максимальная потребленная мощность 152,7 кВт*Ч Минимальная потребленная мощность 0,00000027мВт
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Мощность | power |
Время | seconds |
IDP | idp |
Пример JSON:
{power:5000, seconds:60, idp:50}
Размер 4 байта. Тип данных Влажность - целое число без знака размером 16 бит и принимающий значения от 0% до 100%. Первый байт содержит целую часть влажности, второй байт содержит дробную часть влажности, умноженную на 100. Данный формат позволяет передать как целочисленную величину (второй байт 0), так и дробную. Третий и четвертый байт содержат адрес устройства или другой идентификатор датчика влажности. IDP нужен что бы отличить показания одного устройства от другого, когда они поступают на одно устройство, которое при различных IDP вычислит среднее, а при одинаковых просто обновит данные.
^ первый байт ^ второй байт ^ третий байт ^ четвертый байт ^
Влажность | IDP |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | humidity |
IDP | idp |
Пример
JSON: {humidity:80, idp:5}
Размер 6 байт. Тип данных давление (ПА) - вещественное число, умноженное на сто и представленное как целое число размером 32 бит. Пятый и шестой байт содержат IDP устройства.
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
Значение | IDP |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | pressure |
IDP | idp |
Пример JSON:
{pressure:10000, idp:5}
Размер 1 байт. Тип данных уровень (char) - целое число фиксированной длины без знака размером 8 бит и принимающий значения от -100 до 100%.
первый байт |
---|
Уровень |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | level |
Пример JSON:
{level:100}
Размер 2 байта. Тип данных дистанция (мм) (integer) - целое число фиксированной длины без знака размером 16 бит и принимающий значения от -32767 до 32767 мм.
первый байт | второй байт |
---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | distance |
Пример JSON:
{distance:1000}
Размер 2 байта. Тип данных угол (минуты) - целое число фиксированной длины со знаком размером 16 бит и принимающий значения от -21600 до 21600минут.
первый байт | второй байт |
---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | angle |
Пример JSON:
{angle:7200}
Размер 2 байта. Тип данных освещённость (люкс) - целое число фиксированной длины без знака размером 16 бит и принимающий значения от 0 до 65535 люкс.
первый байт | второй байт |
---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | illumination |
Пример JSON:
{illumination:70}
Размер 4 байта. (с постфиксом 5 байт). Тип данных UINT32 (unsigned long) - целое число фиксированной длины без знака размером 32 бита и принимающий значения от 0 до 4294967295. Третий байт не обязательный и может содержать номер постфикса.
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Значение | IDP |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | uint32 |
Номер постфикса | postfix |
Пример JSON:
{uint32: 10000000, postfix:22}
Размер 4 байта. (с постфиксом 5 байт). Тип данных INT32 (signed long) - целое число фиксированной длины со знаком размером 32 бита и принимающий значения от -2147483647…2147483647. Пятый байт не обязательный и может содержать номер постфикса.
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Значение | IDP |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | int32 |
Номер постфикса | postfix |
Пример JSON:
{int32:-10000000, postfix:22}
Размер 4 байта. Тип данных емкость (миллилитры) - целое число фиксированной длины без знака размером 32 бита и принимающий значения от 0 до 4294967295 миллилитров.
1 | 2 | 3 | 4 |
---|---|---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | capacity |
Пример JSON:
{capacity:1000}
Размер 4 байта. Тип данных вес (миллиграммы) - число фиксированной длины размером 32 бита и принимающий значения от -2147483647 до 2147483647миллиграм.
1 | 2 | 3 | 4 |
---|---|---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | weight |
Пример JSON:
{weight:1000}
Размер 4 байта. Тип данных HEX - целое число фиксированной длины без знака размером 32 бита и принимающий значения от 0 до 4294967295. Данный тип используется как обычное целое число, но отображается как HEX код.
1 | 2 | 3 | 4 |
---|---|---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | hex |
Пример
JSON: {hex:0A0B0C0D}
Размер 3 байта. Тип данных ALARM- тип данных предназначенный для оповещения устройств о состоянии системы сигнализации, постановки, снятия, проникновения и ввода пин-кода. Содержит номер состояния. Второй и третий байты содержат IDP отправителя.
1 | 2 | 3 |
---|---|---|
Номер | IDP |
Таблица описаний событий.
№ | Состояние |
---|---|
0 | Цифра 0 |
1 | Цифра 1 |
2 | Цифра 2 |
3 | Цифра 3 |
4 | Цифра 4 |
5 | Цифра 5 |
6 | Цифра 6 |
7 | Цифра 7 |
8 | Цифра 8 |
9 | Цифра 9 |
10 | Постановка |
11 | Снятие |
12 | Проникновение |
13 | Отмена оповещения |
14 | Постановка (тихо) |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | security |
IDP | idp |
Пример JSON:
{security:12, idp:22}
Размер 7 байт. Тип данных SNIR предназначен для передачи данных полученных по протоколу SNIR для устройств с инфракрасным каналом и SNRR для устройств с радиоканалом. Особенностью данных устройств является односторонняя передача данных без обратной связи.
Пакет состоит из 7 байт, где:
* 9 и 10 байт указанные на рисунке в протоколе signalnet не используются.
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Номер + адрес | snir |
Данные |
стандартном представлении|
Пример JSON:
{snir:01, illumination:70}
Размер 4 байта. Тип данных EM-Marine предназначен для передачи семейства и номера идентификатора RFID метки с протоколом EM-Marine.
1 | 2 | 3 | 4 |
---|---|---|---|
Семейство | Номер |
Пакет состоит из 4 байт, где:
1-2 байт - содержит семейство; 3-4 байт - содержит номер;
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | emUID |
Семейство | family |
Пример JSON:
{emUID:123456789, family:093}
Размер 2 байта. Тип данных осадки (миллиметры) - целое число фиксированной длины без знака размером 16 бит и принимающий значения от 0 до 65535мм. Предназначено для передачи уровня осадков.
1 | 2 |
---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | rainfall |
Пример JSON:
{rainfall:20}
Размер 4 байта. Тип данных обороты (об/мин) - целое число фиксированной длины без знака размером 32 бита и принимающий значения от 0 до 100000 об/мин.
1 | 2 |
---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | turnovers |
Пример JSON:
{turnovers:780}
Размер 1 байт. Тип данных Погода - предназначен для передачи информации о погоде, первый байт которого содержит одно из фиксированных состояний погоды.
Таблица описаний событий.
№ | Состояние |
---|---|
0 | Чистое небо |
1 | Малооблачно |
2 | Рассеянные облака |
3 | Разорванная облачность |
4 | Ливень |
5 | Дождь |
6 | Гроза |
7 | Снег |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | weather |
Пример JSON:
{weather:0}
Размер 3 байта. Тип данных пыль(мкг/м^3) - целое число фиксированной длины без знака размером 16 бит и принимающий значения от 0 до 2000мкг/м^3. Третий байт содержит размерность частиц. Предназначено для передачи уровня пыли разных фракций.
1 | 2 | 3 | |
---|---|---|---|
Значение | Размерность |
Таблица размерностей.
№ | Состояние |
---|---|
0 | PM1.0 |
1 | PM2.5 |
2 | PM10 |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | dust |
Размер | fraction |
Пример JSON:
{dust:0, fraction:1}
Размер 2 байта. Тип данных индекс - целое число фиксированной длины без знака размером 16 бит и принимающий значения от 0 до 500. Предназначено для передачи индекса качества воздуха.
1 | 2 |
---|---|
Значение |
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | AQI |
Размер 7 байт. Тип данных RM предназначен для передачи данных полученых от пультов дистанционного управления с указанием протокола ДУ.
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
Протокол | Код посылки ДУ |
Пакет состоит из 7 байт, где: 1 байт - содержит номер протокола ДУ; 2 - 7 байты - содержат код посылки ДУ.
Таблица соответствия параметра и имени:
Параметр | Имя |
---|---|
Тип | RM |
Пакет (HEX) | package |
Пример JSON:
{RM:1, package:AABBCCDD0000}
Размер 7 байт. Тип данных предназначен не для передачи.