Conteúdo


Transforme seu smartphone em um sensor e em um atuador

Crie e implemente aplicativos IoT de modo rápido e fácil com o IBM Cloud e com o Watson IoT Platform

Comments

A Internet of Things, ou IoT, refere-se à crescente variedade de dispositivos conectados à Internet que capturam ou geram uma enorme quantidade de informações a cada dia. Para consumidores, esses dispositivos incluem telefones celulares, dispositivos esportivos portáteis, sistemas de climatizadores e muito mais. Em uma configuração industrial, esses dispositivos e sensores podem ser encontrados no equipamento de fabricação, na cadeia de suprimentos e em componentes em veículos. A IoT pode tornar a vida mais fácil para todos nós. Para desenvolver e implementar facilmente soluções de IoT de todos os tamanhos, a IBM criou o IBM Watson IoT Platform.

Neste tutorial, você aprenderá como é possível usar o Watson IoT Platform para criar uma solução IoT simples transformando seu smartphone em um sensor (lendo e enviando dados), mas também em um atuador (lendo e agindo sobre os dados).

Você usará um aplicativo IoT Starter Mobile em seu smartphone. Para transformar seu smartphone em um sensor, construiremos um aplicativo IoT que lê os valores do acelerômetro valores que são enviados a partir de seu smartphone e reage a uma ação específica se os valores atingem um determinado limite. Para transformar seu smartphone em um atuador, construiremos um aplicativo IoT que envia comandos específicos para seu smartphone que pode, então, reagir aos comandos recebidos.

O que será necessário para construir esses aplicativos IoT

Serão necessários os seguintes dispositivos ou contas:

  • Uma conta do IBM Cloud® . (É possível solicitar uma avaliação grátis aqui.)
  • Um smartphone (um smartphone Android ou iOS).
  • Para um smartphone iOS, uma conta do iTunes para instalar o aplicativo IoT Starter Mobile.
  • Uma conta do twitter para ser notificado por um tweet (opcional).
  • Uma conta de e-mail com recurso de retransmissão de SMTP para ser notificado por uma mensagem de e-mail (opcional).

Antes de iniciar, revise as informações a seguir:

  • Familiaridade com o IBM Cloud Platform. É necessário saber como navegar pelo catálogo e instanciar um dos serviços. (É possível concluir os tutoriais na linha de aprendizagem do IBM Cloud Fundamentals para ganhar um entendimento completo do IBM Cloud).
  • Familiaridade com Node-RED. É necessário entender como usar nós no Node-RED e como processar uma mensagem no Node-RED. Node-RED é um front-end para JavaScript, portanto, também é necessária alguma experiência com JavaScript. É possível usar a documentação de introdução no website do Node-RED para ajudá-lo a ganhar esta familiaridade.
  • Revise a documentação de Introdução ao Watson IoT Platform do IBM Cloud.

Arquitetura de nossos aplicativos IoT

A visualização de alto nível da arquitetura para nossa solução IoT é mostrada na figura a seguir:

Neste tutorial, você criará um aplicativo IoT no IBM Cloud que gerenciará dois outros aplicativos IoT:

  • Um aplicativo sensor de IoT que lê e recebe valores do acelerômetro a partir de seu smartphone. Este aplicativo gerencia o caso de uso de quando seu smartphone está caindo ou se movendo muito rápido. Se sua aceleração exceder um determinado limite, você será alertado.
  • Um aplicativo atuador de IoT que envia comandos simples ao seu smartphone. Usaremos o aplicativo IoT Starter Mobile, que fornece a lista de comandos simples que seu smartphone pode interpretar. Por exemplo, com base na posição de seu smartphone, acenderemos ou apagaremos a luz ou mudaremos a cor de plano de fundo de seu smartphone.
1

Crie seu próprio aplicativo IoT no IBM Cloud

Nosso principal aplicativo IoT no IBM Cloud será nosso aplicativo backend em nossa solução de IoT. Nosso aplicativo backend lerá, receberá e interpretará mensagens de carga útil recebidas que contêm dados do sensor. Além disso, ele definirá e enviará comandos de IoT aos atuadores com base no cumprimento de determinadas condições.

  1. Efetue login em sua conta do IBM Cloud. .
  2. No catálogo do IBM Cloud, a partir da seção Textos Padrão, selecione o texto padrão do Internet of Things Platform Starter.
  3. Na área de janela à direita, especifique um nome exclusivo para seu aplicativo, que é usado para criar um nome do host exclusivo para seu aplicativo. Em seguida, clique em CRIAR.

