Содержание


Создайте собственное электронное устройство индивидуального пользования с помощью IBM IoT Foundation и IBM Bluemix

Подключите индивидуальное электронное устройство через Bluetooth к мобильному приложению, чтобы передавать сенсорные данные в облако IBM IoT Foundation

Comments

В процессе эволюции Интернета вещей (Internet of Things, IoT) индивидуальные электронные устройства представляют собой один из наиболее стремительно развивающихся сегментов. Вычислительные технологии для индивидуальных устройств могут быть облечены в любые формы: это могут быть наручные часы, браслеты для фитнеса, очки и даже предметы одежды. Мы живем в удивительное время, когда индивидуальные электронные устройства миниатюрных размеров обеспечивают глубочайшее проникновение технологий в нашу повседневную жизнь, что ранее было недостижимо ни с помощью компьютеров, ни с помощью смартфонов.

Потенциальная сфера применения и способы использования индивидуальных электронных устройств ограничены только воображением разработчика. В настоящем руководстве описан основной процесс подключения индивидуального электронного устройства через Bluetooth к гибридному мобильному приложению и отправка сенсорных данных в облако IBM Internet of Things Foundation (IoT Foundation). Когда сенсорные данные поступают в IoT Foundation, IBM Bluemix позволяет генерировать различные потоки, в зависимости от полученных данных.

Базовый метод

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

Рис 1. Архитектура "индивидуальное электронное устройство - облако"
Diagram of an architecture for wearable-cloud communication
Diagram of an architecture for wearable-cloud communication

Выбор аппаратных средств для индивидуальных электронных устройств

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

Знакомство с WICED Sense Development Kit

С точки зрения стоимости и возможности самостоятельной реализации (DiY), продукт WICED Sense Development Kit от Broadcom является доступным по цене стартовым комплектом для разработчика, стремящегося к успеху в условиях постоянно расширяющегося Интернета вещей (IoT). На этом комплекте могут остановить свой выбор инженеры, разработчики-любители, домашние пользователи и предприниматели, обдумывающие потенциальные варианты использования индивидуальных электронных устройств.

Аббревиатура WICED (произносится как английское слово wicked) означает Wireless Internet Connectivity for Embedded Devices - Беспроводное Интернет-подключение встроенных устройств. Комплект состоит из платы Bluetooth Low Energy (BLE) и пяти сенсорных датчиков (eCompass, давление, влажность, температура, гироскоп, акселерометр) и работает от миниатюрного элемента питания 2032. Плата, датчики и элемент питания помещены в прочный пластиковый корпус (см. рис. 2). Эти характеристики, в сочетании с миниатюрными размерами, делают комплект WICED Sense крайне привлекательным приспособлением для экспериментов. В целях настоящего руководства, WICED Sense используется как индивидуальное электронное устройство. Далее вы научитесь через специальный интерфейс подключать устройство WICED Sense к гибридному мобильному приложению.

Рис. 2. WICED Sense Development Kit от Broadcom
Photo of the WICED Sense Development Kit
Photo of the WICED Sense Development Kit

Что вам потребуется?

Для продолжения работы с настоящим руководством вам потребуется:

  • Broadcom WICED Sense Development Kit. Можно воспользоваться и другими миниатюрными сенсорными устройствами, но в данном руководстве речь идет о комплекте WICED Sense.
  • Apache Cordova версии 3.6.3 или последующих.
  • Смарт-устройство (смартфон или планшет) с поддержкой функций BLE. В настоящем руководстве используется планшет с ОС Android 4.4 (с поддержкой функций BLE).
  • Учетная запись IBM Bluemix для работы с IBM IoT Foundation и Node-Red. Доступна бесплатная пробная версия Bluemix.

В разделе Загрузка можно найти исходный код настоящего руководства.

Подключение индивидуального электронного устройства для взаимодействия с гибридным приложением

