ETRX357: Как организовать подключение ZigBee-устройств на базе модулей Telegesis к определенной ZigBee-сети?
Существует несколько способов для организации подключения устройств к определенной ZigBee-сети:
- Использование предустановленного Link-ключа (рекомендованный способ). Каждый узел будущей сети необходимо сконфигурировать таким образом, чтобы запретить незащищенное подключение. По умолчанию, любое устройство на базе модулей ETRX357 будет подключаться к первой найденной сети. Для того, чтобы запретить открытые подключения в регистре S0A (защищен паролем) установить в 1 следующие биты:
Бит 2 |
Обязательно для координатора. Шифровать Network-ключ с помощью Link-ключа перед отправкой устройствам, которые пытаются переподключиться к сети |
Бит 4 |
Обязательно для координатора. Шифровать Network-ключ с помощью Link-ключа перед отправкой устройствам, которые пытаются подключиться к сети |
Бит 8 |
Обязательно для всех устройств. Использовать предустановленный Link-ключ при подключении к сети |
Запись такой конфигурации в регистр S0A можно сделать с помощью следующих команд:
ATS0A2=1:password
ATS0A4=1:password
ATS0A8=1:password
Установка Link-ключа: каждому устройству в регистр S09 (защищен паролем) необходимо записать 32 символа, представляющего последовательность цифр в 16-системе счисления (пример генератора ключа). Для этого используется команда ATS09=<Ключ>:password.
Важно! Регистр S09 доступен только для чтения, поэтому нет никакой возможности считать Link-ключ с помощью AT-команд.
Особенности данного метода: Необходимо для каждой сети хранить Link-ключ для сохранения возможности добавления новых устройств в существующую сеть и на случай выхода координатора из строя.
Данный метод хорош тем, что помимо вопроса подключения устройств к конкретной сети, решается также проблема несанкционированного подключения узлов, которые не относятся к данному объекту и/или установке.
- Использование жесткозаданных сетевых идентификаторов сети (PAN ID и Ext ID)
В регистрах S02 и S03 находятся значения, отвечающие за предпочитаемый идентификатор сети. По умолчанию в данных регистрах записано S02:0000, S03:0000000000000000
Поведение координатора при записи пользовательских значений в регистры S02 и S03. Координатор при организации сети (команда AT+EN) генерирует идентификаторы случайным образом, если в данных регистрах находятся значения по умолчанию. Если же в какой-либо из регистров было помещено пользовательское значение с помощью команд ATS02=<короткий идентификатор> и/или ATS03=<длинный идентификатор>, то координатор будет пытаться организовать сеть с указанным идентификатором.
Например, в регистр S02 было помещено значение CAFE. При получении команды AT+EN, координатор просканирует эфир на наличие других сетей и, если сетей с таким же идентификатором не существует, организует сеть, у которой PAN ID = CAFE.
Важно! В противном случае будет сгенерирован случайный PAN ID.
Аналогичные рассуждения справедливы для пользовательской установки в регистре S03.
Поведение других устройств (роутеров (FFD), конечный устройств (ZED/MED/SED)) при записи пользовательских значений в регистры S02 и S03. При использовании команды AT+JN на всех устройства для подключения к существующей сети, по умолчанию будет осуществляться подключение к первой подходящей сети.
Например, если в эфире на одном канале есть сеть с идентификатором 0001 и 0002, то новый узел, у которого значения регистров S02 и S03 равны значениям по умолчанию, подключится к сети с наилучшей характеристикой качества связи.
Если же в каком-либо регистре (S02 или S03) записано пользовательское значение, то устройство будет пытаться подключиться к сети с заданными идентификаторами. Установка значений производится с помощью команд ATS02=<короткий идентификатор> и/или ATS03=<длинный идентификатор>.
Данные значения не учитываются при использовании команды с явным указанием канала и идентификатора AT+JPAN:<канал>,<короткий/длинный идентификатор>.
Особенности данного метода: Отсутствует гарантия того, что координатор организует сеть с тем идентификатором, который указан в регистрах S02 и S03. В процессе работы могут возникнуть ситуации, когда несколько сетей одновременно используют одинаковый короткий идентификатор. В таком случае с помощью специального алгоритма, один из координаторов сети сгенерирует новый короткий идентификатор.