Acompanhe online o evento final da Maratona Behind the Code 2020 Inscreva-se já!

Desenvolva um aplicativo IoT de aprendizado de máquina com Node-RED e TensorFlow.js

Resumo

Este padrão de código mostra como criar e implementar aplicativos de aprendizado de máquina que podem ser executados off-line e diretamente em um dispositivo (neste caso, um Raspberry Pi). Usando Node-RED com TensorFlow.js, é possível incorporar o aprendizado de máquina em seus dispositivos de uma maneira fácil e com baixo código.

Descrição

Na maioria dos casos, a ativação de seu dispositivo IoT com recursos de IA envolve o envio dos dados do dispositivo para um servidor. Os cálculos de aprendizado de máquina acontecem no servidor e, em seguida, os resultados são enviados de volta para o dispositivo para a ação apropriada. No entanto, essa não é uma abordagem ideal ou viável quando a segurança de dados ou a conectividade de rede é uma preocupação.

Ao combinar Node-RED com TensorFlow.js, é possível incluir a funcionalidade de aprendizado de máquina mais facilmente nos dispositivos:

  • Node-RED é uma ferramenta de programação visual de software livre que oferece um editor de fluxo baseado em navegador para vincular dispositivos, APIs e serviços on-line. Desenvolvido com Node.js, é possível estender os recursos do Node-RED, criando seus próprios nós ou tirando vantagem do ecossistema JavaScript e NPM.
  • TensorFlow.js é uma biblioteca JavaScript de software livre para criar, treinar e executar modelos de aprendizado de máquina em ambientes JavaScript como o navegador e o Node.js.

Ao concluir este padrão de código, você entenderá como:

  • Criar um nó Node-RED que inclui um modelo TensorFlow.js.
  • Desenvolver e implementar um aplicativo Node-RED que usa um nó TensorFlow.js.

Fluxo

Fluxograma da arquitetura Node-RED e TensorFlow.js

  1. Use (ou faça download) um modelo de aprendizado de máquina no formato TensorFlow.js.
  2. Crie um nó Node-RED para o modelo TensorFlow.js e vincule o nó TensorFlow.js a um aplicativo Node-RED.
  3. Implemente o aplicativo Node-RED localmente.
  4. Acesse o aplicativo Node-RED por meio de um navegador e dispare a inferência em imagens capturadas de uma webcam.
  5. Como alternativa, é possível implementar o aplicativo Node-RED em um dispositivo Raspberry Pi.
  6. O dispositivo executa o aplicativo Node-RED e executa a inferência em imagens de uma câmera.
  7. O dispositivo envia para um alto-falante conectado ou executa alguma outra ação, dependendo dos resultados da inferência.

Instruções

Acesse o arquivo README para obter instruções detalhadas sobre como:

  1. Clonar o repositório.
  2. Instalar o Node-RED.
  3. Instalar o nó TensorFlow.js.
  4. Importar o fluxo Node-RED.
  5. Implementar o fluxo Node-RED.