• /
  • /

Bluetooth Mesh: обзор технологии, примеры, альтернативы и личный опыт

В этой статье мы расскажем об устройстве и принципах работы ячеистой топологии Bluetooth, сравним ее с аналогичными технологиями, такими как Zigbee и Thread, поделимся личным опытом использования mesh-сетей Bluetooth. Вы узнаете о преимуществах этого сетевого стандарта и сложностях, с которыми столкнулась наша команда, начиная осваивать BLE mesh.
Если вы ищете готовое и простое в реализации решение для построения децентрализованных беспроводных сетей, вам может подойти ячеистая сеть Bluetooth.

Этот протокол обеспечит безопасную и надежную связь между несколькими устройствами в масштабной сети. BLE mesh успешно конкурирует с Wi-Fi, Z-wave, Zigbee, Thread и другими технологиями в области Интернета вещей и интеллектуальной связи.

Как и любая другая технология, Bluetooth mesh – не универсальное решение и имеет как преимущества, так и недостатки. Опираясь на свой опыт работы с ячеистыми сетями Bluetooth, мы расскажем об этом стандарте подробнее. Возможно, наша информация поможет понять, подходит ли Bluetooth mesh для вашего проекта.

Что такое сеть Bluetooth Mesh?

Ячеистая сеть – это сеть подключенных между собой напрямую устройств (обычно связью типа "многие со многими"), в которой устройства (узлы) способны брать на себя роль коммутатора для обмена данными.

Сеть Bluetooth mesh – это ячеистая сеть, основанная на технологии BLE.

Технология Bluetooth Low Energy, или BLE, была впервые представлена организацией Bluetooth Special Interest Group (Bluetooth SIG) в 2009 году, а в начале 2010 года полностью интегрирована в Bluetooth 4.0. Новая технология разработана для интеллектуальных систем связи с низким энергопотреблением.

Поначалу возможности сетей BLE были весьма ограничены. Bluetooth Low Energy позволял осуществлять связь «точка-точка», а простые устройства, например, маячки (устройства, отправляющие в сеть широковещательные сообщения без контроля доступа), в сети могли взаимодействовать только через центральный хаб.

Ситуация изменилась в 2017 году, когда в Bluetooth 5 была добавлена спецификация Mesh Profile, обеспечивающая возможность связи «многие со многими».

Bluetooth Mesh предназначен для сетей с большим количеством узлов – mesh-устройств, передающих сообщения. Стандарт ориентирован на растущий рынок Интернета вещей и его требования к энергоэффективности, безопасности, разнообразию коммуникационных устройств и гибким технологиям.

В рамках наших услуг по разработке решений IoT мы можем построить для вашего проекта ячеистую сеть BLE различной сложности.

Как работает BLE Mesh

Ячеистую сеть Bluetooth LE отличает от Zigbee и других технологий, в первую очередь, широковещательная передача сообщений. В отличие от других беспроводных сетей, основанных на маршрутизации, mesh-протокол BLE использует принцип managed flood (управляемой широковещательной рассылки).

Этот подход предлагает модель одноранговой связи, в которой все устройства взаимодействуют напрямую друг с другом. Управляемая рассылка позволяет обмениваться сообщениями без сложных алгоритмов маршрутизации. Не нужно использовать центральный хаб и можно передавать сообщения нужным устройствам без задержек и сбоев.

Самодостаточность узлов в сочетании с многопутевым обменом сообщениями облегчает масштабируемость ячеистой сети BLE. Можно создавать множество сетей со множеством узлов.

В ячеистой BLE-сети узлы используют для связи модель публикации/подписки. Производители данных – издатели – отправляют сообщения группе устройств. Чтобы получать сообщения, устройство должно подписаться на определенный адрес или группу адресов.
Ячеистая сеть Bluetooth Low Energy, в которой производитель данных (издатель) передает сообщения потребителям данных (подписчикам).
Пример сети BLE mesh. Сообщение передается от издателя подписчикам 1 и 2.
Такой тип обмена сообщениями позволяет настраивать устройства BLE mesh для формирования сегментов сети различного масштаба и назначения. В результате технология становится еще более гибкой и управляемой.