O texto padrão do Internet of Things Platform Starter inclui automaticamente o serviço do Internet of Things Platform e um serviço do Banco de Dados NoSQL do Cloudant em seu aplicativo. Ele também inclui um ambiente de tempo de execução Node-RED para seu aplicativo.

2

Registre seu smartphone no Watson IoT Platform

É necessário registrar seu smartphone no Watson IoT Platform antes de poder conectá-lo à IoT. O serviço do IBM Cloud IoT Platform aloca automaticamente uma organização de IoT para você. Uma organização de IoT é um espaço usado para conectar e gerenciar dispositivos no IBM Watson IoT Platform para que seus aplicativos possam acessar seus dados ativos e históricos.

  1. Em seu painel do IBM Cloud, selecione o serviço do Internet of Things Platform. Em seguida, clique em Ativar painel.
    O painel para o IBM Watson IoT Platform se abre em uma nova guia do navegador. O ID da organização é designado ao seu aplicativo e é exibido no canto superior direito.
  2. Na página Placas, que é onde você gerencia seus smartphones e seus dados, passe o mouse sobre o menu à esquerda e selecione Smartphones. Na página Smartphones, clique em Incluir Smartphone.
  3. Na página Incluir Smartphone, clique em Criar tipo de smartphone. O nome para o tipo de smartphone faz distinção entre maiúsculas e minúsculas e deve ser Android ou iPhone. O aplicativo IoT Starter Mobile espera uma dessas palavras como o tipo de smartphone.

É isso! Seu smartphone foi registrado no Watson IoT Platform. Você ainda precisa conectá-lo ao Watson IoT Platform, mas, antes de poder fazer isso, é necessário instalar e configurar o aplicativo IoT Starter Mobile em seu smartphone.

3

Instale e configure o aplicativo IoT Starter Mobile em seu smartphone

Você usará o aplicativo IoT Starter Mobile para ler e enviar dados do sensor recebidos de seu smartphone e, também, para transformar seu smartphone para ser um atuador que possa receber e executar comandos. Este aplicativo foi desenvolvido com idiomas nativos nas plataformas iOS e Android. Com este aplicativo móvel, é possível publicar os seguintes eventos:

  • Evento de acelerômetro X, Y, Z de seu smartphone
  • Evento do touchMove
  • Evento de texto
3a

Instale o aplicativo IoT Starter Mobile em seu smartphone iOS

Se você for um desenvolvedor de iOS experiente, poderá fazer download do aplicativo demo IoT Starter Mobile para iOS a partir do projeto ibm-watson-iot do GitHub, importá-lo em seu ambiente de desenvolvimento do Xcode e, em seguida, construir o arquivo do pacote .ipa você mesmo. As etapas aqui contidas demonstram como instalar o arquivo de pacote .ipa manualmente usando o iTunes.

  1. Faça download do arquivo IoTStarter.ipa a partir do meu projeto watson-iot-actuator do GitHub para seu computador.
  2. Dê um clique duplo no arquivo .ipa . O iTunes se abre automaticamente (se ele está instalado em seu sistema).
  3. Conecte seu smartphone iOS ao seu computador com seu cabo USB.
  4. No iTunes, clique no ícone para seu smartphone e, em seguida, clique em Aplicativos.
  5. Clique no botão Instalar para o aplicativo IoT Starter Mobile.
  6. No canto inferior direito da visualização Aplicativos, clique no botão Aplicar. botão
  7. Em seu smartphone, abra o aplicativo IoT Starter Mobile. O ícone para o aplicativo é semelhante a este ícone:

Dependendo da versão do iOS em seu smartphone, pode ser solicitado para confiar no desenvolvedor International Business Machines. Nas Configurações Gerais para seu smartphone iOS, role para baixo e selecione Gerenciamento de Dispositivo. Selecione International Business Machines e, em seguida, clique no link Confiar em "International Business Machines" . Você verá o IoT Starter na lista de aplicativos e ele será listado como verificado.

