Cloud Computing

20 jul, 2016

Construa seu próprio dispositivo wearable com IBM IoT Foundation e IBM Bluemix

Publicidade

Com a evolução da Internet of Things (IoT), os portáteis são um dos segmentos com crescimento mais acelerado. A computação de portáteis pode assumir muitas formas, como relógios, pulseiras de fitness, óculos e até mesmo roupas. Estamos vivendo um momento fascinante, em que os portáteis podem permitir que a tecnologia entre nas nossas vidas de um modo que antes os dispositivos e os smartphones maiores não conseguiam.

Os usos e as aplicações potenciais dos dispositivos wearable limitam-se unicamente pela imaginação do designer. Este artigo demonstra o processo básico de conectar um kit de dispositivo wearable ativado por Bluetooth a um aplicativo móvel híbrido e enviar dados de sensores à nuvem IBM Internet of Things Foundation (IoT Foundation). Quando os dados do sensor chegam ao IoT Foundation, o IBM Bluemix pode ser usado para acionar vários fluxos, com base nos dados de sensores coletados.

A abordagem básica

A Figura 1 mostra uma abordagem de arquitetura típica que pode ser usada para projetar um wearable que se comunique com a nuvem. Os portáteis de rastreamento têm diversos recursos para rastrear e relatar atividades individuais – geralmente usando a comunicação com um dispositivo do tipo smartphone ou tablet para exibir status e relatar dados. Conforme a tecnologia e o mercado de dispositivos wearable continuarem a crescer, também continuará a necessidade de transmitir esses dados a outros serviços. Essa abordagem de arquitetura representa apenas um entre vários métodos que podem ser usados para levar os dados de sensores dos portáteis à nuvem para processamento.

Figura 1. Arquitetura de wearable para nuvem

image001

Seleção de hardware do wearable

O atual mercado de consumo de wearable está florescendo com diferentes tipos de dispositivo. Geralmente, a abordagem de comunicação, com baixo uso de energia, de um dispositivo wearable para um dispositivo inteligente (como um smartphone ou tablet) oferece a precisão necessária para detectar os vários tipos de atividades que um usuário pode realizar diariamente. A qualidade e a precisão da coleta de dados do dispositivo dependem muito do número e da classe de sensores incluídos no dispositivo. Essa dependência apresenta uma questão de balanceamento complicada aos desenvolvedores de wearable, que precisam balancear o fator de forma, o processamento, a vida útil da bateria e as interfaces atraentes com o usuário.

Apresentando o WICED Sense Development Kit

De uma perspectiva de baixo custo e de “faça você mesmo” (DiY), o WICED Sense Development Kit da Broadcom é um ponto de entrada financeiramente suportável para o mundo de IoT cada vez maior. Esse kit é uma seleção de dispositivos adequada para engenheiros, experimentadores, adeptos ao “faça você mesmo” e empreendedores que estejam criando protótipos de casos de uso de portáteis.

O WICED (pronunciado como uiqued) significa Wireless Internet Connectivity for Embedded Devices. O kit consiste em uma placa Bluetooth Low Energy (BLE) e cinco sensores (eCompass, pressão, umidade e temperatura, giroscópio e acelerômetro) e é executado usando uma bateria de célula 2032. A placa, os sensores e a bateria são acomodados em um resistente compartimento plástico (Consultea Figura 2). Essas características, combinadas com um fator de forma pequeno, fazem do kit WICED Sense uma opção interessante para experimentação. Para propósito deste artigo, o kit WICED Sense funcionará como o seu wearable. Em seguida, você verá como fazer a interface do dispositivo wearable com WICED Sense com um aplicativo móvel híbrido.

Figura 2. WICED Sense Development Kit da Broadcom

image002

Itens necessários

São necessários alguns itens para continuar este artigo:

  • Um WICED Sense Development Kit da Broadcom. É possível usar outros kits de sensores de tag, mas este artigo usará o WICED Sense.
  • Apache Cordova versão 3.6.3 ou mais recente.
  • Um dispositivo inteligente (smartphone ou tablet) com recursos BLE. O artigo usa um tablet Android que executa o Android 4.4 (que tem o recurso BLE).
  • Uma conta IBM Bluemix para usar o IBM IoT Foundation e o Node-Red. Está disponível uma avaliação gratuita do Bluemix.

Consulte Download para obter o código-fonte para este artigo.

Fazendo a interface do wearable com um aplicativo híbrido

Primeiro, para ler os dados coletados dos sensores no dispositivo wearable com o WICED Sense, crie um aplicativo híbrido com o Apache Cordova. O aplicativo híbrido é executado no dispositivo inteligente ativado por BLE e é ligado ao kit WICED Sense. Quando a ligação for concluída, o aplicativo híbrido poderá fazer todas as leituras dos sensores no kit WICED Sense e enviá-las à nuvem IoT Foundation.

