Analise uma imagem e envie um alerta de status  

Desenvolva um aplicativo IoT sem servidor e que use reconhecimento visual para analisar imagens e enviar notifica√ß√Ķes de alerta

Last updated

As ind√ļstrias e as empresas de manuten√ß√£o de alta tecnologia costumam fotografar seus locais para poss√≠veis riscos ou emerg√™ncias e, ent√£o, informar o pessoal adequado, que pode tomar uma a√ß√£o para resolver o problema. Neste padr√£o de c√≥digo, voc√™ vai desenvolver um aplicativo que carrega imagens em um banco de dados IBM Cloudant, analis√°-las e, com base nos resultados, acionar um alerta mostrando se h√° risco e necessidade de a√ß√£o.

By Hovig Ohannessian

Overview

Ind√ļstrias e empresas de manuten√ß√£o precisam saber o que est√° acontecendo em seus locais. Um vazamento, um inc√™ndio ou um mau funcionamento podem representar um desastre para uma empresa, resultando em situa√ß√Ķes de perigo para funcion√°rios, per√≠odos de inatividade, contratempos nas rela√ß√Ķes p√ļblicas e perdas financeiras.

Essas empresas s√£o l√≠deres no uso de dispositivos remotos ‚Äď telefones, c√Ęmeras de seguran√ßa instaladas, drones ‚Äď para enviar imagens de v√°rios locais e equipamentos para serem monitorados quanto a um mau funcionamento. Mas e se voc√™ pudesse analisar automaticamente essas imagens e enviar um alerta sobre o local ou uma potencial situa√ß√£o emergencial?

Se voc√™ for um desenvolvedor trabalhando para uma empresa que conta com imagens do local, agora √© poss√≠vel desenvolver um aplicativo que analisa uma imagem e envia um alerta automaticamente. Neste padr√£o de c√≥digo, voc√™ usar√° o IBM Cloud Functions para analisar uma imagem e envi√°-la para o Watson IoT Platform. Ser√° designada uma pontua√ß√£o √† imagem, que ser√° avaliada para acionar quaisquer alertas necess√°rios para contatar as autoridades por meio do melhor canal de comunica√ß√£o dispon√≠vel (por exemplo, e-mail, texto ou notifica√ß√Ķes push).

Você tem a opção de desenvolver um aplicativo independente que pode ser facilmente atualizado ou modificado para trabalhar de dentro de um dispositivo inteligente, ou executá-lo em um navegador em seu laptop ou telefone.

No caso de uso padr√£o, voc√™ aprender√° a enviar para processamento uma imagem que detecte um inc√™ndio. (Tamb√©m √© poss√≠vel usar esse mesmo aplicativo para alertas de manuten√ß√£o ou outras detec√ß√Ķes de alerta emergenciais.) O inc√™ndio √© identificado pelo servi√ßo Watson Visual Recognition e, em seguida, o aplicativo Node-RED notifica os recursos apropriados.

H√° v√°rias maneiras de projetar esse processo e √© poss√≠vel modificar o padr√£o para ampli√°-lo para outros casos de uso do mundo real, enviando alertas para outros destinat√°rios designados e criando canais designados adicionais para notifica√ß√Ķes de alerta.

Você criará um aplicativo com base no seguinte fluxo:

  • O aplicativo pega uma imagem de um dispositivo e faz seu upload em uma pasta de imagem local para um banco de dados IBM Cloudant NoSQL.
  • O banco de dados Cloudant, por sua vez, recebe os dados bin√°rios e aciona uma a√ß√£o no IBM Cloud Functions.
  • O IBM Cloud Functions Composer faz a an√°lise do Visual Recognition e recebe uma resposta em formato JSON.
  • A resposta √© enviada para o IoT Platform e se registra como um dispositivo recebendo a imagem analisada.
  • Um fluxo do Node-RED continua lendo esses eventos do dispositivo no IoT Platform e aciona alertas com base nos recursos da imagem. Por exemplo:
    
    iot-2/type/Device/id/motor1/evt/eventData/fmt/json
    
            image: fire
            score: 0.679
            alert: EMERGENCY ALERT!
            time: Tue Oct 24 2017 01:20:49 GMT+0000 (UTC)
    
    
    

Flow

  1. √Č poss√≠vel executar a pasta viz-send-image-app localmente ou envi√°-la por push para a nuvem. A pasta cont√©m a UI do aplicativo, que permite fazer o upload de uma imagem no banco de dados Cloudant.
  2. Crie um pacote Node-RED que inclua o serviço Cloudant.
  3. Crie o IBM Functions a partir do Cat√°logo da Nuvem IBM. Cole suas credenciais do Cloudant, IoT Platform e Visual Recognition no arquivo credentials.cfg (em viz-openwhisk-functions) e arquivo credentials.json (em viz-send-image-app).
  4. Crie o serviço Watson Visual Recognition a partir do Catálogo da Nuvem IBM.
  5. Crie o Watson IoT Platform e ligue-o ao pacote Node-RED.
  6. Cole o fluxo .json no editor Node-RED. Assegure-se de que o n√≥ ibmiot no Node-RED tenha as informa√ß√Ķes corretas do Watson IoT Platform.

Components

Cloud Foundry

Desenvolva, implemente e execute aplicativos em uma plataforma Cloud de software livre.

Plataforma Watson IoT

Conecte seu dispositivo, envie dados à uma plataforma Cloud, configure e gerencie seus dispositivos e use APIs para conectar aplicativos aos dados do dispositivo.

Banco de dados NoSQL do Cloudant

Uma camada de dados gerenciada, criada para aplicativos móveis e web que usa um esquema de JSON flexível.

Node-RED

Uma ferramenta de programação para conexão de dispositivos, APIs e serviços on-line.

Watson Visual Recognition

O Visual Recognition entende o conte√ļdo das imagens de uma cole√ß√£o. Os conceitos visuais identificam a imagem, localizam rostos humanos, estimam a idade e o g√™nero e localizam imagens semelhantes.

Technologies

Cloud

Acesse recursos de tecnologia da informação e computadores pela internet.

Node.js

Um ambiente JavaScript open-source em tempo real para executar o código JavaScript no lado do servidor.

Plataforma como Serviço

Uma plataforma para serviços na Cloud que facilita o desenvolvimento, a implementação e o gerenciamento de aplicativos, ao abstrair a complexidade de manutenção da infraestrutura necessária.

Sem servidor

Uma plataforma baseada em ação que permite executar código em resposta a um evento.

Related Blogs

Nenhuma publicação correspondente ao seu critério de busca foi encontrada

Related Links

Centro de arquitetura

Saiba como esse padrão de código se ajusta à Arquitetura de Referência da Internet das Coisas.

IBM Cloud

O início de mais de 170 serviços exclusivos.