3b

Instale o aplicativo IoT Starter Mobile em seu smartphone Android

Se você for um desenvolvedor de Android experiente, poderá fazer download do aplicativo demo IoT Starter Mobile para Android a partir do projeto ibm-watson-iot do GitHub, importá-lo em seu ambiente de desenvolvimento do Android e, em seguida, construir o arquivo .apk você mesmo. As etapas aqui contidas demonstram como instalar o arquivo de pacote .ipa .

  1. Em seu telefone Android, acesse Configurações > Segurança. Em Administração do Smartphone, ative Origens desconhecidas. Esta configuração permite instalar arquivos .apk de fora do Google Play.
  2. Abra o navegador em seu smartphone Android e insira esta URL:
    http://ibm.biz/asdwapk

    Em vez de digitar a URL, é possível usar o QRcode neste artigo.

  3. Faça download do arquivo iot-starter-for-android.apk em seu smartphone Android.
  4. Use um aplicativo explorador de arquivos para localizar o arquivo na pasta Downloads e selecione o arquivo .apk para instalá-lo.
4

Verifique se as mensagens do smartphone estão sendo enviadas ao Watson IoT Platform

Após instalar o aplicativo IoT Starter Mobile em seu smartphone, é necessário configurá-lo com suas credenciais de IoT e conectar o aplicativo ao Watson IoT Platform.

  1. Abra o aplicativo IoT Starter em seu smartphone e especifique as credenciais de sua organização e de seu smartphone.
  2. Abra o perfil para o aplicativo.
    • Para dispositivos Android, selecione o menu no canto superior direito e selecione Abrir perfis.
    • Para dispositivos iPhone, selecione o link Pr...iles e selecione Abrir perfis.
  3. Clique em Salvar configuração e forneça um nome ao seu perfil, tal como myProfile. Clique em Salvar e volte para a janela de login. Suas credenciais agora estão salvas para a próxima vez que você se conectar.
  4. Clique em Ativar Sensor, o que faz com que seu aplicativo envie mensagens ao Watson IoT Platform.
  5. No painel do Watson IoT Platform (no IBM Cloud), no menu à esquerda, selecione Smartphones. Selecione seu smartphone na lista. Verifique se os eventos do acelerômetro são exibidos na seção Eventos Recentes .
  6. Se desejar, é possível incluir uma placa em seu painel para visualizar os dados de seu smartphone (evento em tempo real). Use a documentação do Watson IoT Platform no IBM Cloud para saber como criar painéis e placas.
5

Mensagens de processo de seu aplicativo sensor de IoT

Agora que seu smartphone está registrado e você verificou que ele está enviando os dados do acelerômetro ao Watson IoT Platform, precisamos conectar o aplicativo IoT ao Watson IoT Platform usando o serviço de IoT. Podemos, então, começar a usar os dados desse smartphone em nossa solução de IoT.

  1. No painel do IBM Cloud, acesse seu aplicativo e clique na rota do aplicativo para acessá-lo.
  2. Abra seu editor de fluxo Node-RED.
  3. No editor Node-RED, que se abre e contém um fluxo de amostra, selecione todos os nós existentes e exclua-os.
  4. Crie um novo fluxo arrastando um nó ibmiot da seção de entrada para sua área de trabalho e, também, arrastando um nó de depuração da seção de saída para sua área de trabalho. Conecte os dois nós juntos.
  5. Dê um clique duplo no nó do IBM IoT para configurá-lo. Especifique as informações de ID de autenticação e do dispositivo do serviço do IBM Cloud, que são aquelas escolhidas quando você registrou o smartphone no Watson IoT Platform. Em seguida, clique em Concluído.
  6. Clique no botão Implementar na parte superior direita do editor de fluxo Node-RED.
    O botão fica cinza quando o fluxo é implementado.
  7. Selecione a guia de depuração para ver os dados do sensor de seu smartphone.
    Se não puder ver a guia de depuração, poderá ser necessário estender a janela do navegador (ou rolar) para vê-la.

Os dados de seu sensor são recebidos no formato JSON. O aplicativo IoT Starter Mobile usa o protocolo MQTT para enviar os dados.