Архитектура BLE mesh имеет многоуровневую структуру, типичную для любой коммуникационной сети:

  • Верхние уровни обрабатывают текст сообщения.
  • Средние уровни ответственны за логику и поведение сети.
  • Нижние уровни осуществляют фактическую передачу сообщений.

В ячеистой сети Bluetooth особое внимание уделяется безопасности. Для всех коммуникаций доступны решения шифрования и аутентификации на основе алгоритмов AES-CMAC и AES-CCM. Ключи безопасности защищают содержимое сообщений и обеспечивают конфиденциальную связь между узлами.

Использование учетных данных безопасности предотвращает несанкционированный доступ к ячеистой сети BLE. Инициализация или добавление устройства в сеть также безопасно. Новому узлу, добавленному в сеть, предоставляется уникальный идентификатор и доступ к ключам безопасности.

Ячеистую сеть можно создать, используя практически любой чип Bluetooth Low Energy или микроконтроллер, поддерживающий эту технологию. Популярные производители, такие как Nordic Semiconductors, Texas Instruments, STMicroelectronics, Silicon Labs, Qualcomm, производят оборудование и предоставляют SDK для создания специализированных сетей BLE mesh.

Выбор оборудования – это полдела. Основная сложность состоит в создании жизнеспособной сети. В рамках услуг по проектированию электроники и разработке встроенного ПО наши инженеры подберут подходящий чип и создадут mesh-архитектуру в соответствии с требованиями вашего проекта.

Почему именно mesh-сеть?

Как и другие сети Bluetooth LE, BLE mesh отличается низким энергопотреблением. Поэтому эта технология хорошо работает, когда нужно покрыть большую территорию с минимальными энергозатратами.

Сеть Bluetooth требует предварительно установленного соединения между двумя устройствами или стабильного настроенного маршрута, чтобы сообщение могло проходить через несколько узлов, пока не достигнет адресата. В ячеистой сети BLE узлы могут отключаться без серьезных последствий для общей структуры. Если одно из устройств выйдет из строя, это никак не скажется на сети и исходный коммуникационный узел продолжит трансляцию данных. Адресат получит пакет с задержкой всего в пару секунд.

Гибкостью и возможностью мгновенно перенастроить себя mesh-сеть отличается от большинства стандартных реализаций. Эти качества часто оказываются важнее скорости передачи и отсутствия задержек.

Изменение положения узлов ячеистой сети Bluetooth не нарушает структуру сети и не приводит к потере переданных данных. Потеря данных возможна, только если устройства перестали находиться в зоне покрытия приемника.

Узлы BLE mesh могут взаимодействовать с устройствами Bluetooth 4.x и 5.x. Устройство с Bluetooth 4.x имеет возможность получать сообщения, но не будет полноценным узлом сети, так как может общаться только с сопряженным устройством.

Число устройств, поддерживающих BLE mesh, растет. Одной из наиболее перспективных областей для ячеистых сетей Bluetooth является мобильная связь, поскольку смартфоны совместимы с Bluetooth 4.0 и BLE.

BLE Mesh поддерживает маячки, поэтому широко используется для отслеживания активов, позиционирования внутри и снаружи помещений и навигации.

Будучи очень гибким, энергоэффективным и безопасным решением, BLE mesh находит применение в областях, которые подразумевают сетевое взаимодействие, например:

  • Домашняя автоматизация
  • Индустриальная автоматизация
  • Умное освещение
  • Отслеживание активов
  • Обнаружение приближения

Исходя из нашего опыта, данную технологию можно использовать нестандартно в зависимости от требований проекта. В нашей статье мы расскажем о таких разработках.

BLE 5.x Mesh в сравнении с аналогичными технологиями

Помимо BLE mesh, существуют и другие подобные технологии ячеистых сетей, наиболее популярные из которых Zigbee и Thread. Эти протоколы имеют много общего с ячеистой сетью Bluetooth.

Thread, анонсированная в 2014 году, является самой молодой технологией по сравнению с Zigbee и BLE mesh. Основанная на Интернет-протоколе версии 6 (IPv6), Thread разработана для систем Интернета вещей.

Этот протокол имеет ограниченное количество маршрутизаторов (32 на сеть) и не подходит для крупномасштабных сетей. Однако к одному маршрутизатору можно подключить до 511 устройств, что делает этот стандарт подходящим для сетей высокой плотности.

Thread – это готовое решение с IP-адресацией, которое легко интегрируется в приложения на основе IPv6. Стандарт имеет достаточно высокую скорость передачи данных по сравнению с аналогичными технологиями. Thread подходит для локальных систем IoT и не предназначен для передачи данных на большие расстояния.

Zigbee намного старше своих конкурентов. Впервые технология была представлена в 1998 году, а стандартизирована в 2003-м. Zigbee предназначена для беспроводных сетей с низким энергопотреблением, небольшой пропускной способностью и низкой скоростью передачи данных. Максимальная скорость фиксирована и составляет 250 Кбит/сек.

Стандарт Zigbee применяется в домашней автоматизации, медицинском оборудовании, автоматизации промышленности и зданий и многих других областях.

Версия 2.0 Zigbee Smart Energy поддерживает IPv6 и подходит для электромобилей. Стандарт Zigbee RF4CE применяется для дистанционного управления устройствами.

Zigbee поддерживает различные диапазоны частот и выходной мощности и, следовательно, разные расстояния передачи, работает с различными трансиверами, включая Bluetooth Low Energy. Бытовая электроника редко имеет в своем стандартном пакете поддержку этой технологии, поэтому для добавления в сеть нового устройства без трансивера Zigbee, например смартфона, потребуется шлюз.

Каждый из трех стандартов – Thread, Zigbee и BLE mesh – обеспечивает беспроводную ячеистую связь и широко используется в системах Интернета вещей и умного дома. Технологии подходят для сетей с низкой пропускной способностью и низким энергопотреблением. Важной особенностью всех протоколов является безопасность.

В зависимости от требований проекта стандарты Zigbee, Thread и Bluetooth могут показывать примерно одинаковую производительность.

Основное отличие ячеистой сети BLE заключается в том, что она использует Bluetooth вместо интернет-протокола и управляемую широковещательную рассылку вместо маршрутизации.

IP-совместимость дает преимущество в случаях, когда необходимо подключить устройства, использующие IP-адреса. Если вы хотите внедрить IP-устройства в сеть BLE mesh, вам необходимо продумать механизмы адресации.

При управляемой широковещательной рассылке все узлы сети получают сообщения, но повторно передают их всем другим устройствам в радиусе действия лишь те, которые действуют как ретрансляторы. Устройства не хранят передаваемые данные, поэтому им не требуется много оперативной памяти.

При использовании Zigbee и Thread, устройства в сети должны иметь достаточно оперативной памяти для хранения таблиц маршрутизации.

Управляемая широковещательная рассылка в сетях со множеством узлов может создать зашумленность канала, поскольку сообщения передаются всем узлам одновременно. Вот почему этот подход лучше работает для сетей с низкой плотностью.

Механизм маршрутизации, применяемый в Zigbee и Thread, направляет сообщения к узлам назначения, что помогает снизить помехи и делает данные протоколы предпочтительными для сетей с высокой плотностью.

Подход на основе рассылки вовлекает в обмен данными каждый узел ячеистой сети BLE, что создает определенные накладные расходы. Чтобы уменьшить этот эффект, можно разработать алгоритмы фильтрации или использовать виртуальные адреса с уникальными идентификаторами.

