В полном стеке Weave много элементов, но большая часть функций сгруппирована в логические конструкции, называемые профилями . Каждый профиль соответствует определенному набору функций Weave, который включает:
- Протоколы
- Роли протокола (издатель, подписчик)
- Типы сообщений
- Схемы и опубликованные данные
- Коды состояния
- Коды ошибок
Мы не будем вдаваться в каждый из этих элементов прямо сейчас, поскольку они варьируются от профиля к профилю.
Что касается обмена сообщениями, сообщения профиля обычно представляют собой общие сообщения, закодированные в Weave TLV. Однако, если пространство ограничено или нет необходимости в гибкости полезной нагрузки, TLV не используется. Echo и Heartbeat — это примеры профилей, которые не кодируют сообщения в TLV.
В Weave встроено множество профилей:
Давайте кратко рассмотрим некоторые из них.
Управление данными
Профиль
управления данными управляет всеми запросами характеристик с использованием модели публикации-подписки. Почти все функции экосистемы Nest для повседневной работы отображаются на ресурсы и характеристики как часть схемы Weave.Мы рассмотрим схему и профиль управления данными позже, но этот профиль является рабочей лошадкой Weave.
Например, для изменения состояния готовности Nest Secure с мобильного устройства используется управление данными. Профиль отправляет запросы от абонента (мобильного устройства) другим ресурсам в фабрике (Nest Secure и службе), которые подтверждают запрос, изменяют состояние готовности в схеме и отправляют ответы, подтверждающие изменение.
Эхо
Профиль Echo
предоставляет базовый механизм для проверки сетевого подключения и задержки. Он создан по образцу эхо-запроса ICMP и предназначен для аналогичных целей. Это аналогично сетевому эхо-запросу, но с использованием сообщений Weave и шифрования, если указано.Полезная нагрузка Echo состоит из произвольных данных, предоставленных запрашивающим узлом, и ожидается, что они будут дословно отражены в ответе. Эхо используется для проверки подключения, безопасности и жизнеспособности ткани Weave.
Стук сердца
Профиль
Heartbeat предоставляет средства для указания работоспособности одного узла другим узлам в сети. Пульс Weave обычно отправляется через регулярные промежутки времени. Если сообщение не получено до истечения настроенного тайм-аута, предполагается, что узел вышел из строя.Сердцебиение — это то, как вы проверяете, подключен ли узел Weave к ткани. Например, пульсация используется между Nest Detects и Nest Guard, чтобы обеспечить работоспособность системы Nest Secure.
Массовая передача данных
Профиль
для массовой передачи данных (BDX) позволяет передавать файлы между узлами. Файлы в этом контексте могут быть данными датчиков, журналами или образами программного обеспечения для беспроводных обновлений.BDX может работать с различными надежными транспортными протоколами, включая TCP и Weave Reliable Messaging.
Предоставление
Существует ряд профилей обеспечения, используемых для задач, связанных с сопряжением, проверкой подлинности и регистрацией ресурсов.
Подготовка сети
Профиль
Network Provisioning обрабатывает такие задачи, как сканирование сетей, а также добавление и включение их для ресурсов в структуре.Предоставление услуг
Профиль Service Provisioning
обрабатывает такие задачи, как связывание ресурсов с учетной записью или их регистрация в службе.Предоставление ткани
Профиль
Fabric Provisioning обрабатывает такие задачи, как создание, присоединение и выход из структуры или получение конфигурации ткани.Резюме
Что вы узнали:
- Большая часть функциональности Weave управляется профилей.
- Профили — это прикладные протоколы, соответствующие определенному набору функций.
- Каждый профиль имеет свой набор типов сообщений , обычно закодированных Weave TLV .