6

Envie um alerta quando seu smartphone cair

Agora iremos atualizar nosso fluxo Node-RED para usar os dados do sensor.

Iremos executar as etapas a seguir:

  • Extrair o valor "acceleration_y" da mensagem da carga útil JSON
  • Acionar um valor com relação a um valor de aceleração (tais como 0,5 para iOS e 7 para Android)
  • Depurar a mensagem de notificação
  • Opcionalmente, poste um tweet ou envie um e-mail

Acesse seu editor de fluxo Node Red. Você criará o fluxo a seguir arrastando os nós apropriados e vinculando-os conforme mostrado na figura a seguir:

  1. Para extrair o valor acceleration_y absoluto do smartphone a partir da mensagem da carga útil JSON, incluiremos e configuraremos um nó de função. Na seção de função da paleta, arraste um nó de função para sua área de trabalho. Dê um clique duplo no nó da função para configurá-lo com esses valores:
    1. Especifique getAcceleration_y como o nome para este nó.
    2. Neste nó de função, copie e cole o código a seguir:
      return {payload: Math.abs(msg.payload.d.acceleration_y)};
    3. Clique em Concluído.
  2. Para criar um acionador no valor acceleration_y , incluiremos e configuraremos um nó de comutação. Na seção da função da paleta, arraste um nó de comutação para sua área de trabalho. Conecte o nó de função ao nó de comutação. Dê um clique duplo no nó de comutação para configurá-lo com esses valores:
    1. Especifique testAcceleration_y como o nome para este nó.
    2. Especifique msg.payload como a propriedade.
    3. Na lista suspensa valor da condição , selecione ">=?" e especifique 0,5 para iOS ou 7 para Android.
    4. Na última lista suspensa, selecione parando após primeira correspondência.
    5. Clique em Concluído.
  3. Para definir a mensagem de notificação que você deseja enviar quando seu telefone estiver caindo, incluiremos e configuraremos um nó de modelo. Na seção de função da paleta, arraste um nó de modelo para sua área de trabalho. Conecte o nó de comutação ao nó de modelo. Dê um clique duplo no nó de modelo para configurá-lo com esses valores:
    1. Especifique Acceleration_y_exceed_message como o nome para este nó.
    2. Especifique msg.payload como a propriedade.
    3. Copie e cole o código a seguir no editor do nó:
      Opa! Seu telefone está caindo?
      Sua aceleração y = {{payload}}!
    4. Clique em Concluído.
  4. Para limitar o número de mensagens para a notificação e evitar mensagens de notificação duplicadas, incluiremos e configuraremos um nó de atraso. Na seção de saída da função da paleta, arraste um nó de atraso para sua área de trabalho. Conecte o nó de modelo ao nó de atraso. Dê um clique duplo no nó de atraso para configurá-lo com esses valores:
    1. Especifique Taxa Limite como o nome para este nó.
    2. Na lista suspensa Ação , especifique Limitar taxa a. Em seguida, configure a taxa como 1 e selecione Minuto.
    3. Marque a caixa de seleção Arrastar mensagem intermediária .
    4. Clique em Concluído.
  5. Para exibir a mensagem de notificação na guia Depuração de seu fluxo, incluiremos e configuraremos um nó de depuração. Na seção de função da paleta, arraste um nó de depuração para sua área de trabalho. Conecte o nó de atraso ao nó de depuração.
  6. Para evitar o recebimento de muitas mensagens de depuração na guia Depurar, é possível ativar e desativar o nó de depuração clicando no retângulo verde no nó de depuração.

    É exibida uma mensagem na parte superior de seu navegador explicando se o nó de depuração está ativado ou desativado.
  7. Para testar seu aplicativo IBM Cloud (e seu fluxo Node-RED), conclua essas etapas:
    1. Clique em Implementar para reimplementar seu fluxo do Node-RED.
    2. Em seu smartphone, execute o aplicativo IoT Mobile Starter e clique em Ativar Sensor.
    3. Mova seu smartphone rapidamente para cima e para baixo para simular a queda.
    4. Em seu editor de fluxo Node-RED, na guia Depurar, verifique se os valores acceleration_y estão sendo exibidos e se a mensagem de notificação também é exibida.
