Поиск комиссионных
Обнаружение узла, доступного для инициализации, происходит до инициализации и представляет собой процесс обнаружения и идентификации узла, доступного для инициализации. Существует три способа, с помощью которых узел, подлежащий вводу в эксплуатацию, может заявить о себе:
- Bluetooth с низким энергопотреблением (BLE)
- Программная точка доступа Wi-Fi
- DNS-SD в IP-сети, также известной как существующая сеть с поддержкой IP.
В обоих случаях узел, который можно ввести в эксплуатацию, передает информацию, указанную в таблице 1.
| Поле | Длина | Обязательно |
|---|---|---|
| Дискриминатор | 12 бит | Да |
| Идентификатор поставщика | 16 бит | Нет |
| Идентификатор товара | 16 бит | Нет |
| Расширенные данные | переменная | Нет |
Согласно спецификации Matter, идентификатор производителя и идентификатор продукта не являются обязательными, но их можно указать. Дискриминатор – обязательный параметр, который позволяет идентифицировать устройство при вводе в эксплуатацию, если одновременно подключено несколько одинаковых устройств. Расширенные данные могут использоваться для кодирования информации, относящейся к конкретному поставщику.
Многие устройства транслируют рекламу в течение короткого периода времени (примерно 3–15 минут) после включения. Другие устройства не должны начинать объявление, потому что их основное управление не исходит от сети или потому что автоматическое объявление устройств без инициализации, таких как замки, небезопасно. Эти правила приведены в таблице 2.
| Основная функция устройства | Автоматическое объявление |
|---|---|
| Устройства для управления замками и шлагбаумами | Нет |
| Большинство элементов управления находится на ткани. Например, переключатель или лампочка. | Да |
| Большинство элементов управления не относятся к Fabric. Например, посудомоечная машина или холодильник. | Нет |
Bluetooth с низким энергопотреблением
В этом режиме Комиссионер будет видеть объявления BLE. Устройство должно использовать периферийный интерфейс Generic Access Profile (GAP) и периодически сообщать о том, что оно не подключено к сети. В течение первых 30 секунд после включения устройства частота объявлений должна быть высокой – с интервалами от 20 до 60 миллисекунд.
Через 30 секунд устройство должно начать передавать сигналы с низкой частотой – с интервалами от 150 до 1500 миллисекунд. После ввода в эксплуатацию в первой сети Matter устройство должно прекратить передачу объявлений BLE.
Комиссионеру не нужно отправлять запросы на сканирование. Оно должно выполнять пассивное сканирование трех рекламных каналов BLE: 37 (2402 МГц), 38 (2426 МГц) и 39 (2480 МГц). Эти каналы выбираются из областей спектра с минимальным перекрытием с каналами Wi-Fi, что сводит к минимуму перекрестные радиопомехи.
BLE не используется для обнаружения устройств.
Программная точка доступа Wi-Fi
При использовании программной точки доступа Wi-Fi устройство, добавляемое в сеть, будет обнаружено через специальную сеть программной точки доступа. 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 не используется для обнаружения устройств.
DNS-SD
В этом случае уполномоченное устройство будет обнаружено по объявлениям обнаружения сервисов на основе системы доменных имен (DNS-SD), которые содержат информацию о сервисах, предоставляемых узлами. Дополнительную информацию о DNS-SD можно найти в документе RFC 6762. Это распространенный метод обнаружения устройств, когда:
- Устройство, которое нужно подключить, подсоединено к Ethernet и имеет физический доступ к незашифрованной сетевой среде.
- Устройство, добавляемое в сеть, подключилось к сети Wi-Fi или Thread любым внешним способом.
- Устройство уже подключено к другой сети Matter и присоединилось к сети Wi-Fi/Thread. В этом случае уполномоченное устройство не может использовать объявления BLE или создавать программную точку доступа. Таким образом, все вторичные фабрики предоставляются с помощью этого метода.
Устройства 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-битного сжатого идентификатора Fabric и 64-битного идентификатора узла. Затем эти идентификаторы в шестнадцатеричном формате объединяются через дефис, например 2906C908D115D362-8FC7772401CD0696.local..
Для обнаружения устройств в сети и обнаружения устройств с помощью DNS-SD используется одно и то же имя хоста.
Тип сервиса DNS-SD: _matter._tcp. Хотя в названии используется _tcp, устройство может использовать другие транспорты, например UDP.