По сравнению с рассылкой сообщений, маршрутизация имеет более сложную реализацию. Но в то же время она обеспечивает более быструю передачу данных с меньшими накладными расходами.

Для одного из проектов мы сравнили основные характеристики сетей BLE 5.x Mesh, Zigbee, Thread и собственного решения на основе BLE. Ячеистая сеть BLE имела самую низкую пропускную способность (менее 1,5 кбит/с для пакета размером 100 байт в шесть прыжков до хост-устройства) и самую большую задержку (640 мс для того же пакета в четыре прыжка).

В отличие от Zigbee или Thread, BLE mesh не имеет такого качества на уровне приложения, как гарантированная доставка данных. Поэтому BLE mesh будет хорошим вариантом для передачи небольшого объема данных, не требующих быстрой и гарантированной доставки.
График иллюстрирует задержку многоадресной рассылки сетей Zigbee, Thread и Bluetooth.
Задержка прихода пакетов в сетях Zigbee, Thread и Bluetooth. Малые сети с умеренной нагрузкой на сеть 50 байт (32 байта для BLE). Источник: Silicon Labs.
Огромным преимуществом Bluetooth является его доступность – на сегодняшний день этот стандарт поддерживают все смартфоны и большая часть бытовой электроники. Таким образом, можно интегрировать сеть Bluetooth в существующую среду легко, быстро и наименее затратно.
"Плюс ячеистых сетей Bluetooth в их гибкости и устойчивости, а к слабым местам можно отнести загруженность широковещательного трафика и низкую пропускную способность. BLE mesh подходит для разработки умного дома и подобных IoT-проектов, предполагающих передачу небольших объемов данных. У нашей команды большой опыт разработки проектов с применением BLE, что позволяет нам учесть все нюансы поведения систем, базирующихся на данном протоколе."

Сергей Белых, технический руководитель группы инженеров-программистов в компании КЕДР Solutions

Наш опыт использования Bluetooth Mesh в проектах

Благодаря своей простоте, экономичности и доступности, ячеистые сети Bluetooth чрезвычайно востребованы сейчас.

Один из наших недавних проектов реализации BLE Mesh сети связан с автоматизацией праздничной иллюминации курортного отеля. К нам обратился владелец гостиницы, которому было необходимо управление освещением для улучшения качества обслуживания гостей и оптимизации потребления электроэнергии. Несмотря на свое название, иллюминация присутствует на территории отеля не только в праздники, а круглогодично, создавая приятную атмосферу и радуя отдыхающих.

Заказчик остановил свой выбор на технологии BLE Mesh, так как она:

  • отказоустойчивая;
  • децентрализованная;
  • легко развертывается и не требует прокладки кабелей;
  • может управляться с любого смартфона или планшета.

Bluetooth Mesh прекрасно подходит для такого проекта, так как не требуется высокая скорость передачи, устройства передают небольшие пакеты данных, узлы сети достаточно близко расположены друг к другу.

Мы установили в каждый источник освещения (гирлянды, светильники) BLE модуль с чипом nRF52840 и поддержкой Bluetooth Mesh, и, таким образом, каждый из них стал узлом сети. Система освещения имеет также шлюз с поддержкой Wi-Fi, фотореле и переключатели.

Мы создали веб-приложение, а также кроссплатформенное приложение на С++, с помощью которого можно инициализировать и настраивать контроллеры, обновлять прошивку, а также определять группы светильников с настраиваемым поведением. Яркость освещения, смена цветов и режимов может быть настроена отдельно для каждой группы или для всего комплекса.

BLE mesh предлагает готовую модель освещения Lighting, которая предусматривает различные режимы управления освещением, что значительно упрощает развертывание системы и делает работу с технологией простой и удобной.

Модернизация системы и добавление светильников (например, иллюминации к определенному празднику) происходит без внесения изменений в существующие установки.