6a

Seja notificado por um tweet

Se você tiver uma conta do Twitter, poderá enviar sua notificação como um tweet.

  1. Em seu editor Node-RED, na seção social da paleta, arraste um nó de saída do twitter para sua área de trabalho. Vincule o nó de saída do twitter à saída do nó de atraso.
  2. Dê um clique duplo no nó de saída do twitter para configurá-lo com esses valores:
    1. Na caixa de diálogo de saída do twitter, selecione o ícone de lápis próximo à lista suspensa ID do Twitter .
    2. Na próxima caixa de diálogo, clique no botão para autenticar o Twitter. Na janela que é exibida, especifique suas credenciais do Twitter e autorize seu aplicativo IBM Cloud a usar sua conta do Twitter.
    3. Clique em Incluir para incluir essa conta do Twitter.
    4. Na caixa de diálogo de saída do twitter, certifique-se de que seu ID esteja selecionado.
  3. Clique em Implementar para testar esta nova versão de seu fluxo. Se seu botão Implementar estiver vermelho, significa que seu fluxo foi atualizado e precisa ser reimplementado. Se seu botão Implementar estiver cinza, significa que seu fluxo está implementado.
  4. Para testar este método de notificação, conclua estas etapas:
    1. Em seu smartphone, certifique-se de que o aplicativo IoT Starter esteja em execução e clique em Ativar Sensor, se necessário.
    2. Mova seu smartphone rapidamente para cima e para baixo para simular a queda.
    3. Na guia Depurar, verifique se você vê os valores de aceleração e a mensagem de notificação.
    4. Acesse seu aplicativo do Twitter e verifique se você vê o tweet com sua mensagem de notificação a partir de seu aplicativo IBM Cloud.
6b

Seja notificado por um e-mail

Se você tiver uma conta de e-mail SMTP, poderá fazer com que o aplicativo envie um e-mail com a notificação de que seu smartphone está caindo. Pode ser necessário definir as configurações de segurança para seu e-mail para permitir que seu aplicativo envie o e-mail. Por exemplo, se estiver usando uma conta do Gmail, deverá ativar a opção Permitir aplicativos menos seguros nas configurações de Segurança de Conexão .

  1. Em seu editor Node-RED, na seção social da paleta, arraste um nó de saída do e-mail para sua área de trabalho. Vincule o nó de saída do e-mail à saída do nó de atraso.
  2. Dê um clique duplo no nó de saída do e-mail para configurá-lo com esses valores:
    1. No campo Para , especifique seu endereço de e-mail.
    2. No campo Servidor , especifique o endereço do servidor SMTP, como smtp.gmail.com.
    3. No campo Porta , especifique a porta TCP SMTP que envia e-mail, como 465.
    4. No campo ID do Usuário , especifique o nome do usuário a ser usado para autenticação no servidor SMTP. Este nome de usuário pode ser seu endereço de e-mail.
    5. No campo Senha , especifique a senha que está associada ao seu nome de usuário.
  3. Para testar este método de notificação, conclua estas etapas:
    1. Em seu smartphone, certifique-se de que o aplicativo IoT Starter Mobile esteja em execução e clique em Ativar Sensor, se necessário.
    2. Mova seu smartphone rapidamente para cima e para baixo para simular a queda.
    3. Na guia Depurar, verifique se você vê os valores de aceleração e a mensagem de notificação.
    4. Acesse seu aplicativo de e-mail e verifique se você vê o e-mail com sua mensagem de notificação a partir de seu aplicativo IBM Cloud.
7

Envie um comando ao seu smartphone

Até agora, seu smartphone esteve agindo como um sensor. No entanto, é possível usar o aplicativo IoT Starter Mobile para transformar seu smartphone em um atuador fazendo com que seu smartphone receba e aja sobre comandos.

O aplicativo IoT Starter Mobile pode gerenciar três tipos de eventos:

  • eventos accel, para o acelerômetro
  • eventos touchmove, para o evento de deslizar os dedos em seu smartphone
  • eventos text, para os comandos de texto

O aplicativo pode receber e agir sobre quatro comandos:

  • light - Este comando liga ou desliga a luz em seu smartphone.
  • color - Este comando muda a cor de plano de fundo do aplicativo IoT Starter Mobile.
  • alert - Este comando exibe uma mensagem de alerta no aplicativo.
  • any text value - Este comando registra uma mensagem no aplicativo.
7a

Crie o aplicativo IoT Actuator no Node-RED

  1. Faça download do arquivo /flows/commands.json a partir do meu projeto watson-iot-actuator do GitHub para seu computador.
  2. Abra o arquivo commands.json em um editor de texto e certifique-se de que todo o código esteja em uma única linha. Remova qualquer quebra de linha, se necessário. Copie a linha do código.
  3. Em seu editor Node-RED, crie um novo fluxo para sua área de trabalho clicando no ícone de mais.
  4. Pressione Ctrl+I para abrir a caixa de diálogo Importar Nós. Cole a linha de código e clique em Importar. O fluxo a seguir é exibido em sua área de trabalho:
  5. Para customizar este fluxo para seu aplicativo IoT Actuator, é necessário configurar os nós conforme descrito abaixo:
    1. Dê um clique duplo no nó Entrada do Aplicativo IoT e especifique o ID do smartphone que você usou quando registrou seu smartphone. Clique em Concluído.
    2. Dê um clique duplo no nó Saída do Aplicativo IoT e especifique o ID do smartphone e o tipo de smartphone (iPhone ou Android). Clique em Concluído.
  6. Clique em Implementar.
7b

Teste os comandos em seu smartphone

  1. Em seu smartphone, certifique-se de que o aplicativo IoT Starter Mobile esteja em execução e clique em Ativar Sensor, se necessário.
  2. Movimente seu smartphone; vire-o e incline-o. A cor de plano de fundo do aplicativo em seu telefone muda de cores. Seu smartphone está recebendo o evento accel .
  3. Em seu smartphone móvel com o aplicativo IoT Starter Mobile no primeiro plano, deslize o dedo para a esquerda e para a direita na tela. Verifique a guia Log em seu aplicativo. Duas mensagens foram registradas. Seu smartphone está recebendo o evento touchmove .
  4. Em seu smartphone, volte para a guia IoT. Clique no botão Enviar Texto . Digite qualquer valor de texto e clique no botão Enviar .
  5. Novamente, verifique a guia Log para ver se as duas mensagens foram registradas. Seu smartphone está recebendo o evento text .
  6. Em seu smartphone, volte para a guia IoT. Clique no botão Enviar Texto . Digite alerta no campo e clique no botão Enviar . Uma caixa pop-up exibe um alerta. Seu smartphone está recebendo o evento alert .
  7. Em seu smartphone, volte para a guia IoT. Clique no botão Enviar Texto . Digite luz no campo e clique no botão Enviar . A luz em seu smartphone é ativada; este comando pode não funcionar em todos os smartphones Android, mas funciona em todos os smartphones iOS. Seu smartphone está recebendo o evento light . É possível clicar em Enviar Texto novamente, digitar luz e a luz será desligada.

Na próxima etapa, criaremos um aplicativo IoT que combina as ideias de seu smartphone ser um sensor e um atuador.

8

Acenda e apague a luz de seu smartphone ao virá-lo horizontalmente

Agora que você viu como transformar seu smartphone em um sensor ou um atuador, vamos criar um aplicativo IoT que transforme seu smartphone em ambos! Neste cenário, acenderemos/apagaremos a luz de seu smartphone cada vez que você virá-lo horizontalmente.

