Boa noite galera ! 
Comprei o EthernetShield W5100 e importei na library do arduino Mega, mas não estou conseguindo programar para que meu aplicativo android acenda e apaga a luz, ja procurei sobre isso mas não achei.
Estou utilizando este exemplo só que é com o Ethernet 28J60,(http://www.instructables.com/id/Arduino-Android-LED-control-Using-E...) utilizei o exemplo deste site para fazer a comunicação do aplicativo android, porém ao substituir algumas programações para o W5100 o meu Arduino Mega nao reconhece algumas linhas de programação como ServiceRequest .. peço ajuda de vocês para saber como fazer esta comunicação entre o Ether W5100 e android, se alguém tiver alguma opção mais fácil tbm será bem vindo..

Obrigado!!!

Exibições: 870

Responder esta

Respostas a este tópico

Olá

Talvez esse projeto possa te ajudar

Utilizo também W5100

Utilizei as bibliotecas que estão nos exemplos da ide arduino

#include <SPI.h>
#include <String.h>
#include <Ethernet.h>

byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x9B, 0x36 }; // Endereço Mac
byte ip[] = { 192, 168, 0, 110 }; // Endereço de Ip da sua Rede
EthernetServer server(8090); // Porta de serviço

int area = 2;
int sala = 3;
int escritorio = 5;
int trava = 6;
int portao = 7;
String readString = String(30); // string para buscar dados de endereço

// para o optacoplador Área
const int analogArea = A0;
int sensorArea = 0;
String statusArea;

// para o optacoplador Sala
const int analogSala = A1;
int sensorSala = 0;
String statusSala;

// para o optacoplador Escritório
const int analogEscritorio = A2;
int sensorEscritorio = 0;
String statusEscritorio;

boolean statusPortao = false; // Variável para o status do portão

void setup(){
// Inicia o Ethernet
Ethernet.begin(mac, ip);
// Define os pinos como saída
pinMode(area, OUTPUT);
pinMode(sala, OUTPUT);
pinMode(escritorio, OUTPUT);
pinMode(trava, OUTPUT);
pinMode(portao, OUTPUT);

// Inicia a comunicação Serial
Serial.begin(9600);
}

void loop(){

//Verifica o status do sensor da Área
sensorArea = analogRead(analogArea);

if (sensorArea >=300)
{
statusArea = ("lampada area ligada");
}
else
{
statusArea = ("lampada area desligada");
}

//Verifica o status do sensor da Sala
sensorSala = analogRead(analogSala);

if (sensorSala >=300)
{
statusSala = ("lampada sala ligada");
}
else
{
statusSala = ("lampada sala desligada");
}

//Verifica o status do sensor do Escritório
sensorEscritorio = analogRead(analogEscritorio);

if (sensorEscritorio >=300)
{
statusEscritorio = ("lampada escritorio ligada");
}
else
{
statusEscritorio = ("lampada escritorio desligada");
}





// Criar uma conexão de cliente
EthernetClient client = server.available();

if (client) {
while (client.connected())
{
if (client.available())
{
char c = client.read();
// ler caractere por caractere vindo do HTTP
if (readString.length() < 30)
{
// armazena os caracteres para string
readString += (c);
}

//se o pedido HTTP terminou
if (c == '\n')
{
// vamos verificar se a lâmpada da área deve ser ligada
// Se a string possui o texto L=Ligar
if(readString.indexOf("LigarArea")>=0)
{
// A lâmpada vai ser ligada
digitalWrite(area, HIGH);

}
// Se a string possui o texto L=Desligar
if(readString.indexOf("DesligarArea")>=0)
{
// A lâmpada vai ser desligada
digitalWrite(area, LOW);

}

{
// vamos verificar se a lâmpada da sala deve ser ligada
// Se a string possui o texto L=Ligar
if(readString.indexOf("LigarSala")>=0)
{
// A lâmpada vai ser ligada
digitalWrite(sala, HIGH);

}
// Se a string possui o texto L=Desligar
if(readString.indexOf("DesligarSala")>=0)
{
// A lâmpada vai ser desligada
digitalWrite(sala, LOW);

}

{
// vamos verificar se a lâmpada do escritório deve ser ligada
// Se a string possui o texto L=Ligar
if(readString.indexOf("LigarEscritorio")>=0)
{
// A lâmpada vai ser ligada
digitalWrite(escritorio, HIGH);

}
// Se a string possui o texto L=Desligar
if(readString.indexOf("DesligarEscritorio")>=0)
{
// A lâmpada vai ser desligada
digitalWrite(escritorio, LOW);

}


{
// vamos verificar se o portão deve abrir
// Se a string possui o texto L=Ligar
if(readString.indexOf("LigarPortao")>=0)
{
// O portão vai ser aberto
digitalWrite(portao, HIGH);
delay (1000);
digitalWrite(portao, LOW);
statusPortao = true;
}
// Se a string possui o texto L=Desligar
if(readString.indexOf("DesligarPortao")>=0)
{
// O portão vai ser fechado
digitalWrite(portao, HIGH);
delay (1000);
digitalWrite(portao, LOW);
statusPortao = false;
}

{
// vamos verificar se a trava deve ser aberta
// Se a string possui o texto L=Ligar
if(readString.indexOf("LigarTrava")>=0)
{
// A trava vai ser aberta
digitalWrite(trava, HIGH);
delay (2000);
digitalWrite(trava, LOW);

}

// dados HTML de saída começando com cabeçalho padrão
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();


client.println("<font size='20'>");

// aqui vai imprimir o conteúdo da string
client.print("<h5>");
client.print(statusArea);
client.print("</h5>");
// aqui vai imprimir o conteúdo da string
client.print("<h5>");
client.print(statusSala);
client.print("</h5>");
// aqui vai imprimir o conteúdo da string
client.print("<h5>");
client.print(statusEscritorio);
client.print("</h5>");



client.println("<font size='20'>");
if (statusPortao) {
client.print("<h5>");
client.println("PortaoAberto");
client.print("<h5>");
}
else
{
client.print("<h5>");
client.println("PortaoFechado");
client.print("<h5>");
}




//limpa string para a próxima leitura
readString="";

// parar cliente
client.stop();
}
}
}
}
}
}
}
}
}

Só que eu fiz o aplicativo android no App inventor segue as fotos:

Essa é a tela, que ja mudei varias vezes

Esses são os blocos da lógica 

Caso se interesse dê uma olhada nas video aulas do androi e arduino no you tube:

https://www.youtube.com/user/TecnoEduardo

O Eduardo explica tudo sobre android e arduino.

opa amigo, obrigado vou testar aqui tenha um bom dia :)

cara so uma pergunta o alarme que sensor vc utilizou?

Aqui tem um bom exemplo simples ligando e desligando um led a partir do navegador.

http://eletrodex.blogspot.com.br/2014/10/modulo-shield-ethernet-w51...

Testei e funcionou bem!

Valeu!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço