Интернет вещей стремительно распространяется. Датчики, сетевые чипы и другие технологии, требуемые для объединения самых разных интернет-устройств, начиная от светильников и умных часов и заканчивая промышленным оборудованием, стоят сегодня совсем недорого.
Эти подключенные к Сети устройства передают информацию о самых разных физических характеристиках (температуре, влажности, частоте пульса, уровне освещенности, скорости вращения), а также более сложные данные, касающиеся технической поддержки, фотографии, аудио- и видеозаписи.
Большинство аналитиков согласны с тем, что масштабы Интернета вещей в перспективе станут огромными. По оценкам группы Acquity Group (входящей в состав компании Accenture), к 2019 году оснастить свои дома подключенными технологиями планируют две трети потребителей; почти половина намерена приобретать носимые устройства. Как прогнозируют в Gartner, к 2020 году общее число подключенных потребительских, деловых и промышленных «вещей» достигнет 26 миллиардов. Это в 30 раз больше, чем в 2009 году, когда их насчитывалось около 900 миллионов. (По мнению Gartner, реклама Интернета вещей сегодня достигла своего пика.)
Как прогнозируют в Gartner, к 2020 году общее число подключенных потребительских, деловых и промышленных «вещей» достигнет 26 миллиардов.
«Для практического применения “вещи”, выполняющие сбор и передачу данных, должны быть подключены к системам автоматизации, — указал аналитик Forrester Джеффри Хэммонд. — Эти программные системы осуществляют интеллектуальное управление “вещами” и сетями, которые те используют, и отвечают за упорядочение и хранение больших объемов собранных данных, а также за их обработку перед выдачей окончательного представления, помогающего решать какие-то полезные задачи».
Проектирование приложений для Интернета вещей
Для разработчиков порядок проектирования очень важен. Каков наилучший способ создания приложений, способных выполнять самые разные функции, от дистанционного управления домашними устройствами и сбора с датчиков метеоданных для формирования прогноза погоды до информирования производителя авиационных двигателей о том, что один из его продуктов нуждается в техническом обслуживании? Какими навыками нужно для этого обладать? С чего следует начать?
Отправной точкой для приложений Интернета вещей являются сами «вещи». У этих устройств обычно нет экрана (хотя бывают и исключения), они оснащены маломощным процессором, работают под управлением встроенной операционной системы и поддерживают связь (как правило, беспроводную) с другим оборудованием посредством одного или нескольких телекоммуникационных протоколов. «Вещи» можно подключать непосредственно к Интернету, к соседним «вещам» или к устройству, выполняющему роль интернет-шлюза, — внешне оно обычно выглядит, как пластиковая коробочка с мигающими лампочками.
На следующем уровне — уровне приема данных — находятся ПО и инфраструктура, развернутые в корпоративном ЦОД или в облаке. Они принимают потоки данных, поступающие от «вещей», и упорядочивают их. ПО, работающее на уровне приема данных, обычно отвечает также за управление «вещами» и обновление при необходимости их прошивки.
Далее располагается уровень аналитики, на котором обрабатываются упорядоченные данные. И в самом конце находится уровень конечных пользователей — программа, с которой эти пользователи взаимодействуют. Это может быть корпоративное ПО, веб-приложение или мобильное приложение.
«При создании приложений Интернета вещей разработчики чаще всего имеют дело с двумя последними уровнями, — отметил главный аналитик компании Forrester Фрэнк Джиллетт. — Маловероятно, что разработчику прикладных программ понадобятся инструменты для управления оконечными устройствами или шлюзами, а также средства, которые будут функционировать на уровне приема данных».
К 2019 году оснастить свои дома подключенными технологиями планируют две трети потребителей; почти половина намерена приобретать носимые устройства.
Поэтому имеет смысл заниматься созданием приложений на базе уже готовых платформ Интернета вещей. Эти платформы обычно уже включают в себя уровень приема, на котором осуществляется последовательное архивирование входящих данных, а также уровень аналитики, средства тонкой настройки, функции активации и управления, шину передачи сообщений в реальном времени и API для взаимодействия платформы с построенными на ее базе приложениями.
Сегодня стартапы, например Xively, Mnubo, Bug Labs и ThingWorx, предлагают уже много таких платформ, оснащенных средствами взаимодействия с широким спектром «вещей», выпускаемых большим количеством производителей.
Платформы для Интернета вещей выпускают и крупные производители. Компания Microsoft предлагает решение Intelligent Systems Service, а SAP — Internet of Things Solutions.
В перспективе какие-то поставщики платформ, очевидно, будут приобретены крупными игроками — компанией Oracle и другими известными разработчиками корпоративного программного обеспечения, считают аналитики. При этом многие специализированные платформы будут использоваться в конкретных отраслевых сценариях.
Стоит ли создавать платформу с нуля?
Компания OnFarm использует облачную платформу ThingWorx для разработки собственного веб-приложения. Использование ThingWorx помогло OnFarm существенно сократить объемы программирования и в короткие сроки создать веб-панели, подключаемые к источникам данных через API ThingWorx.
Приложение это получает данные, собираемые множеством подключенных устройств (например, датчиками влажности почвы), и интегрирует их с данными из других источников (в частности, с информацией метеослужб). Обработанные данные предоставляются клиентам — это в первую очередь сельскохозяйственные предприятия — в виде настроенных информационных панелей.
В настоящее время OnFarm считывает данные с более чем пяти тысяч устройств, предоставляя своим клиентам более семи миллионов порций данных в месяц. И этот объем ежегодно увеличивается на 30%. Другим преимуществом выбранной платформы стала ее масштабируемость.
Поначалу генеральный директор OnFarm Ланс Донни подумывал о создании платформы для Интернета вещей с нуля, но такая идея была быстро отвергнута из-за большой конкуренции на рынке. Тогда компания наняла программиста, он написал на JavaScript интерфейс, позволяющий новым датчикам поддерживать взаимодействие с платформой ThingWorx способом, предусмотренным их производителями. Код этот находится непосредственно в ThingWorx. «К нам начали обращаться клиенты, желающие использовать в нашем решении какой-то конкретный датчик, — отметил Донни. — Выполняя их просьбу, мы связались с поставщиком, получили у него API и разработали интерфейс для связи ThingWorx с новыми датчиками».
Компания привлекла также четырех разработчиков, которые занимались созданием пользовательского интерфейса веб-приложения средствами Bootstrap, AngularJS и JavaScript. Интерфейс этот взаимодействует с ThingWorx через API RESTful. «Весь процесс был организован очень рационально, благодаря чему нам удалось сосредоточить основные усилия на вопросах производительности и гибкости при обращении к данным, их использовании и отображении на экране», — подчеркнул Донни.
Приложения для Интернета вещей стали создаваться относительно недавно, и, если Интернет вещей будет развиваться так, как ожидается, поставщикам приложений, в том числе OnFarm, в ближайшие годы придется очень быстро увеличивать масштабы своих приложений.
- Paul Rubens. How to Develop Applications for the Internet of Things. CIO. Nov 5, 2014