Testaremos o valor da aceleração Z do smartphone para verificar se este valor é positivo ou negativo e salvaremos o estado.

  • Se a aceleração Z for positiva e, se a luz estiver desligada, envie o comando light ao telefone para acender a luz.
  • Se a aceleração Z for negativa e, se a luz estiver ligada, envie o comando light ao telefone para apagar a luz.
  1. Acesse seu editor de fluxo Node Red. Você criará o fluxo a seguir arrastando os nós apropriados e vinculando-os conforme mostrado abaixo:
  2. Na seção de função da paleta, arraste um nó de função para sua área de trabalho.
    1. Especifique um nome para este nó de função. Por exemplo, nomeie-o como Detectar Inversão.
    2. Recorte e cole o código a seguir no editor do nó da função:
      var accelerationZ = msg.payload.d.acceleration_z;
      var isAlreadySwitchedOn = context.get('isAlreadySwitchedOn')|| false;
      
      // For Android reverse this test !!!
      if (accelerationZ > 0) {
      	if (!isAlreadySwitchedOn) {
      		isAlreadySwitchedOn = true;
      		msg.eventOrCommandType = "light";
      		msg.payload = JSON.stringify({"d":{"text":"Received light on message"}});
      	}
      } else {
      	if (isAlreadySwitchedOn) {
      		isAlreadySwitchedOn = false;
      		msg.eventOrCommandType = "light";
      		msg.payload = JSON.stringify({"d":{"text":"Received light off message"}});
      	}
      }
      context.set('isAlreadySwitchedOn', isAlreadySwitchedOn);
      return msg;
    3. Clique em Concluído.
  3. Arraste um nó de comutação para sua área de trabalho. Este nó testará se precisaremos enviar um comando ao telefone. Preencha os campos com esses valores:
    1. Especifique um nome para este nó de comutação . Por exemplo, nomeie-o como Inversão Detectada.
    2. Configure a Propriedade como msg.eventOrCommandType.
    3. Selecione não é nulo na lista suspensa.
    4. Selecione parando após a primeira correspondência na lista suspensa inferior.
    5. Clique em Concluído.
  4. Arraste um nó de saída ibmiot para sua área de trabalho. Este nó enviará o comando light ao telefone. Preencha os campos com esses valores:
    1. Especifique um nome para este nó. Por exemplo, nomeie-o como IBM IoT Out.
    2. Selecione Serviço do IBM Cloud na lista suspensa Autenticação .
    3. Selecione Comando do Smartphone na lista suspensa Tipo de Saída .
    4. Insira o tipo de seu smartphone (iPhone ou Android).
    5. Insira o ID de seu smartphone.
    6. Insira text na caixa de texto Tipo de Comando. .
    7. Especifique json na caixa de texto Formato .
    8. Na caixa Dados , digite esta cadeia de caractere:
      {"d":{"value":"text"}}
    9. Clique em Concluído.
  5. Implemente seu novo fluxo. Segure seu telefone e execute o aplicativo IoT Starter Mobile clicando em Ativar Sensor.
    1. Observe a guia Depurar em seu fluxo Node-Red para ver as mensagens MQTT recebidas a partir do telefone.
    2. Vire seu telefone horizontalmente e verifique se a luz está ACESA.
    3. Vire-o de volta e verifique se a luz está APAGADA.

Se seu smartphone Android não interpretar o comando light corretamente, será possível substituir o código no nó da função pelo código a seguir. Ele fornece uma solução alternativa que usa o comando color que mudará a cor de plano de fundo do aplicativo IoT Starter Mobile toda vez que você o virar horizontalmente em vez de acender ou apagar a luz de seu smartphone.

var accelerationZ = msg.payload.d.acceleration_z;
var r = 0.0;
var b = 0.0;
var g = 0.0;
a = 1.0;


if (accelerationZ < 0) {
    // green
    r = 102.0;
    g = 255.0;
    b = 102.0;
} else {
   // purple
    r = 178.0;
    g = 102.0;
    b = 255.0;
}
msg.eventOrCommandType = "color";
msg.payload = JSON.stringify({"d":{"r":r,"b":b,"g":g,"alpha":a}});
return msg;

Conclusão

Neste tutorial, você aprendeu como criar e implementar facilmente aplicativos de IoT, como transformar facilmente seu smartphone em um dispositivo sensor e atuador, como conectá-lo facilmente ao IBM Watson IoT Platform e como enviar e receber dados de seu smartphone.

Usando o IBM Cloud Platform e o Watson IoT Platform, é possível acelerar seu tempo de desenvolvimento e seu prazo para lançamento no mercado. As organizações podem conectar seus dispositivos facilmente (seus próprios conjuntos de sensores ou atuadores ou ambos), construir aplicativos IoT, resolver problemas de negócios específicos e transformar suas empresas e mercados.


Recursos para download


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Internet of Things
ArticleID=1041574
ArticleTitle=Transforme seu smartphone em um sensor e em um atuador
publish-date=12262016