Dev (Back & Front)ARTIGO

Nodejs + Chatbot + Arduino

No seguinte artigo, Thiago Adriano apresenta um passo a passo ensinando a integrar um chatbot à uma placa Arduino.

Dando continuidade ao meu artigo anterior “Criando um chatbot com Node.js“, hoje mostrarei como integrar o nosso chatbotChatbots21 conteúdosiMasters Case – Cresce uso de chatbots no WhatsAppDevSecOps · nov 2020Criando um ChatBot em menos de 5 minutos? Sim, é possível!AI · abr 2019Chatbots que analisam tom de voz e texto reduzem frustração em atendimentosAI · jul 2025Ver tudo em AI com uma placa Arduino.

Para pular a etapa de criação de um novo projeto, eu irei utilizar a versão final desenvolvida no meu artigo anterior. Caso tenha interesse em clonar esse projeto, segue o link no meu GitHub:

O primeiro passo será importar um pacote chamado johnny-five para o nosso projeto. Para isso, abra um terminal no seu computador, navegue até o projeto clonado e digite o comando abaixo:

bash
npm install johnny-five --save

O próximo passo será atualizar o arquivo index.js. Abra o projeto no seu editor de textos preferido e em seguida atualize esse arquivo com o seguinte trecho de código abaixo:

var restify = require("restify");
var builder = require("botbuilder");
var five = require("johnny-five");

var led;

var board = new five.Board();
board.on("ready", function() {
  led = new five.Led(13);
});

var server = restify.createServer();

var connector = new builder.ChatConnector({
  appId: process.env.MICROSOFT_APP_ID,
  appPassword: process.env.MICROSOFT_APP_PASSWORD
});

server.post("/api/messages", connector.listen());

var bot = new builder.UniversalBot(connector, function(session) {
  if (session.message.text == "ligar") {
    led.on();
  } else if (session.message.text == "desligar") {
   led.off();
  }
});

server.listen(process.env.port || process.env.PORT || 3978, function() {
  console.log("%s listening to %s", server.name, server.url);
});

Analisando o código acima, nós temos:

  • 03: estamos importando a biblioteca johnny-five
  • 05: criação de uma variável global para passar o valor de um conector na nossa board
  • 07 a 10: inicializando a conexão com o board e passando o valor do pino 13 na nossa placa para ele
  • 22 a 26: verificando o valor que o usuário digitou, caso seja ligar passamos para variável led ligar, caso seja desligar, passamos para ela desligar o led

Agora adicione um led no pino 13 da sua placa Arduino. Abaixo você tem uma imagem demonstrando esse passo:

Chatbot + Arduino Uno

Caso queira fazer alguns testes antes de conectá-lo, recomendo que crie um projeto no portal Tinkercad – lá você pode utilizar algumas placas virtuais junto com alguns componentes para que possa brincar/testar antes de montar na sua placa física.

Agora siga os passos do artigo anterior e execute o projeto. Com o Botbuilder Emulator aberto e o projeto executando, digite ligar para que o seu led acenda e desligar para que ele desligue.

Caso todos os passos estejam OK, você terá o resultado do vídeo abaixo:

Bom, a ideia era demostrar como podemos concatenar tecnologias e construir algo pensando em hardware e software.

Caso tenha interesse em clonar a versão final desse projeto, segue o link no meu Github

Espero que tenham gostado e até um próximo artigo, pessoal!

Microsoft (MVP), atualmente trabalha como Arquiteto de Software para TV Bandeirantes. Nesses últimos anos, focou nas tecnologias criadas pela Microsoft, mas sempre esteve antenado para as novas tecnologias que estão surgindo no mercado. Em um breve resumo, é uma pessoa apaixonada pelo que faz, tem a sua profissão como hobby.

Ver perfil