Enviando dados pela porta serial do arduíno usando Node.js


Para enviar dados utilizando a porta serial do arduíno com node.js é bem simples. Precisaremos apenas de uma biblioteca já pronta que pode ser baixada via npm. O nome da biblioteca é SerialPort. Para realizar o download e bem simples. Inicie o Node.js na sua máquina, caso não tenha configurado ainda, acesse esse meu outro post, onde ensino como instalar o node.js na sua máquina, se já tem o mesmo configurado, execute o seguinte comando : 


" npm install serialport "

Prontinho. Só aguardar a instalação. 
Vamos ao projeto.
Para iniciar, crie uma pasta com o nome serialport. Através do terminal, ou cmd, entre nessa pasta e execute o comando acima, para instalar todos os módulos desse projeto. Execute npm install serialpost. Apos isso, crie um arquivo chamando "servidor.js". Esse arquivo será o responsável para comunicar nosso servidor com o arduíno. 

No arduíno, escreva um código básico para enviar os dados para a serial. Segue um exemplo abaixo:
 void setup(){ 
     Serial.begin(9600); 
 } 
 void loop(){
     Serial.println(10); // valor apenas para saber se tem algo chagando na serial
 }

 Pronto, salve e faça o upload para o controlador. 

Agora vamos para o servido.js. 

//Código fonte do servidor 

var serialporta = require("serialport");
var SerialPort = serialporta.SerialPort; 

var minhaSerial = new SerialPort("/dev/cu.usbmodem1411",{
         baudrate:9600, 
         parser:serialporta.parsers.readline("\n")
  });

 minhaSerial.on("open", function(){ 
         console.log("Serial aberta!"); 
  }); 

 minhaSerial.on("data", function(valores){ 
      console.log("Valores:"+valores); 
  }); 

 Rode o código no seu servidor node através do comando abaixo:
     " node servidor.js "

 Pronto. 

Feito o passo a passo seu servidor estará recebendo os dados via porta serial e imprimindo os valores no terminal do seu computador.


 Os próximos tutoriais iremos complementar esse código, e enviar mais variáveis para o servidor, e uma página web. Abraços e até mais.


Postado em: 20-04-2017