Время построения, скорость сети и маршрутизации: как мы улучшили свою mesh-сеть и немного про нейросети +12


На этом ресурсе регулярно пишут о mesh-сетях. Мы хотим рассказать, как используем их в своем проекте для создания адаптивной системы автоматизации помещений.Технология самоорганизующихся сетей позволяет нам не только оперативно разворачивать систему, но и добиваться высоких показателей по её отказоустойчивости и скорости работы. Свое решение мы успешно протестировали на реальном объекте с ёмкостью сети в 120 устройств.

Зачем нам понадобилась mesh-сеть


С момента появления концепции «умного дома» головное устройство считалось его «сердцем» и «мозгом». Но постепенно хабы перестают быть необходимыми и скоро вовсе уйдут в прошлое. Данную тенденцию подтверждают и крупные игроки вроде Google и Amazon. Google вот уже несколько лет предлагает ячеистые маршрутизаторы, а Amazon не так давно купила компанию Eero, чтобы усилить свои позиции на рынке умных домов.

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

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

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

Что такое «умный дом» (на наш взгляд)


Большинство решений, представленных сегодня на рынке, — это просто набор датчиков и исполнительных устройств, которые ограничены в возможностях. Как правило, это дистанционный пульт в виде мобильного приложения, отдельного планшета или умной колонки, которые позволяют настраивать температуру, включать-выключать бытовую технику, регулировать освещение и настраивать примитивные сценарии автономной работы. Давайте признаем, что «умного» в этом мало, это просто очередная игрушка.

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

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

Ещё одна особенность нашего решения: перед тем, как принять решение, система собирает данные сразу из нескольких источников (например, с камеры, датчика качества воздуха, датчика присутствия и т.д.). Это стало возможным благодаря тому, что все устройства системы самодостаточны и способны обмениваться информацией между собой напрямую. Что позволило нам в значительной мере сократить вероятность некорректной реализации действий в рамках заданного сценария.

Вся информация обрабатывается внутри системы (а не сервером или центральным хабом) распределённым способом. Что имеется в виду? Если одному из устройств с автономным питанием необходимо произвести сложные и энергозатратные вычисления, то система перенаправит эту задачу ближайшему устройству, имеющему постоянное сетевое питание. Такой подход обеспечивает приемлемый срок автономной работы для устройств с автономным питанием и ускоряет процесс принятия решения.

Отдельно хотелось бы отметить простоту процедуры подключения. Для этого не надо ничего настраивать, сканировать QR-коды и прочее. Достаточно приложить телефон с приложением к устройству — и все: оно уже в сети, получило основные настройки и готово к работе!

Ключевые особенности нашей mesh-сети


Изначально мы хотели использовать доступное решение ESP-MESH компании Espressif. Но проанализировав его, поняли, что оно нам не вполне подходит. Поэтому пришлось изобретать свое. Наши ключевые преимущества— время построения, автоматическая смена канала при его загрузке, скорость сети и маршрутизации.

Самовосстановление — это автоматическое обнаружение и устранение сбоев в сети. Если вдруг какое-то устройство вышло из строя и сигнал утерян, сеть из оставшихся устройств перестроится самостоятельно. Сборка сети с момента включения занимает до 15 секунд, а на перестроение необходимо не более 6 секунд. Поддержка между нодами при переадресации — менее 10 миллисекунд. И это реальные цифры, полученные в ходе тестирования на одном из наших крупных объектов. В целом же — это средний показатель для военных объектов и избыточный — в нашем сегменте. Можно сказать, у нас гигантский запас!

Еще один важный параметр — маршрутизация, как сигнал передается от одного устройства к другому. Обычно все элементы аналогичных решений работают на тех же частотах, что и Wi-Fi — 2,4 Гц. Протоколы используют алгоритмы с учетом состояния эфирных каналов. Наше решение позволяет менять канал без влияния на производительность сети. Например, на объекте все устройства по периметру работают на 13-м канале. Но в центре помещения на этом канале возникли помехи. В таком случае устройство, которое передает сигнал, автоматически сменит канал и обойдет проблемную зону. Остальные устройства, оснащенные нашим модулем, организуются между собой и выберут оптимальные частоты.

Чтобы достичь высокой скорости маршрутизации, мы оптимизировали все программное обеспечение под аппаратную часть. Под каждый процессор и сопроцессор писали код на Ассемблере. Это позволило понизить энергопотребление и увеличить скорость работы сети в 15 раз.

Теоретическая максимальная емкость нашей сети огромна. Очевидно, что на практике её мы не сможем проверить. Во время тестов мы подключали к сети более 300 устройств, и система работала стабильно. То есть наше решение позволит легко покрыть торговый центр и для этого не придется штробить стены, прокладывать дополнительную проводку, долго и мучительно настраивать сеть. Достаточно установить наши устройства, где это необходимо. Даже если это будет на передвижном объекте, они всегда будут в сети.

Для сохранности пользовательских данных мы используем двойное шифрование, которое базируется на протоколе AES, признанном одним из самых надежных. Трафик туннелируется между сервером и устройством или между парой устройств. Это исключает возможность получения доступа к системе посредством взлома WI-FI сети.

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

Пример внедрения нашего решения


Наша команда осуществила масштабный проект по модернизации освещения ледового дворца «Химик» в г.Новополоцк. Там все осветительное оборудование (в количестве 120 единиц), выполнено с функцией дистанционного управления интенсивностью светового потока и удаленного включения/выключения с доступом через сеть Wi-Fi и Bluetooth.

Также возможна настройка автономных сценариев работы. Например, в дежурном режиме уровень освещенности, в целях экономии электроэнергии, не должен превышать 100 люкс. Во время тренировок — 600. А во время хоккейного матча с телетрансляцией этот показатель должен составлять не менее 1200 люкс. Для установки системы не потребовалось прокладывать дополнительную проводку, изменять конфигурацию сети и прочих затрат. Архитектура системы полностью построена на основе нашей mesh-сети. Достаточно было установить новые светодиодные светильники с блоками управления.

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

Зачем нам нужны нейросети и как мы их обучаем


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

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

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

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

Планы по внедрению технического зрения


К концу года мы планируем частичный релиз линейки устройств для нашей адаптивной системы автоматизации помещений. В него войдет практически все, что перечислено выше, за исключением видеокамер.

Видеокамера с элементами технического зрения находится сейчас в разработке. Видеоданные мы планируем передавать сразу с нескольких камер. Здесь также стараемся внедрить новаторский подход. Наше решение использует две нейросети для обнаружения и сопровождения людей в помещении (решается задача мультитрекинга) в режиме реального времени с применением технологии CUDA. Для сопровождения предложена и обучена модель нейросети, которая по результатам тестов превосходит по четырем основным параметрам DeepSort, который показал наилучшие результаты в соревновании MOT16, в рамках MOTChallenge.

Известно, что проектирование моделей нейросетей требует значительных временных ресурсов на разработку, также необходимо проведение множества экспериментов.Таким образом, система не только знает количество человек в помещении, но и обеспечивает их трекинг, который устойчиво работает даже в ситуации, когда люди выходят из кадра, а затем возвращаются. Наша нейросеть уже распознает людей по 128 признакам и определяет их по системе «свой/чужой». На сегодняшний день, перспективным является реализация работ по адаптации технологии сопровождения людей по видео последовательностям, полученным с разных камер внутри помещения. Со временем мы планируем добавить определение нестандартных паттернов поведения (например, падение или драка) и обнаружение пламени или дыма. Наработки в этих областях уже имеются.




К сожалению, не доступен сервер mySQL