Во-первых, для считывания данных, получаемых с помощью датчиков, установленных на индивидуальном электронном устройстве WICED Sense, необходимо с помощью Apache Cordova создать гибридное приложение. Это гибридное приложение запускается на смарт-устройстве с поддержкой функций BLE и подключается к комплекту WICED Sense. В результате связывания устройств гибридное приложение получает возможность считывать все показания датчиков устройства WICED Sense и передавать их в облачную среду IoT Foundation.

Загрузите исходный код гибридного приложения и извлеките содержимое сжатого файла в папку на свое усмотрение (например, WICED-Sense-IoT). Предоставляются все необходимые артефакты, за исключением двух файлов: easy-ble.js и mqttws31.js; загрузите их сейчас по приведенным здесь ссылкам. Поместите файлы easy-ble.js и mqttws31.js в папку lib приложения.

Гибридное приложение состоит из следующих файлов и папок:

  • index.html: Главный HTML-файл приложения. Он управляет загрузкой других файлов библиотек JavaScript и обслуживает пользовательский интерфейс (UI).
  • common.css: Содержит в себе всю разметку CSS, необходимую приложению.
  • lib/easy-ble.js: Библиотека JavaScript, предназначенная для упрощения взаимодействия с устройствами BLE. Предоставлена Evothings.
  • lib/mqttws31.js: Библиотека JavaScript, позволяющая клиенту использовать протокол MQTT V3.1 для соединения с сервером обмена сообщениями с поддержкой MQTT. Он используется для подключения к IBM IoT Foundation.
  • lib/WICED-Sense.js: Библиотека JavaScript для взаимодействия с комплектом WICED Sense.
  • lib/iotFoundation.js: Библиотека JavaScript, упрощающая взаимодействие с протоколом MQTT и подключение к IBM IoT Foundation.

Прежде чем приступить к индивидуальной настройке гибридного приложения, выполните вход в IBM Bluemix, чтобы зарегистрировать новое устройство WICED Sense. Таким образом, после связывания устройства с гибридным приложением WICED Sense получает возможность передачи сенсорных данных в облачную среду.

Вход в IBM Bluemix

Откройте Bluemix и создайте бесплатную учетную запись для пробного пользования, если у вас еще нет таковой. Выполните вход в Bluemix. Теперь создайте новое приложение Node-RED, чтобы впоследствии настроить службу IoT Foundation:

  1. На панели управления Bluemix выберите действие CREATE AN APP (СОЗДАТЬ ПРИЛОЖЕНИЕ) , а затем - тип WEB .
  2. Выберите пункт Просмотр образцов приложений, нажмите ИЗУЧИТЬ ОБРАЗЦЫ (EXPLORE SAMPLES) и выберите Node-RED Starter в категории Boilerplates.
  3. В окне Создать приложение справа введите уникальное имя приложения (например, developerWorks-App) и нажмите CREATE (СОЗДАТЬ).
  4. Теперь приложение Node-RED в вашем распоряжении. На панели управления выберите действие ADD A SERVICE (ДОБАВИТЬ СЛУЖБУ).
  5. С помощью функции прокрутки перейдите ниже, к пункту Интернет вещей и щелкните на нем, чтобы добавить службу.
  6. В окне Add Service (Добавить службу) справа обязательно выберите свое приложение Node-RED в поле Приложение: (App:). В поле Выбранный план можно указать значение Бесплатный (Free) . Выберите CREATE (СОЗДАТЬ).
  7. Если появится приглашение обновить приложение, нажмите кнопку ОБНОВИТЬ (RESTAGE).

Панель управления приложением должна выглядеть так, как показано на рис. 3.

Рис. 3. Сводная панель Bluemix
Screen capture of newly created app in Bluemix dashboard
Screen capture of newly created app in Bluemix dashboard

Настройка комплекта WICED Sense в IoT Foundation

