Участие в создании нового окружения для Интернета вещей

Участие в создании нового окружения для Интернета вещей

Клиент поставил своей целью выход на рынок технологий Интернета вещей (Internet Of Things, IoT).

Клиент

Компания, специализирующаяся на разработке программного обеспечения для создания и администрирования баз данных. Она была основана в октябре 1993 года, и ее единственным продуктом на тот момент была система управления базами данных. В настоящий момент компания выпускает решения для администрирования и разработки баз данных и приложений, работающих с базами данных, для следующих платформ: Oracle, Microsoft SQL Server, IBM DB2, Sybase и MySQL. Кроме того, она разрабатывает и продвигает собственную среду разработки.

Продукт

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

Задачи проекта

Клиент обратился к нам с просьбой разработать галерею как можно большего количества IoT-инструментов в рамках вышеупомянутой инфраструктуры: фитнес-браслетов, медицинских измерительных приборов и др. Эта галерея предоставляет конечными пользователям – программистам – продвинутый интерфейс для работы с подключаемыми устройствами. Что, в свою очередь, избавляет разработчиков от необходимости знать все технические детали специализированных протоколов для интерфейсов, наподобие Bluetooth LE или REST.

Проектное решение

Наша команда участвует в разработке программных компонентов широкого спектра IoT-устройств. В рамках данного конкретного проекта, рассчитанного на год, нами должны были быть изучены около сотни устройств различного типа. Работа над каждым устройством состояла из нескольких этапов: технико-экономического обоснования (многих из них не были документированы), создания софтверных компонентов для устройства, а также разработки автоматизированных тестов для этих компонентов. Для каждого устройства было создано по два компонента: один в RAD-Studio, а другой во фреймворке, созданном нами для разработки мобильных приложений на базе платформы PhoneGap.

Главным вызовом проекта стало то, что устройства, поддерживаемые клиентом, имеют не задокументированный программный интерфейс. Поэтому, чтобы узнать, как устройства получают и передают информацию, потребовалось обратное проектирование протоколов. Кроме того, мы создали в рамках проекта дополнительный фреймворк, позволяющий осуществлять разработку для мобильных компаньонов IoT-устройств без использования RAD-Studio. Этот фреймворк создан на платформе PhoneGap.

Выполненные задачи

В ходе проекта было выполнено обратное проектирование протоколов ряда устройств, разработаны их спецификации. На основе этих спецификаций для устройств были разработаны софтверные компоненты. Помимо компонентов для RAD-studio была создана структура для работы устройств IoT на мобильных компаньонах.

Технологии проекта

Технологии устройств: Bluetooth LE, REST

Технологии разработки компонентов: Delphi Pasсal, PhoneGap JavaScript (Adobe Cordova).