Обнаружение устройств, которые можно добавить
Обнаружение устройства, за которое выплачивается комиссия, происходит до инициализации и представляет собой процесс поиска и идентификации узла, за который выплачивается комиссия. Существует три способа, с помощью которых узел, который можно ввести в эксплуатацию, может рекламировать себя:
- Bluetooth с низким энергопотреблением (BLE)
- Wi-Fi Soft AP
- DNS-SD в IP-сети, также известной как существующая IP-сеть.
При любом из этих способов узел, который можно ввести в эксплуатацию, передает информацию, указанную в таблице 1.
| Поле | Длина | Обязательно |
|---|---|---|
| Дискриминатор | 12 бит | Да |
| Идентификатор поставщика | 16 бит | Нет |
| Идентификатор товара | 16 бит | Нет |
| Расширенные данные | переменная | Нет |
Согласно спецификации Matter, идентификатор производителя и идентификатор продукта не являются обязательными, но могут быть указаны. Дискриминатор – обязательный параметр, который используется при инициализации для правильной настройки устройства, если одновременно подключено несколько одинаковых устройств. Расширенные данные могут использоваться для кодирования информации, относящейся к определенному поставщику.
Многие устройства транслируют рекламу в течение короткого периода времени (от 3 до 15 минут) после включения. Другие устройства не должны начинать рекламировать себя, поскольку их основное управление не исходит от структуры или автоматическая реклама устройств, таких как замки, без инициализации небезопасна. Таблица 2 содержит сводную информацию об этом поведении.
| Функция основного устройства | Автоматическое объявление |
|---|---|
| Устройства для доступа к замкам и барьерам | Нет |
| Большинство элементов управления создаются с помощью ткани. Например, выключатель или лампочка. | Да |
| Большинство элементов управления не относятся к ткани. Например, посудомоечная машина или холодильник. | Нет |
Bluetooth с низким энергопотреблением
В этом режиме рекламы уполномоченный будет видеть объявления, передаваемые по Bluetooth с низким энергопотреблением. Комиссионер должен реализовать периферийный интерфейс Generic access profile (GAP) и периодически сообщать о своем неинициализированном состоянии. В первые 30 секунд после включения устройства частота рекламы должна быть высокой – от 20 до 60 миллисекунд.
Через 30 секунд устройство должно передавать сигналы с низкой частотой, с интервалом от 150 до 1500 миллисекунд. После того как устройство будет добавлено в первую сеть Fabric, оно должно прекратить передавать рекламу BLE.
Комиссару не нужно отправлять запросы на сканирование. Он должен выполнять пассивное сканирование трех рекламных каналов BLE: 37 (2402 МГц), 38 (2426 МГц) и 39 (2480 МГц). Эти каналы выбираются из регионов спектра с минимальным перекрытием с каналами Wi-Fi, что позволяет свести к минимуму перекрестные радиопомехи.
BLE не используется для обнаружения устройств.
Точка доступа Wi-Fi
При использовании Wi-Fi Soft AP устройство Commissionee будет обнаружено через специальную сеть точки доступа (soft AP). SSID сети (название сети) имеет формат MATTER-ddd-vvvv-pppp, где:
- ddd – 12-битный дискриминатор в шестнадцатеричном формате.
- vvvv – 16-битный идентификатор поставщика в шестнадцатеричном формате.
- pppp – это 16-битный идентификатор продукта в шестнадцатеричном формате.
Когда Комиссар подключается к Комиссионеру, оба устройства настраивают уникальные локальные адреса IPv6, что позволяет установить соединение на уровне Wi-Fi. На этом этапе обнаружение продолжается так же, как и в случае с методом DNS-SD, описанным в следующем разделе.
Кроме того, точка доступа Wi-Fi может реализовать DHCP для IPv4 и элемент информации (IE), чтобы предоставлять дополнительную информацию, относящуюся к определенному поставщику. IE – это поле переменной длины в управляющих кадрах 802.11 (Wi-Fi), которое позволяет передавать пользовательскую информацию другим системам.
При сканировании комиссаром следует отдавать предпочтение каналам Wi-Fi 1, 6 и 11, но необходимо сканировать все каналы, разрешенные местными правилами использования спектра.
Точка доступа Wi-Fi Soft AP не используется для эксплуатационного обнаружения.
DNS-SD
В этом случае Комиссионер будет обнаружен по объявлениям сервиса доменных имен – обнаружения сервисов (DNS-SD), содержащим информацию о сервисах, предоставляемых узлами. Дополнительную информацию о DNS-SD можно найти в RFC 6762. Этот способ обнаружения устройств часто используется в следующих случаях:
- Комиссар подключен к Ethernet и, следовательно, имеет физический доступ к незашифрованной сети.
- Комиссар подключился к сети Wi-Fi или Thread любым внеполосным способом.
- Комиссионер уже был назначен для другой структуры и подключился к сети Wi-Fi/Thread. В этом случае получатель комиссии не может использовать рекламу BLE или создавать точку доступа Soft AP. Таким образом, все дополнительные ткани инициализируются этим методом.
Устройства Thread не используют DNS-SD напрямую, а применяют прокси-метод, предоставляемый Thread Border Router (TBR). Этот метод описан в протоколе регистрации сервисов DNS-SD и его прокси-сервере для объявлений. Устройства Thread регистрируются в сервисе SRP, который обычно предоставляет TBR. Этот сервис обрабатывает трафик mDNS от имени каждого зарегистрированного узла Thread, не перегружая сеть Thread дополнительным трафиком, генерируемым этими протоколами.
Имя экземпляра DNS-SD для обнаружения устройства – _matterc._udp, а имена хостов создаются на основе 48-битного MAC-адреса или 64-битного расширенного MAC-адреса, представленного в виде шестнадцатеричной строки, например A5F15790B0D15F32.local..
Как правило, эта запись рекламируется только в том случае, если комиссионер может получить комиссионное вознаграждение. Однако устройство может продолжать передавать рекламные объявления, даже когда режим инициализации не включен. Такое поведение называется расширенным поиском.
После обнаружения адреса IPv6 возвращаются в записях AAAA, а пары "ключ-значение" – в записи TXT DNS-SD. Пара "ключ-значение" содержит такую информацию, как дискриминатор, идентификатор поставщика и идентификатор товара. Узел также передает подтипы ввода в эксплуатацию, что позволяет фильтровать результаты поиска и находить только устройства, соответствующие определенному атрибуту.
Оперативное обнаружение
Оперативное обнаружение – это процесс обнаружения и идентификации введенного в эксплуатацию узла. Оперативное обнаружение выполняется только с помощью метода DNS-SD на основе IP-адресов. Название экземпляра узла будет состоять из 64-битного сжатого идентификатора ткани и 64-битного идентификатора узла. Затем эти идентификаторы в шестнадцатеричном формате объединяются с помощью дефиса, например 2906C908D115D362-8FC7772401CD0696.local..
При обнаружении устройств в рабочем режиме используется то же целевое имя хоста, что и при обнаружении устройств с помощью DNS-SD.
Тип сервиса DNS-SD – _matter._tcp. Несмотря на то что используется название _tcp, устройство может использовать другие транспортные протоколы, например UDP.