С помощью службы Интернет вещей (Internet of Things), привязанной к приложению Bluemix, можно активировать потоки данных с устройства. Но вначале требуется зарегистритровать устройство WICED Sense device. На момент составления настоящего руководства, устройство WICED Sense не является официальным "предписанием" в IoT Foundation, поэтому придется импровизировать и добавить его самостоятельно:

  1. На панели управления Bluemix выберите службу Интернет вещей , затем нажмите кнопку LAUNCH (ЗАПУСТИТЬ).
  2. На панели управления IBM Internet of Things Foundation щелкните на ссылке Добавить устройство .
  3. В форме Регистрации устройства задан Тип устройства Создать тип устройства. В текстовом поле, расположенном непосредственно под полем Тип устройства, введите WICED-Sense.
  4. В текстовом поле ИД устройства можно ввести любой уникальный идентификатор (например, 8675309). Этот идентификатор потребуется вам в процессе дальнейшей работы, поэтому обязательно запишите его. Выберите Продолжить.
  5. На следующей странице представлены важные идентификационные данные только что зарегистрированного устройства WICED Sense. Скопируйте их в текстовый файл для сохранности и нажмите кнопку Готово.

Возврат к гибридному приложению

Итак, на данный момент вы:

  • Создали приложение Bluemix Node-RED
  • Связали приложение Node-RED со службой IoT Foundation
  • Зарегистрировали комплект WICED Sense в IoT Foundation

Теперь можно вернуться к работе с гибридным приложением. В первую очередь необходимо включить несколько сгенерированных значений из IoT Foundation в гибридное приложение, чтобы обеспечить обмен данными между ними:

  1. В локальной файловой системе перейдите к папке, в которую были извлечены исходные файлы гибридного приложения.
  2. Откройте файл lib/iotFoundation.js в текстовом редакторе.
  3. Приблизительно в строке 17 найдите комментарий, требующий ввести идентификационные данные, полученные от IoT Foundation после регистрации устройства WICED Sense.
  4. Введите значения для: CLIENT_ID, ORG_ID, первой части IOT_URL, а также IOT_PASS.
  5. Сохраните измененный код.

Создание приложения Cordova

Заключительная задача, связанная со считыванием и обработкой сенсорных данных индивидуального электронного устройства WICED Sense, состоит в компоновке гибридного приложения и его развертывания и тестирования на смарт-устройстве. С помощью Apache Cordova можно решать самые разнообразные задачи. В целях настоящего руководства, мы рассмотрим только задачу компоновки приложения.

После установки Apache Cordova откройте командное окно и выполните следующие действия:

  1. Введите cordova create project-folder app-identifier app-name (например: cordova create dw-project com.developerWorks.wiced WicedSenseApp).
  2. Перейдите в каталог проекта:
    cd dw-project
  3. В папке проекта удалите файлы из каталога www.
  4. Переместите или скопируйте все файлы проекта гибридного приложения в каталог www.
  5. Добавьте модуль Evothings BLE:
    cordova plugin add com.evothings.ble
  6. Добавьте платформу, которую необходимо создать. Для этого введите:
    cordova platform add ios
    cordova build ios

    или
    cordova platform add android
    Type: cordova build android
  7. Разверните и протестируйте код на соответствующем устройстве.

Теперь в вашем распоряжении есть гибридное приложение, работающее на смарт-устройстве с поддержкой BLE и подключаемое к комплекту WICED Sense. При запуске гибридного приложения на смарт-устройстве, окно приложения выглядит так, как показано на рис. 4.

Рис. 4. Гибридное приложение
Screen capture of the running hybrid app
Screen capture of the running hybrid app

Тестирование гибридного приложения

После запуска гибридного приложения можно запустить миниатюрное устройство WICED Sense. После того, как смарт-устройством будет обнаружен комплект WICED Sense, в поле Состояние приложения отображается значение Датчики подключены (Sensors online). Кроме того, гибридное приложение устанавливает соединение с IBM IoT Foundation путем подключения смарт-устройства к сети Интернет. И наконец, сенсорные данные WICED Sense отображаются на экране в виде последовательности чисел. При перемещении миниустройства WICED Sense эти числа меняются.

