Arduino: Conexão à Internet sem Ethernet Shield

Arduino Ethernet

Veremos uma maneira alternativa de enviar dados do nosso arduino para um Servidor Web (Web Server) sem a necessidade de Shields.

Antes de iniciar, gostaria de falar um pouco das vantagens e desvantagens deste processo.

Vantagens

1- Conforme dito acima, não é necessário nem um shield especifico para Ethernet poupamos por 1 lado.

2- Não haverá a necessidade de se preocupar com bibliotecas especificas de Ethernet shield.

“O que muitas vezes pode nós dar uma grande dor de cabeça, dependendo do modelo de seu shield”

3- Os dados recebidos por essa aplicação pode ser tratados e usados em algum outro modulo para gerar gráficos, planilhas etc.

Desvantagens

1- Para que seu projeto funcione perfeitamente, terá que hospedar seu arduino em um computador com acesso a internet.

2-  Nesta maquina terá uma aplicação desktop que irá gerenciar a comunicação arduino e Servidor, se por acaso tiver que usar essa maquina apenas para o arduino se comunicar sem outros serviços. Vai encarecer a longo prazo está técnica.

Se for o seu caso é recomendado o uso de shield.

 

Montagem

Vamos a montagem do exemplo feita no arduino, com 1 sensor de temperatura LM35 e 1 led

 

Esquema_bb

 

O led está ligado no pino 3 digital.

O LM35 ligamos da segunite forma (a parte reta do sensor deverá estar para frente).

Da Esquerda para direita

Pino 1 –  5 volts do arduino.

Pino 2 – entrada analogica A0 do arduino.

Pino 3 – Ground.

Código

Para entender melhor o código e como funciona o LM35, é bem simples.

Em determinada temperatura o LM35 emite um mili voltagem que através de uma simples conversão matemática é possível encontrar a temperatura aproximada lida.

Veja a explicação passo a passo no comentário do código.

 

/*
Conversor Analógico->Digital de 10 bits (1024).

O valor máximo que pode entrar no A/D é 5V.
Sendo assim, quando entrar:
-> 5V o valor lido será 1023
-> 2.5V o valor lido será 511 ou (1023/2)
-> 0V o valor lido será 0
Resumindo, é uma regra de três normal onde:
5V – 1023
X  – Y
*/
int pinoSensor = 0; //pino que está ligado o terminal central do LM35 (porta analogica 0)
int valorLido = 0; //valor lido na entrada analogica
float temperatura = 0; //valor Lido convertido para temperatura
int led =3; //pino do led

void setup() {
Serial.begin(9600); //Inicializa comunicação Serial
pinMode(led, OUTPUT); //Seta como saída
}

void loop() {
valorLido = analogRead(pinoSensor); //lê a porta analogica do LM35
temperatura = (valorLido * 0.00488);  // 5V / 1023 = 0.00488 (precisão do A/D)
temperatura = temperatura * 100; //Converte milivolts para graus celcius, lembrando que a cada 10mV equivalem a 1 grau celcius
valorLido =temperatura;
Serial.println(temperatura);//imprime na serial
char c =Serial.read();      //espera um char na serial

//se for 1 liga o led

if(c == ’1′){

digitalWrite(led,HIGH);

//se for 0 desliga ou mantém desligado
}else if(c==’0′){
digitalWrite(led,LOW);

}

delay(5000); //espera 5 segundos para fazer nova leitura
}

Veja o vídeo:

 

Os fontes da aplicação java e do Servidor web, deixarei no link abaixo.

Para proceder com este exemplo você terá que ter as seguintes instalação na sua maquina e/ou no Servidor:

Java JDK

NetBeans ou Eclipse configurado com Apache TomCat (Preferível).

MySQL 1.5 ou Superior

Bibliotecas Apache HTTP e RXTX do Arduino (Já inclusa no download).

Observação : A aplicação local e o servidor Java estão apenas configurados para  receber apenas 1 parâmetro do arduino (temperatura do LM35).

Lembre-se que ao copiar a aplicação Desktop Java não esquecer de copiar a dll rxtxSerial, essa dll que fará a aplicação Java mapear o arduino através do Windows.

Para enviar mais de um parâmetro de seu arduino será necessário modificar algumas linhas de código na aplicação Desktop , Servidor e adicionar os Campos no Banco de dados.

Existe várias formas de resolver está solução, sinta-se a vontade para modificar os fontes.

Este exemplo poderá ajudar na montagem do servidor web e banco de dados:

www.tecnologiaeciencia.com.br/projeto-arduino-com-ethernet-shield-sensor-aplicacao-web-java

Link dos Fontes

http://www.mediafire.com/download/316tpi2g1vwckbd/fontes.rar

 

Leia mais em: http://tecnologiaeciencia.com.br/arduino-conexao-a-internet-sem-ethernet-shield-javaino/#sthash.Uq3boCrD.dpuf

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s