Генерация и декодирование систем координат ZigBee NET

В этом примере показано, как использовать библиотеку Toolbox™ коммуникаций для протокола ZigBee ® для генерации и декодирования систем координат NET спецификации ZigBee [1].

Фон

Стандарт ZigBee задает сетевой (NET или NWK) и прикладной (APP или APL) слои для низкоскоростных беспроводных персональных сетей. Эти спецификации уровня NET и APP основаны на спецификациях PHY и MAC IEEE ® 802.15.4™ [2]. Устройства ZigBee находят применение в домашней автоматизации и сенсорных сетях и имеют большое значение для тренда Интернета вещей (IoT).

Архитектура

Зигби. Объект строения NETFrameConfig используется как при генерации, так и при декодировании систем координат ZigBee NET. Такие объекты описывают кадр NET-уровня и определяют его тип системы координат и все применимые свойства. Зигби. Функция NETFrameGenerator принимает zigbee. Объект NETFrameConfig, описывающий систему координат, и, опционально, полезную нагрузку NET-уровня (система координат уровня APP) в байтах (двух символов) и выходах системы координат NET в байтах. Зигби. Функция NETFrameDecoder принимает блок NET Protocol Data Unit (NPDU) в байтах и выводит zigbee. Объект NETFrameConfig, описывающий систему координат и, возможно, система координат в байтах. Пункт 3.3 в [1] описывает форматы систем координат.

Декодирование систем координат домашней автоматизации ZigBee Radios

В этом разделе декодируются системы координат NET, переданные с коммерческого радио ZigBee, обеспечивающего домашнюю автоматизацию и записанные с помощью B200-mini радио USRP ® и пакета поддержки Communications Toolbox для радио USRP ®.

Зигби. Функция NETFrameDecoder может декодировать системы координат данных ZigBee NET-уровня и заголовок типов систем координат net-command.

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

Обратите внимание, что декодирование NET-уровня указывает, что полезная нагрузка NET-уровня зашифрована (Security = true). Безопасность может использоваться как в сети, так и на прикладном слое; эта система координат использует защиту слоя сети. С одной стороны, поле DataEncryption является ложным в системе координат, и длина кода целостности сообщения (MIC) равна нулю, что указывает на то, что используется уровень безопасности # 0 и что полезная нагрузка не зашифрована. Однако, согласно стандарту ZigBee (пункт 4.4.1.2 в [1]), эти два поля перезаписываются значениями, локально сохраненными во время настройки сети. В этом случае эта система координат был защищаема уровнем безопасности # 5, что означает, что NET-полезная нагрузка зашифрована и что длина MIC составляет 32 бита.

Генерация систем координат NET

Зигби. Функция NETFrameGenerator может сгенерировать небезопасные системы координат данных ZigBee NET-уровня. Объект строения может быть дополнительно настроен.

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 Alliance, Технический документ ZigBee 053474r17, 2007

  2. IEEE 802.15.4-2011 - Стандарт IEEE для местных и столичных сетей - Часть 15.4: Низкоскоростные беспроводные персональные сети (LR-WPAN)

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