BLE DEVESTAVICTION: Что такое Гатт и как это работает?
Концепция Гатта
Чтобы провести развитие, связанное с BLE, У нас должны быть определенные базовые знания, конечно, это должно быть очень просто.
ГАТТ Роль устройства :
Первое, что нужно понять, это то, что различие между этими двумя ролями находится на уровне аппаратного обеспечения, И это относительные концепции, которые появляются в парах:
“Центральное устройство”: относительно мощный, используется для сканирования и подключения периферийных устройств, такие как мобильные телефоны, таблетки, и т. д..
“Периферийное устройство”: Функция относительно проста, Потребляемое энергопотребление небольшое, и центральное устройство подключено для предоставления данных, такие как браслеты, Умные термометры, и т. д..
Фактически, на самом фундаментальном уровне, это должно быть различием между различными ролями в процессе установления соединения. Мы знаем, что если устройство Bluetooth хочет сообщить другим его существование, он должен постоянно транслировать во внешний мир, В то время как другой стороне нужно сканировать и ответить на вещательный пакет, чтобы соединение было установлено. В этом процессе, лицо, ответственное за вещание, является периферийным , и Central отвечает за сканирование.
Обратите внимание на процесс соединения между двумя:
Центральное устройство может подключаться к нескольким периферическим устройствам одновременно. Подключено периферийное устройство, это немедленно прекратит вещание, и продолжить вещание после отключения. Только одно устройство может попытаться подключиться в любое время, Соединения в очереди.
ГАТТ протокол
BLE Technology общается на основе GATT. Gatt - это протокол передачи атрибутов. Его можно рассматривать как протокол прикладного уровня для передачи атрибутов.
Его структура очень проста:
Вы можете понять это как XML:
Каждый ГАТТ состоит из услуг, которые выполняют разные функции;
Каждая услуга состоит из разных характеристик;
Каждая характеристика состоит из значения и одного или нескольких дескрипторов;
Сервис и характеристика эквивалентны тегам (Сервис эквивалентен своей категории, и характеристика эквивалентна его названию), В то время как значение фактически содержит данные, и дескриптор - это объяснение и описание этого значения. Конечно, Мы можем описать и описать это с разных сторон. Описание, так что может быть несколько дескрипторов.
Например:Обычная полоса Xiaomi Mi - это устройство BLE, (предполагается) Он содержит три услуги, которые являются службой, которая предоставляет информацию об устройстве, услуга, которая предоставляет шаги, и услуга, которая обнаруживает частоту сердечных сокращений;
Характеристика, содержащаяся в службе информации устройства, включает информацию о производителе, Аппаратная информация, Информация о версии, и т. д.; Служба сердечного ритма включает в себя характеристику сердечного ритма, и т. д., и значение в характеристике сердечного ритма фактически содержит данные сердечного ритма, и дескриптор - это значение. Описание, такой как единица стоимости, описание, разрешение, и т. д..
ГАТТ C/S.
С предварительным пониманием Гатта, Мы знаем, что ГАТТ - это типичный режим C/S. Поскольку это C/s, Нам необходимо различать сервер и клиента.
“GATT Server” против. “ГАТТ КЛИЕНТ”. Стадия, где эти две роли существуют после установки соединения, и они различаются в соответствии с статусом диалога. Легко понять, что сторона, которая содержит данные, называется сервером GATT, и сторона, которая обращается к данным, называется клиентом GATT.
Это концепция на другом уровне, чем роль устройства, которую мы упоминали ранее, и необходимо отличить его. Давайте используем простой пример для проиллюстрирования:
Возьмите пример мобильного телефона и часы, чтобы проиллюстрировать. Перед подключением между мобильным телефоном и мобильным телефоном будет установлено, Мы используем функцию поиска Bluetooth мобильного телефона для поиска устройства Bluetooth часа. Во время этого процесса, Очевидно, что часы транслируют BLE, чтобы другие устройства знали его существование. , Это роль периферического в этом процессе, и мобильный телефон отвечает за задачу сканирования, и естественно играет роль центра; После того, как они установили соединение ГАТТ, Когда мобильный телефон должен читать данные датчика, такие как количество шагов от часов, Два интерактивных данных сохраняются в часах, Итак, в это время часы являются ролью сервера GATT, и мобильный телефон, естественно, клиент GATT; И когда часы хотят прочитать SMS -звонки и другую информацию с мобильного телефона, Гардиан данных становится мобильным телефоном, Итак, мобильный телефон является сервером в настоящее время, И часы - это клиент.
Сервис/характеристика
У нас уже было воспринимаемое понимание их выше, А потом у нас есть практическая информация:
- Характерна - наименьшая логическая единица данных.
- Анализ данных, хранящихся в значении и дескрипторе, определяется инженером сервера, Там нет спецификации.
- Сервис/характеристика имеет уникальную идентификацию UUID, UUID имеет как 16-битный, так и 128-битный, Что нам нужно понять, так это то, что 16-битный UUID сертифицирован организацией Bluetooth и необходимо приобрести, Конечно, есть несколько общих 16-битных uuid., например, пример, UUID службы сердечного ритма равен 0x180D, который выражен как 0x00001800-0000-1000-8000-00805F9B34FB в коде, и другие биты исправлены. 128-битный UUID можно настроить.
- ГАТТ -соединения эксклюзивны.