Faça download do código-fonte do aplicativo híbrido e extraia o arquivo compactado para uma pasta da sua escolha (por exemplo, WICED-Sense-IoT). São fornecidos todos os artefatos necessários, com exceção de dois arquivos: easy-ble.js e na mqttws31.js; faça o download deles agora usando esses links fornecidos aqui. Coloque o easy-ble.js e o mqttws31.js na pasta lib do aplicativo.

O aplicativo híbrido é organizado nos seguintes arquivos e pastas:

  • index.html: o principal arquivo HTML do aplicativo. Ele controla o carregamento de outros arquivos da biblioteca JavaScript e atende à UI.
  • common.css: contém as marcações Cascading Style Sheets (CSS) necessárias para o aplicativo.
  • lib/easy-ble.js: a biblioteca JavaScript usada para simplificar a interface com dispositivos BLE. Fornecida pela Evothings.
  • lib/mqttws31.js: a biblioteca JavaScript que permite que um cliente use o protocolo MQTT V3.1 para se conectar a um servidor de sistema de mensagens com suporte a MQTT. Ele será usado para a conexão com o IBM IoT Foundation.
  • lib/WICED-Sense.js: a biblioteca JavaScript para fazer interface com o kit WICED Sense.
  • lib/iotFoundation.js : a biblioteca JavaScript que simplifica a interação com o protocolo MQTT e a conexão com o IBM IoT Foundation.

Antes de começar a customizar o aplicativo híbrido, acesse o IBM Bluemix para registrar o novo wearable WICED Sense. Ao fazer isso, o dispositivo WICED Sense poderá enviar dados de sensores à nuvem após o dispositivo ser ligado ao aplicativo híbrido.

Entrando no IBM Bluemix

Acesse o link Bluemix e crie uma conta de avaliação grátis, caso você ainda não tenha uma conta. Efetue login no Bluemix. Agora, configure um novo aplicativo Node-RED para que, então, seja possível estabelecer um serviço IoT Foundation:

  1. No painel do Bluemix, clique em CRIAR UM APLICATIVO e selecione WEB como o tipo.
  2. Selecione Procurar aplicativos de amostra, clique em EXPLORAR AMOSTRAS e selecione Node-RED Starter na categoria Padrões.
  3. Na caixa de diálogo Criar um aplicativo, no lado direito, forneça um nome exclusivo ao aplicativo (como developerWorks-App) e clique em CRIAR.
  4. O aplicativo Node-RED está agora provisionado. No painel, clique em INCLUIR UM SERVIÇO.
  5. Role para baixo até Internet of Things e clique para incluir o serviço.
  6. Na caixa de diálogo Incluir serviço, à direita, assegure-se de que o aplicativo Node-RED esteja selecionado no campo Aplicativo:. É possível escolher Grátis para o Plano selecionado. Clique em CRIAR.
  7. Caso seja solicitada a remontagem do aplicativo, clique em REMONTAR.

O painel do aplicativo agora é semelhante à Figura 3.

Figura 3. Painel do Bluemix

image003

Configurando o kit WICED Sense no IoT Foundation

Com o serviço Internet of Things ligado ao aplicativo Bluemix, é possível acionar fluxos a partir de um dispositivo com facilidade. Mas, primeiro, deve-se registrar o dispositivo WICED Sense. Neste momento, o dispositivo WICED Sense não é uma receita “formal” no IoT Foundation, portanto, você improvisará e incluirá o dispositivo você mesmo:

  1. No painel do Bluemix, clique no serviço Internet of Things e, em seguida, clique em ATIVAR.
  2. No painel do IBM Internet of Things Foundation, clique em Incluir dispositivo.
  3. No formulário Registrar dispositivo, Tipo de dispositivo está configurado como Criar um tipo de dispositivo. Na caixa de texto diretamente abaixo da caixa Tipo de dispositivo, digite WICED-Sense.
  4. Na caixa de texto ID do dispositivo, é possível inserir um identificador exclusivo (por exemplo, 8675309). Esse identificador será necessário mais tarde, portanto, anote seu número. Clique em Continuar.
  5. A próxima página apresenta credenciais importantes do dispositivo WICED Sense recém-registrado. Copie essas informações em um arquivo de texto para não perdê-las e, em seguida, clique em Concluído.

De volta ao aplicativo híbrido

Até agora, você:

  • Criou um aplicativo Bluemix Node-RED
  • Ligou o aplicativo Node-RED ao IoT Foundation
  • Registrou o kit WICED Sense no IoT Foundation

Agora, é possível voltar a atenção ao aplicativo híbrido. Comece aplicando alguns dos valores gerados a partir do IoT Foundation para o aplicativo híbrido para que todos possam se comunicar entre si:

  1. No sistema de arquivos local, navegue para onde os arquivos de origem do aplicativo híbrido foram extraídos.
  2. Em um editor de texto, abra o arquivo lib/iotFoundation.js.
  3. Em torno da linha 17, localize um comentário que solicita a inserção das informações de credenciais recebidas do IoT Foundation após o registro do dispositivo WICED Sense.
  4. Insira os valores para: CLIENT_ID, ORG_ID, a primeira parte de IOT_URL e o valor IOT_PASS.
  5. Salve o código modificado.