В гибридном приложении предусмотрен код, передающий событие движения в IoT Foundation, как только приложение получит сенсорные данные о перемещении миниатюрного устройства WICED Sense. Движением считается постоянное перемещение устройства WICED Sense в течение шести секунд и более. Проверьте это, установив элемент питания в миниустройство WICED Sense. После того, как устройство будет обнаружено гибридным приложением, просто покрутите устройство WICED Sense в руках в течение 6-7 секунд. В окне приложения значение состояния Вы движетесь? изменится с false на true.

Как только значение индикатора движения изменится на true, в облачную среду IoT Foundation будет отправлено событие движения. Теперь держите миниатюрное устройство WICED Sense неподвижно в течение тех же 6 или 7 секунд и наблюдайте за значением состояния Вы движетесь? , которое будет изменено на false. Как только значение индикатора движения изменится на false, в облачную среду IoT Foundation будет отправлено новое событие. Повторите эти действия, тестируя отправку событий в IoT Foundation. Для того чтобы просмотреть эти события, с помощью панели управления IBM Bluemix откройте панель управления устройствами IoT Foundation (см. рис. 5).

Рис. 5. Представление IoT Foundation Devices
Screen capture of the IoT Foundation devices view
Screen capture of the IoT Foundation devices view

Дальнейшие действия

Теперь, когда сенсорные данные уже передаются в IoT Foundation, можно создать приложение Node-RED для выполнения действий над поступающими данными о движении. Например, можно настроить отправку SMS-предупреждения, запись информации в базу данных или инициировать любые другие действия в любом количестве.

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


Ресурсы для скачивания


Похожие темы

  • WICED Sense Development Kit: Дополнительную информацию о комплекте WICED Sense можно получить, посетив веб-сайт Broadcom.
  • IBM Internet of Things Foundation: Доступ к IoT Foundation можно получить через Bluemix и IBM Marketplace. Предоставляется 30-дневный период бесплатного пробного пользования.
  • Evothings: Evothings это инструмент для разработки и активации мобильных приложений для IoT, представляющий собой комплект разработки с открытым исходным кодом, предназначенный для создания приложений, взаимодействующих со службами устройств более низкого уровня.
  • Apache Cordova: Cordova - это платформа с открытым исходным кодом, предназначенная для разработки встроенных мобильных приложений, использующих HTML, CSS и JavaScript.
  • Служба "Интернета вещей": Простой, но высокоэффективный способ доступа устройств и данных IoT к приложениям.
  • Начало работы с Internet of Things Foundation: Создание простых, но в то же время высокоэфективных приложений для доступа к устройствам и данным IoT с помощью IBM Internet of Things Foundation (IoTF) в Bluemix.
  • Node-RED: Узнайте больше о Node-RED - инструменте, позволяющем связать воедино аппаратные средства, API и онлайн-службы.
  • Создание приложений с помощью Node-RED для Bluemix: Реализуйте приложение Node-RED, обеспечивающее обработку в режиме реального времени событий, отправляемых с устройств в среде IoT. Расширьте возможности такого приложения, настроив реагирование на события реального времени путем передачи команд на устройства.
  • Изучение MQTT и службы Internet of Things в IBM Bluemix (Чун Бин Тан (Chun Bin Tang), developerWorks, февраль 2015 г.): Посмотрите, как работает MQTT. Как легко создавать приложения с помощью службы IoT и образца Java-приложения или редактора Node-RED.
  • Internet of Things (IoT): Дополнительная информация об IoT на сайте developerWorks.

Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Большие данные и аналитика, Мобильные приложения, Облачные вычисления
ArticleID=1014335
ArticleTitle=Создайте собственное электронное устройство индивидуального пользования с помощью IBM IoT Foundation и IBM Bluemix
publish-date=10142015