ZigBee СЕТЕВАЯ генерация системы координат и декодирование

В этом примере показано, как пользоваться Библиотекой Communications Toolbox™ для Протокола ZigBee®, чтобы сгенерировать и декодировать СЕТЕВЫЕ системы координат спецификации [1] ZigBee.

Фон

Стандарт ZigBee задает сеть (СЕТЕВОЙ или NWK) и приложение (APP или APL) слои для беспроводных персональных сетей области с низкой ставкой. Они СЕТЕВЫЕ - и технические требования слоя APP полагаются на PHY и технические требования MAC IEEE® 802.15.4™ [2]. Устройства ZigBee находят применение в домашней автоматизации и организации сети датчика и очень относятся к тренду Интернета вещей (IoT).

Архитектура

zigbee.NETFrameConfig объект настройки используется и в генерации и в декодировании ZigBee СЕТЕВЫЕ системы координат. Такие объекты описывают систему координат СЕТЕВОГО слоя и задают ее тип системы координат и все применимые свойства. Функция zigbee.NETFrameGenerator принимает zigbee.NETFrameConfig object, описывающий систему координат, и опционально полезную нагрузку СЕТЕВОГО слоя (система координат слоя APP) в байтах (2D символы), и выводит СЕТЕВУЮ систему координат в байтах. Функция zigbee.NETFrameDecoder принимает Сетевой модуль данных о протоколе (NPDU) в байтах и выводит zigbee.NETFrameConfig object, описывающий систему координат и возможно систему координат СЕТЕВОГО слоя в байтах. Пункт 3.3 в [1] описывает СЕТЕВЫЕ форматы системы координат.

Декодирование СЕТЕВЫХ систем координат домашней автоматизации радио ZigBee

Этот раздел декодирует СЕТЕВЫЕ кадры, переданные от коммерческого радио ZigBee, разрешающего домашнюю автоматизацию и полученное использование USRP® B200-мини-радио и Пакет Поддержки Communications Toolbox для радио USRP®.

Функция zigbee.NETFrameDecoder может декодировать СЕТЕВОЙ слой системы координат данных ZigBee и заголовок типов системы координат сетевой команды.

load zigbeeNETCaptures % netFrame

[netConfig, netPayload] = zigbee.NETFrameDecoder(netFrame);
netConfig
netConfig = 

  NETFrameConfig with properties:

                FrameType: 'Data'
          ProtocolVersion: 'ZigBee 2007'
           SequenceNumber: 212

   Addressing:
            SourceAddress: '0000'
       DestinationAddress: '35EA'
           IEEEAddressing: 'None'

   Security:
                 Security: 1
           DataEncryption: 0
                MICLength: 0
            KeyIdentifier: 'Network'
            ExtendedNonce: 1
             FrameCounter: 193458
    SecuritySourceAddress: '24FD5B00000014B6'
              KeySequence: 0

   Routing:
                   Radius: 30
            DiscoverRoute: 1
            SourceRouting: 1
               RelayIndex: 0
                RelayList: [0x4 char]

   Multicast:
                Multicast: 0

Обратите внимание на то, что декодирование СЕТЕВОГО слоя указывает, что полезная нагрузка СЕТЕВОГО слоя зашифрована (безопасность = верный). Безопасность может использоваться или в сети или в прикладном уровне; эта система координат использует безопасность слоя сети. С одной стороны, поле DataEncryption является ложным в системе координат, и длина Кода целостности сообщения (MIC) является нулем, которые указывают, что уровень безопасности № 0 используется и что полезная нагрузка не зашифрована. Однако согласно стандарту ZigBee (Пункт 4.4.1.2 в [1]), эти два поля перезаписываются со значениями, локально сохраненными во время сетевой настройки. В этом случае эта система координат была защищена с уровнем безопасности № 5, что означает, что СЕТЕВАЯ полезная нагрузка зашифрована и что длина MIC составляет 32 бита.

Генерация СЕТЕВЫХ систем координат

Функция zigbee.NETFrameGenerator может сгенерировать небезопасный СЕТЕВОЙ слой системы координат данных ZigBee. Объект настройки может быть далее настроен.

netConfig = zigbee.NETFrameConfig('SequenceNumber', 123, 'DestinationAddress', 'E568');
numOctets = 50;
payload = dec2hex(randi([0 2^8-1], numOctets, 1), 2);
netFrame = zigbee.NETFrameGenerator(netConfig, payload);

Дальнейшее исследование

Можно далее исследовать следующий генератор и декодирующие функции, а также объект настройки:

Выбранная библиография

  1. Союз ZigBee, документ 053474r17, 2007 спецификации ZigBee

  2. IEEE 802.15.4-2011 - Стандарт IEEE для Локальных сетей и городских компьютерных сетей - Часть 15.4: Беспроводные Персональные Сети области С низкой ставкой (LR-WPANs)

Для просмотра документации необходимо авторизоваться на сайте