Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Передает найденные СИЗ. См. CBOR Sensors encoding Коды сенсоров, сенсор SIZ (-20).

Опрос биконов должен быть разрешен Супервизором SUPERVISOR subsystemподсистема, параметр /node/mode#Scan=auto. Периодичность опроса задается отдельно в модуле BEACONS scanning BLE модуль, filtering, парсет /ble/brate. Фильтрация биконов /ble/brate#Filter не влияет на опрос СИЗов. Также СИЗ-биконы не учитываются в сенсоре EVT_BEACONS(-19).

СИЗ-бикон появляется в сенсоре после первого же обнаружения сканированием. СИЗ-бикон пропадает в сенсоре, только если не обнаружен в 4 сканированиях подряд.

Конфигурация модуля

/siz/siz

...

Параметр

Значения

CBOR map value type

Описание

Mode

off, on

bool

Режим опроса СИЗ. Сенсор SIZ (при Send=Auto) отправляется, если Mode=on и /siz/bmap не пустой

BatLevel_mv

uint32

int

Порог недостатка напряжения питания бикона, мВ (для передачи состояния батареи в сенсоре SIZ)

...

PUT /siz/bmap clear – удаление всех записей

Bulk-конфигурация

Возможно чтение (GET) и загрузка (PUT) парсета целиком в виде бинарного образа. Для парсет-массивов образ содержит только непустые записи (строки массива).

Надо опрашивать соответствующий ресурс с Query Option blob. Образ передается в payload CoAP-пакета.

Образ содержит заголовок и данные. В заголовке содержатся идентификатор структуры парсета FieldsSignature и контрольная сумма CRC32. Расчет контрольной суммы см. TAGZONES subsystem (в конце)

FieldsSignature нужен для контроля правильности структуры парсета.

CRC32 нужна для контроля целостности образа при CoAP Block Transfer. Образ собирается в устройстве по мере прихода блоков и в конце применяется целиком с контролем целостности. Для сбора образа используется глобальный буфер, так что образ может быть искажен при параллельном доступе с нескольких клиентов.

Для парсета /siz/bmap образ имеет следующий вид (siz_bmap_blob_t):

Code Block
typedef struct __attribute__((packed)) {
    uint32_t FieldsSignature; /// for /siz/bmap must be 0xFD00E35D
    uint32_t CRC32;           /// cyg_ether_crc32() of following bytes
} parset_blob_header_t;

typedef struct __attribute__((packed)) {
    uint8_t idx;    /// index in array, equals to SIZ type
    uint8_t MAC[6]; /// beacon BLE device address, MSB first
    uint8_t Att_dB; /// max allowable BLE signal attenuation from beacon
} siz_bmap_record_t;

typedef struct __attribute__((packed)) {
    parset_blob_header_t header;
    siz_bmap_record_t records[N]; /// 0 <= N <=31
} siz_bmap_blob_t;

Примеры использования через CoBench (file_name можно оставлять пустым, будет запрошено через GUI):

GET /siz/bmap blob – запрос образа парсета, печать в HEX

GET /siz/bmap blob#>file_name – запрос образа парсета, сохранение в file_name

GET /siz/bmap blob#<file_name – запрос образа парсета, сравнение с file_name

PUT /siz/bmap blob#<file_name – передача образа парсета из file_name

PUT /siz/bmap blob#<<file_name – передача образа парсета из file_name с пересчетом CRC32

Для очистки конфигурации можно загрузить образ со всеми пустыми записями, но проще отправить PUT /siz/bmap clear