В настоящее время BLE mesh является популярной и развитой технологией, и многие проблемы, связанные с ее имплементацией, давно устранены. Но мы в КЕДР Solutions помним времена, когда протокол был для всех новым, информации о нем было недостаточно, и внедрить его было задачей со звездочкой.

Один из наших первых коммерческих проектов на основе Bluetooth Mesh – сеть Bluetooth-устройств для ресторанов и баров – запомнился нам как раз доработкой сети и подбором нужных характеристик.
Узлы ячеистой BLE сети для ресторанов – это стильные кубы, которые одновременно могут использоваться как настольные лампы.
Кубики, которые являются узлами в BLE mesh сети.
Устройства в этой сети представляют собой кубики, которые ставятся на столы с NFC-метками. Персонал может переставлять кубики как угодно, так как сеть абсолютно гибкая.

С помощью этих устройств посетители ресторана могут вызвать официанта и попросить чек, а обслуживающий персонал – узнать, как долго гость ждет заказ. А еще каждый кубик – это настольные лампа и просто стильное интерьерное решение.

Сотрудники получают данные с кубов с помощью смартфонов и планшетов на iOS, которые подключаются к ближайшему устройству Bluetooth. Это устройство становится шлюзом. Такой принцип подключения не влияет на общую конфигурацию сети.

Данные с устройств – это еще и полезная статистическая информация, которая поможет в оптимизации работы и улучшении качества обслуживания в ресторанах.

Произвольное размещение узлов позволяет создавать разные конфигурации ячеистой сети Bluetooth. На схемах ниже представлены лишь некоторые из них.
Пример конфигурации ячеистой сети ресторана.
Mesh-сеть ресторана — пример топологии #1.
Один из вариантов конфигурации ячеистой сети ресторана.
Mesh-сеть ресторана — пример топологии #2.
Одна из возможных конфигураций mesh-сеть ресторана.
Mesh-сеть ресторана — пример топологии #3.
Мы экспериментировали с более чем сотней узлов Bluetooth, чтобы найти алгоритмы, позволяющие автоматически настраивать сеть.

Персонал ресторана перемещает кубики, выключает и включает их снова, то есть на физическую топологию сети постоянно влияет человеческий фактор. Ситуация осложняется еще и тем, что во многих ресторанах есть несколько залов.

Команде КЕДР Solutions потребовалось много времени, чтобы разработать методы и правила построения и перестроения графа в реальном времени. Но результат того стоил – мы смогли сделать систему одновременно надежной и гибкой.

Как уже было сказано, стандартная сеть BLE mesh не требует маршрутизации. Узел получает пакеты от других узлов и ретранслирует их дальше. С ростом количества узлов увеличивается и количество операций передачи данных. В результате производительность сети падает.

Даже при коротком времени жизни сообщения (TTL) легко представить, какой широковещательный шторм может создать mesh-сеть из 1000 узлов. Задержки в сети также только увеличиваются с увеличением количества узлов и передаваемых пакетов.

Ячеистая сеть BLE способна поддерживать более 30 тысяч узлов, но на практике даже сотня устройств может перегрузить сеть и нарушить работу всей экосистемы.

Для проекта mesh-сети для ресторана нам нужно было найти способ уменьшить эффект зашумленности. Первое, что мы сделали – это добавили к каждому пакету узла определенный TTL. Это снизило трафик в сети.

Мы также решили отказаться от управляемой широковещательной рассылки сообщений, присущей ячеистым сетям BLE, и заменить ее механизмами маршрутизации.
Рисунки иллюстрируют различия BLE mesh-сети с управляемой широковещательной рассылкой сообщений и BLE mesh-сети с маршрутизацией.
BLE mesh-сеть с управляемой широковещательной рассылкой сообщений и BLE mesh-сеть с маршрутизацией.
Наши инженеры разработали таблицы маршрутизации для каждого узла. Алгоритмы маршрутизации обеспечили быструю и гарантированную доставку данных от устройств к шлюзу.