Desenvolvendo o aplicativo Cordova

A tarefa final de ler e processar dados de sensores do wearable do WICED Sense é para desenvolver o aplicativo híbrido, implementá-lo e testá-lo em um dispositivo inteligente. É possível criar e conseguir muitas coisas com o Apache Cordova. Neste artigo, abordamos apenas como desenvolver o aplicativo.

Com o Apache Cordova instalado, abra uma janela de comando e execute as etapas a seguir:

  1. Tipo cordova create project-folder app-identifier app-name (por exemplo: cordova create dw-project com.developerWorks.wiced WicedSenseApp).
  2. Altere para o diretório de projeto:
    cd dw-project
  3. Na pasta do projeto, exclua os arquivos na pasta www.
  4. Mova ou copie todos os arquivos do projeto de aplicativo híbrido para a pasta www.
  5. Inclua o plug-in Evothings BLE:
    cordova plugin add com.evothings.ble
  6. Inclua a plataforma em que deseja desenvolver digitando:
    cordova platform add ios
    cordova build ios

    ou

    cordova platform add android
    Type: cordova build android
  7. Implemente o código no dispositivo e teste apropriado.

Agora, temos um aplicativo híbrido que funciona em um dispositivo inteligente apto a BLE que pode ser ligado ao kit WICED Sense. Quando o aplicativo híbrido é executado no dispositivo inteligente, ele fica semelhante à Figura 4.

Figura 4. Aplicativo híbrido

image004

Testando o aplicativo híbrido

Ao executar o aplicativo híbrido, é possível iniciar a tag do WICED Sense. Depois que o dispositivo inteligente detectar a tag do WICED Sense, o Status do aplicativo indicará Sensores online. O aplicativo híbrido também abre uma conexão com o IBM IoT Foundation, usando a conexão de Internet do dispositivo inteligente. Finalmente, os dados de sensores do WICED Sense são exibidos na tela como uma série de números. Conforme a tag do WICED Sense é movida, os números são alterados.

Wearables e a evolução da computação em nuvem

Conforme a nova geração de dispositivos wearable com sensores coopera cada vez mais com os dispositivos inteligentes, o gerenciamento da enorme quantia de dados de sensores gerados rapidamente torna-se uma consideração do design. Os modelos para processar e gerenciar esses dados transformando-os em algo preciso e significativo estão alterando o que foi identificado anteriormente como computação em nuvem. Os dispositivos inteligentes podem ser equipados com ainda mais inteligência dentro de aplicativos híbridos ajudando a serializar os tipos de dados para filtrar, combinar e transformar ainda mais os dados em “informações” a serem transmitidas à nuvem para processamento adicional.

O aplicativo híbrido já é codificado para enviar um evento de movimento ao IoT Foundation quando o aplicativo identifica que a tag do WICED Sense está sendo movida. O movimento é definido como um movimento consistente da tag do WICED Sense por mais de seis segundos. Como teste, coloque a bateria na tag do WICED Sense. Quando ela for detectada pelo aplicativo híbrido, mova a tag do WICED Sense na sua mão por seis ou sete segundos. No aplicativo, observe a alteração do status de Você está se movendo? ser alterado de false para true.

Conforme o movimento é alternado para true, um evento de movimento é enviado ao IoT Foundation Cloud. Agora, segure a tag do WICED Sense o mais estável possível por seis ou sete segundos e observe o status de Você está se movendo? ser revertido para false. Conforme o movimento é alternado novamente para false, outro evento é enviado à nuvem do IoT Foundation. Repita essas ações para continuar a enviar eventos ao IoT Foundation. Para ver os eventos, consulte o painel Dispositivos do IoT Foundation (mostrado na Figura 5), que pode ser acessado por meio do painel do IBM Bluemix.

Figure 5. Visualização Dispositivos do IoT Foundation

image005

O que fazer em seguida

Agora que os dados do sensor já transitam pelo IoT Foundation, é fácil criar um aplicativo Node-RED que execute ações sobre os dados em movimento que são enviados. Por exemplo, é possível enviar um alerta por SMS, gravar dados em um banco de dados ou iniciar inúmeras outras ações.

Além disso, é possível alterar o código para executar ações em dados de sensores diferentes no kit do WICED Sense. Este artigo usa o giroscópio para detectar o movimento. Também é possível usar o código para obter leituras de outros sensores (como sensores de temperatura ou umidade) e acionar eventos com base nessas leituras.

Download

Descrição Nome Tamanho
Source code for this tutorial WICED-Sense-dW.zip 8KB

bluemix

bluemix01

***

Artigo feito junto com Rhonda Childress, CTO de serviços de segurança, IBM Fellow e Master Inventor com mais de 70 patentes registradas. No momento, ela é responsável pela estratégia técnica, pelo desenvolvimento e pela entrega de serviços de segurança profissionais para clientes IBM no mundo todo. Em seu tempo livre inexistente, Rhonda faz todos os tipos de experimentos de DIY.