Primeiro de tudo para se conseguir essa proeza voce deverá ter o sistema linux instalado, de preferencia a última versão do linux o ubuntu, mas acredito eu que qualquer outra sirva.
Baixe a versão do linux aqui e grave-a num programa qualquer formador de ISO bootável, Sugiro usar o programa imgBurn para isso, tem um tutorial de como utiliza-lo aqui
Depois voce tera de entrar no DOS do seu pc e escolher a opção de iniciar o computador a partir de uma midia de dvd.
Vá na opção de boot e na subguia boot device priority escolha o dvd(vá apartendo a tecla + para alterar as prioridades. Como pode ver nas imagens:
A partir dahe siga normal com as instalações, nas guias tem a opção de particionar o HD e ficar com os 2 sistemas operacionais. Foi o que eu fiz :)
Uma vez com o linux, instale os requisitos necessarios para se usar o node js.
Primeiro temos que atualizar nossa plataforma de ambiente java, isso é importante por que o node js é baseado em java.
Então abra a tela do linux, dando control+alt+t(que é o DOS do linux, so que mais "impirulitado")
Uma vez dentro do terminal dê os seguintes comandos:
sudo apt-get update
esse comando apt-get ira autalizar todos os seus programas automaticamente, não se preocupem com
erro de registro por que o LINUX é gratuito, ele nao é que nem o RUINDOWS:)
o comando sudo passa por cima das requisições e permite atualizar as coisas, ele vai pedir sua senha de LOGIN e voce apenas dá ;)
Feito essa parte vamos aos comandos propiamente ditos:
sudo apt-get install default-jre
Ele instalará um pacote básico em java para voce
Agora vamos a outro comando:
sudo apt-get install default-jdk
Esse segundo se usa para aplicações em compilação de java, como o APACHE, MYSQL,Eclipse, etc, etc...
Feito isso execute essa linha de comandos um de cada vez:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Agora por fim instale a versão java da oracle:
sudo apt-get install oracle-java9-installer
Pronto, com esses passos você ja tem um ambiente java personalizado no seu computador, para ver se está tudo ok de o comando: clear
para limpar a tela de depois:
java -version
para ver o mesmo instalado.
Agora vamos instalar o Arduino
Primeiro baixe o programa versão linux no site do Arduino
Depois de baixado jogue em qualquer pasta de sua preferencia e descompacte-a, pode ser na área de trabalho mesmo.
Agora clique com o direito do mouse no vazio da pasta onde voce deixou o arduino e escolha a opção abrir num terminal*ou algo parecido agora não lembro de cabeça*
Uma vez com o terminal aberto de os seguintes comandos:
chmod +x nome.sh
sh nomedoarquivo.sh
Em nome do arquivo é o nome que aparece no iconizim que fica com a extensão sh
para sanar mais duvidas tem este ótimo tutorial aqui explicando como faz
Se eu não me engano no caso do arduino é install
então fica assim
sh install.sh
Mas caso não seja está ahe a explicação^^
Uma vez instalado jogue o iconizim na barra de menus que fica na lateral esqueda do ubuntu, essa aqui:
pronto. Agora seu arduino ja está instalado no linux. :)
Tendo feito tudo isso agora vamos ao que realmente interessa^^:):)
Dê o comando para instalar o node
sudo apt-get install nodejs
Depois instale o pacote gerenciador do node
sudo apt-get install npm
Depois de um comando para instalar o pacote build essentials para que todos os subaplicativos do nodejs funcionem
sudo apt-get install build-essential libssl-dev
Esse ultimo comando ira instalar o nvm, que é um gerenciador de arquivos para várias versões do nodejs.
E por fim de este último comando
curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
Feito tudo isso parabens, voce instalou tanto o linux, quanto o suporte java*descreverei esse sujeito mais adiante* quanto o nodejs
Para ver sua versão de node digite:
node -v
e sua versão de npm
npm -v
Se tudo deu certo, crie um arquivo no gedit dentro de uma pasta qualquer e coloque o nome sei lah, teste.js
dentro do gedit escreva as palavras:
console.log('teste'); e salve.
Agora abra a pasta onde ta o arquivo, clique com o direito do mouse em qualquer área vazia na pasta e escolha a opção abrir o terminal aqui, pimba, vai abrir direto na pasta.:)
Depois no terminal digite
node teste.js
Pronto o que voce escreveu entre aspas aparecerá no terminal^^
Pronto agora podemos realmente pular para a etapa 2, que é a interação do bixao com o arduino
escolha um lugar qualquer do seu computador e crie uma pasta, sugiro no desktop mesmo, e o nome da pasta nodearduino, assim oh:
Ou sinta-se a vontade para criar aonde quiser, o importante é que saiba onde a pasta está:)
Uma vez criada a pasta, entre dentro dela e clique numa área livre com o direito do mouse, escolha a opção abrir num terminal e voce abrirá novamete o DOS do linux :)
digite o seguinte comando:
sudo npm install serialport
depois de executado esse comando, dentro da pasta nodearduino clique com o direito na area vazia da tela e escolha novo>arquivo de texto> (use o gedit mesmo)
E coloque todo este texto dentro do gedit:
var serialport =require("serialport");
var SerialPort =serialport.SerialPort;
var mySerial = new SerialPort("/dev/ttyACM0",{
baudrate: 9600,
parser: serialport.parsers.readline("\n"),
});
mySerial.on("open",function(){
console.log("Porta aberta.");
});
mySerial.on("data",function(dados){
console.log(dados);
});
Salve como app.js dentro da pasta nodearduino.
Agora é a vez de testarmos o monitor serial no arduino:
Agora vamos testar a escrita serial no linux do arduino. Por isso copie e cole esse codigo no arduino e compile. Não esqueça de escolher a porta da serial do arduino e a placa no menu "ferramentas".
A porta e geralmente /dv/ttyACM0, mas por padrão é qualquer uma dessas, preste atenção na hora de conectar o arduino, a porta nova que aparecer e ela ;).
Enfim, vamos ao código
--------------------------------------
int valor=0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(valor);
delay(2000);
valor++;
if(valor ==100){
valor=0;
}
}
------------------------------
Esse programa basicamente é um contador de 0 a 100 que, quando chega a 100 volta pro zero, configurado em 2 segundos por que 1 segundo acho muito^^
No monitor serial voce pode degustar do bixinho fazendo a contagem:)
Agora vem o pulo do gato.Feche o monitor serial do arduino e volte para a pasta nodearduino, lah dentro clique com o direito no vazio e abra um virtualterminal,
No DOS do linux digite node app.js
se der certo voce vera na tela do seu prompt os numeros subindo de 1 a 100, numa escala de 2 em 2 s.
Ótimo se você chegou até aqui então você conseguiu instalar o ubuntu, o node, o java, o arduino e linká-los a porta serial. parabens, ja pode tomar suas cervas :)
Mas ahe você me pergunta, pra que essa patifaria toda?
Sim, agora a mágica vai começar nas vias de fato :)
Dentro da pasta nodearduino que criamos na área de trabalho, abra novamente o virtuaterminal daquele jeito maroto que cansei de digitar e digite o seguinte comando:
sudo npm install plotly
Depois acesse o site http://www.plot.ly/ e crie um cadastro gratuito lah.
Depois baixe o código tanto do node quanto do arduino aqui
O codigo do arduino não interessa tanto, é só uma sketch que faz a leitura de um sensor qualquer e o imprime na serial. Qualquer coisa que voce colocar na Serial irá printar no site plotly
Já o codigo node é o que é necessario fazer algumas alterações. Primeiro altere os campos descriminados no seguinte codigo do node desponibilizado abaixo:
plotly = require(‘plotly’)(‘usuário’,’api’), substitua usuário pelo seu nome de usuário do plot.ly e api pelo seu código API gerado no site.
token = ‘token’;-> substitua token pelo seu código token gerado no site.
var portName = ‘/dev/ttyACM0’;
-> nesta linha coloque o nome da sua porta COM exemplo: COM3 ou COM4 (descubra indo a arduino IDE menu Tools/Ferramentas -> Serial Port / Porta Serial).
o codigo node estará demonstrado aqui embaixo:
-------------------------
var serialport = require('serialport'),
plotly = require('plotly')('usuário','api'),
token = 'token';
var portName = 'portaCom';
var sp = new serialport.SerialPort(portName,{
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("\r\n")
});
// helper function to get a nicely formatted date string
function getDateString() {
var time = new Date().getTime();
// 32400000 is (GMT+9 Japan)
// for your timezone just multiply +/-GMT by 36000000
var datestr = new Date(time +32400000).toISOString().replace(/T/, ' ').replace(/Z/, '');
return datestr;
}
var initdata = [{x:[], y:[], stream:{token:token, maxpoints: 500}}];
var initlayout = {fileopt : "extend", filename : "sensor-test"};
plotly.plot(initdata, initlayout, function (err, msg) {
if (err) return console.log(err)
console.log(msg);
var stream = plotly.stream(token, function (err, res) {
console.log(err, res);
});
sp.on('data', function(input) {
if(isNaN(input) || input > 1023) return;
var streamObject = JSON.stringify({ x : getDateString(), y : input });
console.log(streamObject);
stream.write(streamObject+'\n');
});
});
-------------------------------
Salve com um nome de teste1.js e abra o prompt do LINUX na pasta que voce salvou, clicando com o direito do mouse e marcando a opção abrir num terminal :)
Depois no terminal e só dar o comando:
node teste1.js
O codigo ficou grande pessoal mas é isso mesmo. Agradecer aos criadores desse blog:
Que me ensinou bastante coisa e ao vídeo também, que me insinou bastante coisa boa
E no mais é isso ahe pessoal, o tuto fico grande mas depois posto um vídeo meu demonstrando o bixo funcionando.
E como prometido, eis o vídeo
Nenhum comentário:
Postar um comentário