Мы ввели измерения уровня сигнала, или RSSI, чтобы создать прочную и эффективную связь между узлами.

Теоретически максимальная физическая скорость ячеистой сети с устройствами Bluetooth 5.x (включая передачу служебных данных о маячке, типе пакета и т.д.) составляет 2 Мбит в секунду. В реальности такой скорости достичь невозможно.

Чтобы оценить реальную пропускную способность ячеистой сети, нужно учитывать два основных критерия:

  • количество устройств;
  • расстояние между устройствами и топологию сети BLE.

В одном из наших проектов по созданию системы отслеживания активов, а также в проекте mesh-сети ресторана, скорость передачи данных составила около 80 Кбит/с. Скорость небольшая, тем не менее при низком энергопотреблении позволяет своевременно отправлять уведомления и даже отображать картинки.

Одному из наших клиентов требовалось реализовать ячеистую сеть на промышленном предприятии, чтобы отслеживать передвижения сотрудников и транспорта внутри территории.

Требовалась высокая пропускная способность сети в сочетании с высочайшей надежностью при передаче данных на достаточно большие расстояния – около одного километра. Все устройства, кроме одного шлюза, питались от аккумуляторов.
Схематический рисунок конфигурации сети, которая предполагает передачу данных на достаточно большое расстояние.
Топология сети дальней связи.
Было ясно, что ячеистая сеть BLE не сможет обеспечить выполнение всех требований проекта. Поэтому мы создали собственную mesh-сеть на основе протокола BLE, которая не вызывала бы широковещательного шторма.
"Мы создали сеть, которая автоматически перенастраивает свою конфигурацию. При добавлении нового устройства топология сети каждый раз обновляется. Количество устройств при этом не ограничено, а каждое из них действует и как узел, и как маршрутизатор."

Сергей Белых, технический руководитель группы инженеров-программистов в компании КЕДР Solutions
Для данного проекта наша сеть с прямым соединением между соседними узлами и маршрутизацией данных на шлюз оказалась более эффективным решением, чем стандартная BLE mesh. Разработанное решение для отслеживания людей и имущества показало эффективность и надежность при доставке сообщений в труднодоступной промышленной зоне. Используя сеть маячков, система помогает отслеживать сотрудников и оборудование, расположенные даже на большом удалении от шлюза.

Заключение

Как и любая другая сеть, BLE mesh – не универсальное решение и подходит только под определенные бизнес-потребности.

BLE mesh сети обладают малой мощностью, низкой пропускной способностью, уязвимостью к перегрузкам сети. Почему же эта технология так популярна сейчас?

Bluetooth Mesh имеет потрясающую глобальную совместимость. Устройства разных производителей могут беспрепятственно работать друг с другом. Технология может использовать смартфоны, большинство из которых имеют поддержку BLE 4.0 и BLE 5.0, и не требует дополнительных внешних аппаратных устройств. Также BLE mesh обратно совместима с другими устройствами BLE, у которых нет mesh протокола.

Помимо этого, BLE Mesh чрезвычайно надежна, так как имеет способность самовосстановления. Преимуществами ячеистых сетей Bluetooth также являются их гибкость, безопасность передачи данных, энергоэффективность и масштабируемость.

Работая над проектами Bluetooth Mesh, мы выполняем все необходимые задачи:

  • предоставление индивидуального шлюза;
  • создание топологии ячеистой сети;
  • написание встроенного ПО для узлов и шлюза;
  • оптимизация топологии, чтобы она была совместимой с существующими устройствами и системой.

Поэтому, если вам нужна беспроводная система с низким энергопотреблением, масштабируемым подключением и безопасной передачей данных, мы можем создать ячеистую сеть BLE под ваши конкретные требования.

Надеемся, этот обзор был вам полезен и дал представление о сетевой технологии BLE mesh. Если у вас остались сомнения по поводу использования BLE mesh для вашего продукта, свяжитесь с нами и получите профессиональную консультацию.
Другие статьи