В статье на примере нашего опыта раскрывается суть ячеистых (mesh) сетей, их практическая применимость для платформ мониторинга IoT.
Меш-сеть или ячеистая сеть - это топология сети, отдельные узлы которой в отсутствии строгой иерархии, подключаются к максимально возможному количеству узлов с целью эффективной передачи данных. Несмотря на то, что в теории меш-сеть может быть децентрализованной, на практике управление её зачастую осуществляется с помощью одного роутера, выступающего в роли центрального контроллера.
В зависимости от типа подключения mesh-сети делятся на самоорганизующиеся (каждый узел сам выбирает оптимальный путь маршрутизации) и настраиваемые (у каждого узла заданы определенные маршруты передачи данных).
Ячеистая структура сети позволяет бесшовно передавать данные между отдельными узлами сети, на большие расстояния, путем разбиения длинного маршрута на серию коротких переходов между узлами. При этом промежуточные узлы (B и C) активно участвуют в передаче данных из точки А в точку D, принимая соответствующие решения на базе своих знаний о маршрутах и топологии сети (рисунок).
Узлы по их роли в сети можно условно разделить на 3 типа:
- Узлы-ретрансляторы (могут передавать сообщения отправленные другим узлам);
- Центральный узел ( контроллер/роутер передающий “команды” остальным узлам сети);
- Конечный узел (узел не передающий сообщения отправленные другим узлам).
Узлы ретрансляторы выступают в роли маршрутизатора по передаче данных от соседних узлов к удаленным участникам сети (конечным узлам), для достижения которых недостаточно одного перехода. В результате полученная сеть теоретически способна покрывать “бесконечные” расстояния, не теряя своей устойчивости. Надежность сети обеспечивается также тем, что каждый узел соединен с несколькими соседями, при выбывании узла-ретранслятора из сети из-за неисправностей устройства или по каким-либо другим причинам, его соседи смогут быстро перестроить маршрут для трафика, используя свои протоколы маршрутизации.
Взаимодействие меш-сети с другими протоколами беспроводной передачи данных
Меш-сеть может быть построена на основе таких протоколов передачи данных как Wi-Fi и BLE, но для этого необходимо чтобы программная и аппаратная часть устройства, на котором строится сеть были совместимы с возможностью использования меш.
Традиционные беспроводные сети ограничены расстоянием между двумя обменивающимися устройствами. BLE обеспечивает передачу данных на 1–10 м, что относительно немного.
Устройства Bluetooth Mesh способны решить эту проблему. Они подключаются друг к другу и передают сигналы другим устройствам, находящимся в радиусе действия, образуя сеть, взаимосвязанных узлов, способных передавать данные. Это означает, что информация передается от одного узла к другому, и еще к одному, и так далее.
Традиционные беспроводные сети ограничены расстоянием между двумя обменивающимися устройствами. BLE обеспечивает передачу данных на 1–10 м, что относительно немного.
Устройства Bluetooth Mesh способны решить эту проблему. Они подключаются друг к другу и передают сигналы другим устройствам, находящимся в радиусе действия, образуя сеть, взаимосвязанных узлов, способных передавать данные. Это означает, что информация передается от одного узла к другому, и еще к одному, и так далее.
Недостатки Wi-Fi – это большое энергопотребление, а также “ослабление” сигнала при прохождении через “препятствия” (стены, пол, потолок или большие расстояния). Помимо этого в сети Wi-Fi с несколькими точками доступа/повторителями случаются разрывы связи и задержки при активном передвижении по дому.
Устройства Mesh Wi-Fi позволяют избавиться от “мертвых” зон, где сигнал очень слабый либо исчезает вовсе. Также, за счет автоматического переключения между точками доступа/ретрансляторами в случае сбоя или повышенной нагрузки на одну из них сеть не обрывается и не возникают задержки при передвижении по дому.
ПРИМЕР: Как осуществить функционирование системы из 300 датчиков расположенных на территории площадью 3 км.кв.?
К нам обратился заказчик, занимающийся разработкой системы мониторинга сейсмической активности. Заказчик хотел сделать свою систему более мобильной и простой в установке. На начальном этапе система представляла собой набор последовательно соединенных при помощи проводов устройств (схема 1). Такая система усложняет установку устройств их ремонт и обслуживание, а также повышает риски повреждения канала передачи данных. Для улучшения качества установки и минимизирования рисков заказчик решил использовать беспроводную передачу данных.
Мы стараемся в своих проектах использовать стандартные решения, чтобы не изобретать велосипед и разумно расходовать бюджет проекта. Поэтому на первом этапе наши инженеры сравнили три способа беспроводной передачи данных: Wi-fi, Bluetooth и Mesh по важным для проекта характеристикам (таблица 1):
- радиус работы сети;
- энергопотребление (время автономной работы);
- количество узлов в сети.
Так как система покрывает площадь в 3 км.кв. и должна работать до 2 недель автономно (вместе с GPS, сбором и хранением данных), технологии Bluetooth и Wifi не подходят. Поэтому на первом этапе работы над системой наши инженеры остановились на стандартной реализацией меш сети по радиоканалу. Радиоканал обеспечивает “большой” диапазон действия сети, “низкое” энергопотребление, но имеет низкую скорость передачи данных.
При сборе данных о местности заказчику было необходимо точно определять область, в которой происходит сбор данных, поэтому данные в системе должны были передаваться в рамках одной “колонны” и не перескакивать на датчики с “соседних колонн”. Однако в стандартной реализации меш сети данные в системе передавались в хаотичном порядке, могли перескакивать на соседние линии. На схеме отражены отличия стандартной передачи данных от передачи данных необходимой заказчику.
Для настройки системы под требования заказчика мы модифицировали стандартные протоколы передачи данных по радиоканалу. Мы переписали логику взаимодействия “железа” с программной частью. Изначально логика построения сети подразумевала, что датчики сами выбирали, как они будут “общаться” друг с другом. Но для правильного сбора информации и составления отчетов о местности, система должна была собирать данные таким образом, чтобы общение между датчиками происходило строго в пределах одной линии.
Работа системы со стандартными протоколами передачи данных.
Каждый узел сети имеет собственную таблицу маршрутизации - список соседних узлов и узлов, которые переслали сообщения через этот узел. Важным свойством таблицы является то, что она содержит не путь до узла, а только адрес следующего узла, через который можно передать сообщение до адресата. Таким образом, передаваемое между соответствующими узлами, сообщение достигает адресата. На рисунке представлен пример сети из 5 узлов и базовой станции.
На рисунке выше стрелками показан маршрут от Базовой станции до узла 5, помимо этого пути станция и узел 5 могут связываться так же через промежуточные узлы 1 и 2. В данном примере возможны как минимум 3 маршрута от базы до узла 5:
- БС - Узел 1 - Узел 3 - Узел 5
- БС - Узел 2 - Узел 3 - Узел 5
- БС - Узел 2 - Узел 1 - Узел 3 - Узел 5
При наличии альтернативных маршрутов, алгоритм сравнивает качество сигналов всех возможных маршрутов использует маршрут с максимальным качеством. В данном случае, наиболее оптимальным является маршрут указанный стрелками.
Работа системы после ее модификации.
Сеть имеет гибридную топологию: приложение связывается с базовыми станциями напрямую с помощью TCP-подключения, каждая базовая станция по радиоканалу управляет линией последовательно соединенных устройств.
Команды от базовой станции распространяются 2 видами сообщений: адресными и широковещательными. Адресные сообщения передаются последовательно от узла к узлу, согласно таблице маршрутов в базовой станции.
Адресные сообщения позволяют работать на отдельных участках сети. Благодаря такому типу сообщений у нас есть возможность обращаться к конкретному устройству, для проверки его работы. Выбирая диапазон нужных адресов мы можем определить область - где будем собирать геоданные.
Широковещательные сообщения не привязаны к таблице маршрутов, каждый узел, получивший такое сообщение, ретранслирует его окружающим узлам, что позволяет им распространяться быстрее адресных.
Широковещательные сообщения позволяют оператору запускать измерения на всех узлах (датчиках) с минимальными временными потерями на распространение команды.
В процессе отладки кода, мы провели серию испытаний системы. Изначально испытания сети проводили в помещении однако ввиду наличия “помех” (стен, перегородок и т.д.), были решено провести испытания на улице (в лесу), в условиях близких к реальным с наличием естественных помех (деревья, кусты и т.д.).
В результате мы получили систему способную включать до 61438 устройств работающих на меш-сети. Благодаря использованию меш-сети оператор системы мониторинга может настраивать время работы и продолжительность сбора данных внутри сети подавая управляющие сигналы датчикам (широковещательные и адресные сообщения), принимать сигналы о поломке или сведения о уровне заряда каждого датчика в сети (телеметрия).
Заключение
Меш-сети это быстро развивающаяся технология, которая находит широкое применение в различных отраслях жизнедеятельности. Благодаря возможности применения меш-сети с современными видами связи (Wi-Fi, Bluetooth и др.) мы можем получать более эффективные и гибкие решения для организации сетей передачи данных.