Dando continuidade ao meu artigo anterior “Criando um chatbot com Node.js“, hoje mostrarei como integrar o nosso chatbot 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:
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:
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!