Зачем охранной системе собственная ОС? В Ajax Systems рассказали о создании системы Hub OS Malevich

9141
8

Охранные системы, обеспечивающие безопасность дома или офиса, сами должны быть надежны и защищены. Поэтому, украинский hardware-стартап Ajax Systems, работающий в этой сфере, старается разрабатывать все аспекты продукта самостоятельно.

Чтобы повысить энергоэффективность и дальность передачи данных устройствами, Ajax разработали собственный протокол Jeweller. Чтобы обеспечить надежность и масштабируемость системы, компании пришлось разработать собственную ОС для хаба, к которому подключаются все датчики и устройства. В Ajax Systems рассказали, почему решили делать Hub OS Malevich с нуля и не опираться на готовые решения.

Продуктовая линейка Ajax 2017 года с выделенным хабом

Год назад мы взялись за непростую задачу — сохранить лучшее от существующей операционной системы Ajax Hub, устранить слабые места и заложить надежный фундамент для дальнейшего развития системы безопасности Ajax. Хаб — мозговой центр, он обязан быть самым совершенным и надежным звеном цепи. Полгода порядка 20 инженеров работали над полностью новой ОС. Еще полгода потребовалось для тестирования с реальными клиентами, сбора отзывов и доработок. С 7 августа компания начинает постепенное обновление Ajax Hub до новой Hub OS Malevich, которая привнесет в устройство 11 функциональных изменений.

Оказавшись в тупике, не бойтесь повернуть назад

Три года назад мы решили создать интеллектуальную централь для управления системой безопасности — Ajax Hub. Написав техническое задание по устройству, стали думать, на каком стеке технологий его делать. Было три варианта — просто программа на С, операционная система реального времени или Linux.

Здесь и далее изображения Ajax Systems

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

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

Потому выбрали операционную систему реального времени (RTOS), получив возможность создать многофункциональное и одновременно надежное приложение. Системы реального времени используются в лифтах, автомобильных тормозах, баллистических ракетах. Они максимально надежны, ведь если в строго определенное время не сработает механизм, после это действие уже не имеет смысла — случается катастрофа. В этом ключевое отличие RTOS от Linux, где операции дожидаются в очереди исполнения. И это одна из причин, почему Linux не используется в профессиональных системах безопасности.

Разработка длилась полтора года. Мы создали навороченную ОС, поддерживающую продвинутые протоколы связи с облаком по нескольким каналам, управляющую сетью из сотни радиодатчиков, способную одновременно отправлять тревожные сообщения по IP–каналам, звонить и слать SMS, поддерживающую устройства автоматизации. Обладающую всеми необходимыми профессиональной охранной системе возможностями и защищенную от атак. Нам удалось решить изначальную задачу — дать обширную функциональность и обеспечить высокую надежность.

Когда хаб пошел в релиз, доля экспорта в продажах компании составляла 0%. Сейчас он составляет 60-70%. При этом и украинский рынок не стоит на месте — мы растем в два-три раза год к году. Поэтому с появлением все новых и новых клиентов росла волна запросов о новых фичах.

Взаимосвязи между устройствами в Hub OS Malevich. В старой версии охранные фирмы не имели прямой связи с хабом

Охранные компании просили прямое подключение к хабу — в обход нашего облака. Норвежские партнеры хотели, чтобы все пожарные датчики при обнаружении возгорания включали встроенные сирены одновременно — со скоростью проводных пожарных сигнализаций. Немецкий рынок требовал соответствия продукта требованиям европейских стандартов на уровне Grade 2 и поддержки системой безопасности клавиатур. В Малайзии и Дании пользователи рассчитывали на обширные возможности домашней автоматизации. Для Италии крайне важной была отдельная роль для инсталляторов.

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

Пришлось решать, каким образом дальше строить систему. Уходить на Linux? Постепенно дорабатывать нашу ОС? Требовалось сохранить надежность и стабильность операционной системы реального времени, но при этому получить масштабируемость на уровне высокоуровневых ОС типа Linux. Ни одно из готовых решений нам снова не подходило, пришлось придумать свое.

Новый «Малевич»

В основу новой ОС легла идея упрощения. Мы поставили перед собой условие: добавление фич не должно усложнять систему и снижать скорость разработки. Чтобы не сбиться с намеченного курса, дали проекту кодовое имя «Малевич». В честь известного киевского художника Казимира Малевича, чья картина «Черный квадрат» — яркий пример гениальной идеи, в основе которой лежит бесконечная простота.

Для создания Hub OS Malevich пришлось изменить все: архитектуру, подход к программированию, стандарты оформления кода, организацию работы, среды разработки. Хотя операционная система продолжила ставить во главу угла время выполнения процесса, у нее появились черты Linux. Мы реализовали схожий механизм распределения процессорного времени, в результате чего процессор хаба даже в ресурсозатратных задачах загружен максимум на 20%.

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

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

Оставить комментарий

Комментарии | 8

  • Вже прилетіло оновлення 🙂

  • Это конечно все хорошо, но постановку на пульт ГСО обещали еще в начале года, с начала года каждый месяц звонил в поддержку где меня кормили завтраками. В июне и звонить перестал. Также обещали что клавиатура, которую выпустят, сможет работать при минусовых температурах, например в неотапливаемом тамбуре частного дома, но после релиза оказалось что минимальная температура ноль градусов. В итоге по двум важным для меня «ожиданиям» проморочили голову

    • Да, есть задержки. ГСО ожидали версию прошивки с прямым коннектом на пульт — Hub OS Malevich, мы с ними уже запустили пилоты в некоторых городах. Осенью вопрос закроем. На счет клавиатуры — уточните, пожалуйста, где/кто обещал работу клавиатуры в неотапливаемых помещениях?

      • Клавиатуру для неотапливаемых помещений обещал менеджер Secur.ua, что со слов менеджера, является чуть ли не одной компанией с AJAX. К сожалению, имя менеджера не помню, т.к. дело было в начале года. На мой вопрос насчет возможности работы клавиатуры при минусовых температурах, менеджер ответил что конечно такая возможность будет, единственный нюанс что ресурс батареи при минусовых температурах будет ниже. Это почти дословная цитата. Соответственно, я очень разочаровался когда увидел технические спецификации клавиатуры, и цифру ноль в поле «минимальная температура»

        • На счет одной компании — не совсем так. На самом деле менеджер вас не обманул — устройство будет работать, просто быстрее высадится заряд батареи. Полную работоспособность мы гарантируем от 0 градусов.

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

  • Ребята, не порвите жопу пытаясь выйти на все рынки сразу :).
    Лучше закрепитесь на нескольких и там развивайтесь.
    А то итальянцам одно нужно, украинцам другое, русским третье и так до бесконечности.

    В США, например, выработался один стандарт и его везде практически реализуют. Красные шкафы с кучей плат плат внутри, которые отвечают за разные модули.
    Стоит жутко дорого и много, но ничего поделать не могут — такие требования пожарной инспекции :).

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

Поиск