Описание данных, используемых в сети LoRaWAN

Описание данных, используемых в сети LoRaWAN. Примеры пакетов данных, передаваемых устройствами по LoRaWAN. А также пакеты данные, формируемые базовой станцией и сервером LoRaWAN.

Данные, передаваемые устройством по LoRaWAN

Устройство передает два вида данных: телеметрию и атрибуты.

Телеметрия — это динамически измеряемые показатели, по которым есть смысл построить график. Например, углы наклона, температура платы.

Атрибуты — это статические, редко изменяемые значения, по которым нет смысла строить график. Например, версия прошивки, серийный номер устройства.

Телеметрия и атрибуты передаются по LoRaWAN в формате Cayenne LPP.

Сервер chirpstack автоматически декодирует пакет и передает декодированные значения в формате JSON. Каждое значение идентифицируется двумя полями: типом данных и номером канала. Например, “temperature.254” идентифицирует температуру по каналу 254.

Размер одного пакета ограничен, поэтому многоканальные измерения передаются в виде серии пакетов, с интервалом между пакетами в несколько минут.

Данные, передаваемые модификацией инклинометра

gpsLocation.0.latitude: угол наклона по оси X, градусы. gpsLocation.0.longitude: угол наклона по оси Y, градусы. digitalInput.0: код ошибки, возникшей при попытке измерения углов наклона. accelerometer.1.x: ускорение по оси X, g. accelerometer.1.y: ускорение по оси Y, g. accelerometer.1.z: ускорение по оси Z, g.

Данные, передаваемые модификацией термокосы

temperature.X (где 0 ≤ X ≤ 99): температура датчика X в составе термокосы, ℃. analogInput.X (где 0 ≤ X ≤ 99): температура датчика X в составе термокосы, ℃. digitalInput.X (где 0 ≤ X ≤ 99): расстояние между датчиком X и предыдущим, дм. illuminanceSensor.100: серийный номер термокосы. digitalInput.250: код ошибки, возникшей при попытке опроса показаний термокосы.

Общие данные, передаваемые всеми устройствами

illuminanceSensor.251: версия встроенного ПО устройства (HW * 256 + FW). digitalInput.252: условия включения устройства при холодном запуске, то есть не по расписанию:

- 0: подача питания;
- 1: программный перезапуск (например, при обновлении прошивки);
- 2: кнопка (подключение DB9 с внешним питанием).

temperature.253: температура платы, ℃. analogInput.254: входное напряжение платы, В. digitalInput.255: циклический счетчик сформированных пакетов телеметрии (по модулю 256).

Общие данные, передаваемые всеми устройствами

illuminanceSensor.251: версия встроенного ПО устройства (HW * 256 + FW). digitalInput.252: условия включения устройства при холодном запуске, то есть не по расписанию:

- 0: подача питания;
- 1: программный перезапуск (например, при обновлении прошивки);
- 2: кнопка (подключение DB9 с внешним питанием).

temperature.253: температура платы, ℃. analogInput.254: входное напряжение платы, В. digitalInput.255: циклический счетчик сформированных пакетов телеметрии (по модулю 256).

Данные, формируемые базовой станцией и сервером LoRaWAN

Базовая станция и серверное ПО LoRaWAN передают информацию о пакете, такую как уровень принимаемого сигнала (RSSI), используемый канал и так далее.

Данные передаются сервером приложений по протоколу MQTT.

application/+/device/+/event/up

deviceName: имя устройства в виде строки, состоящей из латинских символов, цифр и “_”. devEUI: номер EUI устройства, в кодировке base64. fPort: номер порта LoRaWAN, число от 0 до 254. data: содержимое пакета в кодировке base64. objectJSON: декодированное содержимое пакета в формате JSON. rxInfo.rssi: уровень принимаемого сигнала (от устройства к базовой станции), дБмВт. rxInfo.loRaSNR: коэффициент сигнал на шум, дБ. tags: содержимое дополнительных тегов, настраиваемых на уровне сервера LoRaWAN.

Другие статьи по теме