Давай начнем с самого начала. Что из себя представляет эта самая mesh?
Я бы сказал, не просто mesh, а mesh-сеть. Или, как ее еще называют, сеть ячеистой топологии. Говоря простыми словами, это способ построения сети из устройств на основе, как правило, беспроводной связи, например, радиосвязи или Wi-Fi. При этом, обычно отсутствует центральное устройство-координатор — все устройства сети равноценны, могут принимать и передавать информацию, что делает сеть гибкой и динамичной структурой. Можно сказать, что mesh-сеть — обычная сеть, с той лишь разницей, что устройства через себя умеют передавать данные для других устройств. Если одно из устройств выйдет из строя, его функции ретрансляции возьмет на себя кто-то из «соседей». Соответственно, работа всей системы не нарушится – просто перестроятся маршруты передачи данных. Пожалуй, отказоустойчивость – главное преимущество.
Звучит многообещающе, но довольно абстрактно. Можешь пояснить на конкретном примере из своей практики?
Без проблем. Давай рассмотрим наш совместный проект с «Миландром» (АО «ПКК Миландр» – прим.) – систему «умного» учета энергоресурсов в жилом многоквартирном доме.
В каждой квартире установлены специальные счетчики электроэнергии, воды, газа, которые соединяются с датчиками и передают показания потребления на модем, который конструктивно является частью «умного» счетчика. Задача «умника» — передать показания на УСПД — устройство передачи данных, расположенное в подвале. Оно играет роль внутреннего сервера, на который со всего дома стекается информация о потреблении энергоресурсов, чтобы затем передать полученные данные с помощью сотовой связи в соответствующую инстанцию. Например, в случае с показаниями электропотребления — в электросетевую компанию, которая использует полученную информацию для формирования счетов жильцам и актуализации информации об энергопотреблении через такие интерфейсы, как личный кабинет пользователя на сайте электросетевой компании или мобильное приложение.
А где тут mesh?
Не просто mesh, а гетерогенная mesh-сеть! Она объединяет датчики и «умные» счетчики, а если еще точнее, то датчики и модемы «умных» счетчиков.
Технология mesh дает возможность установки датчиков в любой части дома и передачи информации через ближайший к установленному датчику «умный» счетчик. По автоматически выбираемому маршруту передачи показаний на УСПД информация идет по выбранной в данный конкретный момент времени цепочке «умных» счетчиков. Например, счетчик с девятого этажа не может напрямую передать информацию на внутренний сервер в подвале дома, поэтому используется цепочка из «умных» счетчиков, последним элементом передачи которой может быть, например, счетчик с третьего этажа, который уже может связаться с УСПД и передать полученные данные. Если один счетчик по каким-то причинам «не видит» соседа, он сможет передать через другого соседа. Таким образом, не важно, кто с кем соединен и где находится — выше или ниже этажом. Главное, чтобы был «виден» хотя бы один соседний узел, и данные будут переданы.
При выходе какого-то элемента сети из строя вся система продолжает работать. На связи это никак не отражается. Если до этого наш «умный» счетчик с девятого этажа передавал свои показания по цепочке других счетчиков на внутренний сервер в подвале, то вышедший из строя счетчик на 3-м этаже не помешает передаче данных. Будет найден альтернативный маршрут через соседние счетчики. Отсюда высокие показатели отказоустойчивости у mesh-сетей.
Датчики умеют передавать показания на модем «умного» счетчика только с использованием радиосигнала по беспроводной сети, чтобы не опоясывать квартиру проводами. Модем же имеет сразу два канала связи, по которым может передавать информацию на УСПД: RF-канал (радиоканал) и PLC-канал (электрическая сеть). Отсюда «гетерогенная» сеть. Можно использовать сразу оба канала или поочередно, чтобы передавать данные или транслировать показания «умных» счетчиков-соседей. Там, где плохо работает радио-канал, используют электричество, там где нет электричества – радио.
В основном, используется радио-канал — информация по нему передается гораздо быстрее и «по воздуху» — никакие провода не нужны. Связь через электропровода отличает очень низкая скорость, поскольку уходит время на качественное распознавание действительно полезной информации – в нашем случае данных показаний счетчиков. Это необходимо, чтобы зря не забивать и без того небыстрый канал неприоритетной информацией типа служебных сообщений устройств (фиксируемая информация о маршруте передаваемой информации, запрос на регистрацию в сети и т.п.).
Зачем же тогда вообще «умным» счетчикам, или модемам в их составе, опция передачи данных по электросети? Особенно, учитывая необходимость в таком случае соединять их между собой проводами?
Механизм передачи данных по электрической сети очень нужен на случай помех. Например, кто-то из жильцов подключит новый Wi-Fi-роутер, который создаст помехи в эфире, так что информация не будет проходить. Или на каком-то участке мы можем столкнуться с физическим препятствием, которое будет глушить радиосигнал – например, очень толстой железобетонной стеной. Запасной же электросетевой канал медленно, но верно передаст данные.
Благодаря большому числу возможных сочетаний маршрутов, наша гетерогенная mesh-сеть умеет «обходить» физические или искусственные «препятствия» в радиоэфире и электросети.
С преимуществами разобрались, но должны же быть и какие-то проблемные места у этой технологии?
Скорее ограничения. Организация сети ячеистой топологии сопряжена с некоторыми алгоритмическими вопросами, не имеющими на данный момент однозначного и универсального математического решения. Наш коллега Алексей Спирков, руководитель отдела наукоемких технологий «АстроСофт», подробно останавливается на них в своей статье. В дополнение к сказанному им, замечу, что, основываясь на распространенных подходах решения данных задач, мы предлагаем собственные варианты их решения, которые хорошо зарекомендовали себя на практике.
А можешь привести хотя бы один, самый интересный пример в формате «проблема-решение» прямо сейчас?
Окей, тогда давай поговорим о таком проблемном вопросе, как арбитраж. В сети mesh устройства-узлы сами должны «договариваться», кто из них в данный момент может подключиться к радиоэфиру. Набор правил и алгоритмов, по которому узлы сети получают доступ к эфиру, называют арбитраж. В нашем решении мы реализовали временной арбитраж. Устройство, которое желает передать данные, слушает эфир, проверяет, что никакое другое устройство поблизости сейчас ничего не передает. Среда передачи свободна — наше устройство ждет какое-то время и начинает передавать данные.
Это очень похоже на Skype-конференцию. Предыдущий спикер замолчал. Следующий немного подождал, убедился, что тот закончил, начал говорить. Иногда, конечно, случается, что участники начинают говорить одновременно или перебивают друг друга, но большую часть времени общение проходит нормально.
Так и тут. В большинстве случаев близлежащие устройства не начинают передавать данные одновременно. Но если вдруг так получилось, то они понимают, что в момент передачи они заглушили сигналы друг друга и ничего передать не получилось. После случившейся неудачи каждое устройство выжидает случайный промежуток времени, отличный от отмеренного перебившему до этого соседу, и снова начинает передачу. Такой механизм позволяет предотвратить повторную одновременную передачу.
То, что ты описываешь, представляет собой ни что иное, как математический алгоритм. Каким образом удалось вживить алгоритмы в рассматриваемую систему «умного» учета?
Набор подобных алгоритмов образует специальный модуль нашей операционной системы МАКС. МАКС внутри «умного» счетчика как раз и решает, среди прочего, вопросы маршрутизации и управления сетью.
Попробую подступиться с еще одной проблемой. Система «умного» учета — это одно из детищ Интернета вещей. Одним из сдерживающих факторов для его активного использования в повседневной жизни является требование энергоэффективности. Как в вашей системе решен этот вопрос?
Совершенно верно. Устройства Интернета вещей должны иметь низкое энергопотребление для нормальной, продолжительной работы. Датчики в нашей системе отвечают озвученному тобой требованию энергоэффективности. Модель используемого датчика достаточно маломощная, внутри стоят две обычные пальчиковые батарейки. Когда к нему приходит запрос, он просыпается, устанавливает связь с модемом и передает необходимые данные. А затем снова переходит в режим сна и находится в этом режиме практически постоянно. Поэтому ему не нужен постоянный источник питания – достаточно этих двух батареек. Их хватает примерно на три года.
Прямо все продумано — не придерёшься!
Еще бы, такая критичная система для целого дома.
Тогда давай я задам последний, но важный вопрос. Можно сказать, что mesh-сеть — это универсальное решение для многоквартирного «умного» дома?
Безусловно! В данном случае мы имеем дело с кучей маленьких датчиков, которые должны передать информацию через большое расстояние, к примеру с двенадцатого этажа на первый. В одиночку не справиться. Какой-то элемент цепочки может выйти из строя. Или на каком-то участке возникнут помехи. На этот случай необходимо иметь возможность передачи данных обходными маршрутами. И электросеть, и радиосвязь чреваты помехами – наша гетерогенная mesh-сеть берет лучшее от обеих по ситуации. Высокая отказоустойчивость делают ее не просто универсальным, а оптимальным решением для «умных» домов, в частности систем «умного» учета.
Остается только согласиться. Спасибо большое за такие иллюстративные примеры и четкие объяснения. Успехов!
Спасибо!