gostaria de um desafio pra mim mesmo quero acender lampada fora da minha rede ja criei conta no dyndns ja configurei router porta 80

prezados amigo alguem pode ajudar 

tenho code do jose miguel me passou.

ele me ajudou muito.sem ele tava perdido

resulmindo

quero ligar lampada fora da minha rede.

via celular 3g

tenho dyndns 

o resto nao sei nada.esse eo code

#include <PS2Keyboard.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EEPROM.h>
#include <LiquidCrystal.h>
#include "DHT.h"
#define DHTPIN A12 // what pin we're connected to
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
#define BAUD_RATE 9600
#define TERM_CHAR '\n'
#define BUF_LEN 30
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 188 };
byte gateway[] = { 192, 168, 0, 1 };
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(80);
byte sampledata=50;
float h;
float t;
int i;
int count=0;
boolean DispAlarme = false;
boolean FlagAlarme = true;
boolean AIMode = false;
char c;
String readString = String(BUF_LEN);
PS2Keyboard ps2keyboard;
String senha = "2589";
String senhadedesbloqueio = "4526";
String senhadigitada = "";
const int DataPin = 2;
const int IRQPin = 3;
int buzzer = 20;
int ContatoSecoState1 = 0;
int ContatoSecoState2 = 0;
int ContatoSecoState3 = 0;
int ContatoSecoState4 = 0;
int ContatoSecoState5 = 0;
int ContatoSecoState6 = 0;
int ContatoSecoState7 = 0;
int ContatoSecoState8 = 0;
const int rele1 = 22;
const int rele2 = 23;
const int rele3 = 24;
const int rele4 = 25;
const int rele5 = 26;
const int rele6 = 27;
const int rele7 = 28;
const int rele8 = 29;
const int rele9 = 42;
const int rele10 = 43;
const int contatoseco8 = 41;
const int contatoseco7 = 40;
const int contatoseco6 = 49;
const int contatoseco5 = 48;
const int contatoseco4 = 47;
const int contatoseco3 = 46;
const int contatoseco2 = 45;
const int contatoseco1 = 44;
const int Sirene = 33;
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);
void setup(){
lcd.begin(16, 2);


lcd.print("OI RESIDENTE");
pinMode (buzzer, OUTPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
pinMode(rele4, OUTPUT);
pinMode(rele5, OUTPUT);
pinMode(rele6, OUTPUT);
pinMode(rele7, OUTPUT);
pinMode(rele8, OUTPUT);
pinMode(rele9, OUTPUT);
pinMode(rele10, OUTPUT);
pinMode(Sirene, OUTPUT);

pinMode(contatoseco6, INPUT);
pinMode(contatoseco5, INPUT);
pinMode(contatoseco4, INPUT);
pinMode(contatoseco3, INPUT);
pinMode(contatoseco2, INPUT);
pinMode(contatoseco1, INPUT);
pinMode(contatoseco2, INPUT);
pinMode(contatoseco1, INPUT);

Ethernet.begin(mac, ip, gateway, subnet);
Serial.begin(9600);
Serial2.begin(9600);
Serial3.begin(9600);
delay (1000);
ps2keyboard.begin(DataPin, IRQPin);
Serial.begin(9600);
Serial.println("aguardando teclas");
inicia_lcd();
inicia_buzzer();
digitalWrite(Sirene, HIGH);
delay (200);
digitalWrite(Sirene, LOW);
FlagAlarme = true;
lcd.setCursor(0,1);
lcd.clear();
lcd.print("ALARME ATIVADO");
Serial.println("alarme ativado");


}
void loop(){
if (ps2keyboard.available())
{
char teclapressionada = ps2keyboard.read();
tone(buzzer, 1500);
delay (200);
noTone(buzzer);
delay(200);
Serial.println(teclapressionada);
senhadigitada += teclapressionada;
if (teclapressionada == PS2_ENTER)
{
Serial.println("a tecla enter foi pressionada");
Serial.println("senha digitada.: "+senhadigitada);

if (senha != senhadigitada.substring(0,4))
{
inicia_buzzer();
Serial.println("codigo incorreto");
delay (2000);
count++;
lcd.clear();
lcd.print("INSIRA A SENHA");

if (count == 3)
{
tone(buzzer,1500);
delay(2000);
noTone(buzzer);
delay(500);
Serial.println("acionamento por senha errada");
count = 0;
}

}
if (senha == senhadigitada.substring(0,4))
{
inicia_buzzer();
digitalWrite(Sirene, HIGH);
delay (200);
digitalWrite(Sirene, LOW);
FlagAlarme = true;
lcd.setCursor(0,1);
lcd.clear();
lcd.print("ALARME ATIVADO");
Serial.println("alarme ativado");
count = 0;

}

senhadigitada = "" ;
}
else if (teclapressionada == PS2_DELETE)
{
senhadigitada = "";
Serial.println("a tecla anular foi pressionada");
}
}


leserial();
rede();
count++;

if(count == 1000){
h = dht.readHumidity(); //A aquisição dessa informação demora 1 seg , então colocar isto no loop principal afeta o desempenho do programa
t = dht.readTemperature(); // Mesma regra
lcd.setCursor(0,1);
lcd.print("RH: ");
lcd.setCursor(4,1);
lcd.print(h);


lcd.setCursor(8,1);
lcd.print("Temp: ");
lcd.setCursor(13,1);
lcd.print(t);
count=0;
}
if(readString.indexOf("r1on") >0)
{

digitalWrite(rele1, HIGH);
Serial.println("Ligando Rele 1");
Serial3.println("Ligando Rele 1");
Serial.println(readString);
}
if(readString.indexOf("r1off") >0)
{

digitalWrite(rele1, LOW);
Serial.println("Desligando Rele 1");
Serial3.println("Desligando Rele 1");
Serial.println(readString);
}
if(readString.indexOf("r2on") >0)
{
digitalWrite(rele2, HIGH);
delay(1000);
digitalWrite(rele2,LOW);
Serial.println("Ligando Rele 2");
Serial3.println("Ligando Rele 2");
Serial.println(readString);

}
if(readString.indexOf("r2off") >0)
{

digitalWrite(rele2, LOW);
Serial.println("Desligando Rele 2");
Serial3.println("Desligando Rele 2");
Serial.println(readString);
}
if(readString.indexOf("r3on") >0)
{
digitalWrite(rele3, HIGH);
Serial.println("Ligando Rele 3");
Serial3.println("Ligando Rele 3");
Serial.println(readString);

}
if(readString.indexOf("r3off") >0)
{

digitalWrite(rele3, LOW);
Serial.println("Desligando Rele 3");
Serial3.println("Desligando Rele 3");
Serial.println(readString);
}
if(readString.indexOf("r4on") >0)
{
digitalWrite(rele4, HIGH);
Serial.println("Ligando Rele 4");
Serial3.println("Ligando Rele 4");
Serial.println(readString);

}
if(readString.indexOf("r4off") >0)
{

digitalWrite(rele4, LOW);
Serial.println("Desligando Rele 4");
Serial3.println("Desligando Rele 4");
Serial.println(readString);
}

if(readString.indexOf("r5on") >0)
{
digitalWrite(rele5, HIGH);
Serial.println("Ligando Rele 5");
Serial3.println("Ligando Rele 5");
Serial.println(readString);

}
if(readString.indexOf("r5off") >0)
{

digitalWrite(rele5, LOW);
Serial.println("Desligando Rele 5");
Serial3.println("Desligando Rele 5");
Serial.println(readString);
}

if(readString.indexOf("r6on") >0)
{
digitalWrite(rele6, HIGH);
Serial.println("Ligando Rele 6");
Serial3.println("Ligando Rele 6");
Serial.println(readString);

}
if(readString.indexOf("r6off") >0)
{

digitalWrite(rele6, LOW);
Serial.println("Desligando Rele 6");
Serial3.println("Desligando Rele 6");
Serial.println(readString);
}
if(readString.indexOf("r7on") >0)
{
digitalWrite(rele7, HIGH);
Serial.println("Ligando Rele 7");
Serial3.println("Ligando Rele 7");
Serial.println(readString);

}
if(readString.indexOf("r7off") >0)
{

digitalWrite(rele7, LOW);
Serial.println("Desligando Rele 7");
Serial3.println("Desligando Rele 7");
Serial.println(readString);
}
if(readString.indexOf("r8on") >0)
{
digitalWrite(rele8, HIGH);
Serial.println("Ligando Rele 8");
Serial3.println("Ligando Rele 8");
Serial.println(readString);

}
if(readString.indexOf("r8off") >0)
{

digitalWrite(rele8, LOW);
Serial.println("Desligando Rele 8");
Serial3.println("Desligando Rele 8");
Serial.println(readString);
}
if(readString.indexOf("r9on") >0)
{
digitalWrite(rele9, HIGH);
Serial.println("Ligando Rele 9");
Serial3.println("Ligando Rele 9");
Serial.println(readString);

}
if(readString.indexOf("r9off") >0)
{

digitalWrite(rele9, LOW);
Serial.println("Desligando Rele 9");
Serial3.println("Desligando Rele 9");
Serial.println(readString);
}
if(readString.indexOf("r10on") >0)
{
digitalWrite(rele10, HIGH);
Serial.println("Ligando Rele 10");
Serial3.println("Ligando Rele 10");
Serial.println(readString);

}
if(readString.indexOf("r10off") >0)
{

digitalWrite(rele10, LOW);
Serial.println("Desligando Rele 10");
Serial3.println("Desligando Rele 10");
Serial.println(readString);
}

if(readString.indexOf("all=Ativar+Alarme") >0)//replaces if(readString.contains("L=1"))
{
FlagAlarme = true;
lcd.setCursor(0,1);
lcd.print(" Alarme Ativado ");
//delay(10000);
}
if(readString.indexOf("all=Desativar+Alarme") >0)//replaces if(readString.contains("L=1"))
{
FlagAlarme = false;
DispAlarme = false;
digitalWrite(Sirene, LOW);
lcd.setCursor(0,1);
lcd.print(" Alarme Desativado ");

}


if (FlagAlarme == true){
le_sensores();


if (DispAlarme == true){
digitalWrite(Sirene, HIGH);
lcd.setCursor(0,1);
lcd.print("Falha na Seguranca");
}
}
readString="";

}

void le_sensores(){
ContatoSecoState1 = digitalRead(contatoseco1);
ContatoSecoState2 = digitalRead(contatoseco2);
ContatoSecoState3 = digitalRead(contatoseco3);
ContatoSecoState4 = digitalRead(contatoseco4);
ContatoSecoState5 = digitalRead(contatoseco5);
ContatoSecoState6 = digitalRead(contatoseco6);
ContatoSecoState7 = digitalRead(contatoseco7);
ContatoSecoState8 = digitalRead(contatoseco8);

if (ContatoSecoState1 == LOW){
DispAlarme = true;
}

if (ContatoSecoState2 == LOW){
DispAlarme = true;
}
if (ContatoSecoState3 == LOW){
DispAlarme = true;
}

if (ContatoSecoState4 == LOW){
DispAlarme = true;
}
if (ContatoSecoState5 == LOW){
DispAlarme = true;
}
if (ContatoSecoState6 == LOW){
DispAlarme = true;
}
if (ContatoSecoState7 == LOW){
DispAlarme = true;
}
if (ContatoSecoState8 == LOW){
DispAlarme = true;
}

}
void leserial(){
while(Serial.available()){
c = (char) Serial.read();
if (readString.length() < 100)
{
readString += c;
}
delay(1);
}
while(Serial2.available()){
c = (char) Serial2.read();
if (readString.length() < 100)
{

readString += c;
}
delay(1);
}
while(Serial3.available()){
c = (char) Serial3.read();
if (readString.length() < 100)
{

readString += c;
}
delay(1);
}

}

void rede(){
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
c = client.read();
if (readString.length() < 100)
{
readString += c;
}

if (c == '\n') {

if (readString.indexOf("?") <0)
{

}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("<html><head>");
client.print("<title>AUTOMAÇAO MIGUEL</title>");
client.println("</head>");
client.print("<body bgcolor='#444444'>");

client.println("<br><hr />");
client.println("<h1><div align='center'><font color='#2076CD'>AUTOMACAO CASA MIGUEL</font color></div></h1>");
client.println("<hr /><br>");
client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Painel de Controle WEB:</font></div>");
client.println("<br>");
client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Temperatura:");
client.print(t);
client.println("</font></div>");
client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Umidade:");
client.print(h);
client.println("</font></div>");
client.println("<br>");
client.println("<table border='1' width='100%' cellpadding='5'>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Sala<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r1on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r1off value='Apagar'></form></td>");

if (digitalRead(rele1)==1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
client.println("</tr>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Cozinha<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r2on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r2off value='Apagar'></form></td>");
if (digitalRead(rele2) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Garagem<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r3on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r3off value='Apagar'></form></td>");
if (digitalRead(rele3) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");

client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Suite<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r4on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r4off value='Apagar'></form></td>");
if (digitalRead(rele4) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");

client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Quarto<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r5on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r5off value='Apagar'></form></td>");
if (digitalRead(rele5) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Banheiro Suite<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r6on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r6off value='Apagar'></form></td>");
if (digitalRead(rele6) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Escritorio<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r7on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r7off value='Apagar'></form></td>");
if (digitalRead(rele7) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Banheiro<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r8on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r8off value='Apagar'></form></td>");
if (digitalRead(rele8) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Portão Social<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r9on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r9off value='Apagar'></form></td>");
if (digitalRead(rele9) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
client.println("<tr bgColor='#222222'>");
client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Portão Garagem<br></font></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r10on value='Acender'></form></td>");
client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r10off value='Apagar'></form></td>");
if (digitalRead(rele10) == 1)
client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
client.println("</tr>");
client.println("</table>");

client.println("<br>");
if (FlagAlarme == 0)
client.println("<form method=get><input type=submit name=all value='Ativar Alarme'></form>");
else
client.println("<form method=get><input type=submit name=all value='Desativar Alarme'></form>");
client.println("<br>");

client.println("<form method=get><input name='ip' size='17' maxlength=17>");
client.println("<form method=get><input value='Salvar' type=submit></form>");

client.println("</body></html>");


client.stop();
}
}
}
}
}

void inicia_buzzer()
{
tone(buzzer,1500);
delay(900);
noTone(buzzer);
delay(100);
tone(buzzer,1500);
delay(900);
noTone(buzzer);
delay(100);
tone(buzzer,1500);
delay(900);
noTone(buzzer);
delay(100);
tone(buzzer,1500);
delay(900);
noTone(buzzer);
delay(100);
tone(buzzer,1500);
delay(900);
noTone(buzzer);
delay(100);
}
void inicia_lcd()
{
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("INSIRA SENHA");
}

Exibições: 1411

Responder esta

Respostas a este tópico

Xampp no arduino? 

implementar codigo em javascript, codigo de que? Codigo de segurança?

Explica aí pra gente como fazer isso. 

Acho que aqui pode ter alguma  solução:

http://lusorobotica.com/index.php?topic=1049.0

boa leitura

Neste link tem mais informações sobre o Webduino:

https://code.google.com/p/webduino/

Na internet tem varios links sobre webduino server, a maioria em ingles, mas parace ser muito legal esse webserver totalmente compativel com ethernet shield

Cara, não tem como instalar xampp ou php ou nenhum pacote pra linux no arduino. É impressão minha, ou ficou mesmo parecendo que vc jogou sugestões assim ao vento? ficou parecendo que vc é um chutador, que simplesmente disse aquilo por dizer, sem nem mesmo saber como funciona, só porque já ouviu dizer o nome e supostamente imaginou que serviria ao propósito.

É a mesma coisa pra javascript. Como é que um código tratado pelo navegador do cliente (client side) conseguiria gerenciar um mecanismo de segurança contra acesso indevido a pagina servida pelo ethernet shield.

A mesma coisa pro php: fiquei abismado ao ver vc sugerir implementar código em php no arduino. Acha mesmo que isso é possível?

a verdade adriano eh possivel fazer o uso arduino, php , html ate mysql tudo se converssando mas nao tudo instalado no arduino e sim no COMPUTADOR lendo informaçoes por serial ou por rede (o que em alguns casos eu acho so mais trabalho do que realmente precisa) o ponto aqui eh que o acesso com o arduinmo pela rede ja esta funcionando no caso do moises nos so estamos discutindo uma maneira de colocar as informaçoes pra ele passada com algum nivel de segurança como acesso com login etc.

e outra a biblioteca do exemplo do link eh mais velha q andar pra tras eim !!!!

nao confunda os outros com exemplos mal selecionados ...

mas agradecemos o seu empenho !!! 

Caro senhor imhugo(se isto parece ser o seu nome), primeiro com todo respeito a quanto tempo vc esta aqui no LDG?que trabalho vc desenvolve aqui no LDG?Vc sequer chegou a ler o que eu postei, vc conhece o trabalho que faço aqui no LDG? façamos o seguinte eu vou pegar o codigo  do Moises e procurar implementa-lo de acordo com o que eu postei, a unica diferença é que não sou o dono da verdade e sou humilde o suficiente pra reconhecer que posso ter falado alguma bobagem.Quanto a vc procure saber lidar com o povo daqui , o fato de alguém não saber algo ou tentar ajudar não é motivo pra vc sair escrachando, felizmente já estou acustumado com gente do seu tipo e a resposta vem com o tempo.

atenciosamente

EITA A DESCURSAO AQUI TA E BOA

E VOU APRENDENDO

KKKKKKKKKK

Cara n ligue pra essas coisa so nao podemos fazer do topico do moises um debate pessoal de quem sabe mais ou nao .... e o senhor imhugo acho melhor escolher melhor suas palavras pq senao daqui a pouco ninguem mais vai querer ajuda-lo aqui no ldg entao n percamos o foco principal q eh ajudar o moises

Ta certíssimo, peço desculpas ao camarada adriano aí que estendeu as asas igual um pavão, hehehe.

Mas o que não dá é ver sugestões sem cabimento, chutadas, sem um  mínimo de noção quanto à aplicabilidade. Como vc bem disse, só confunde. Quer ajudar? Seja acertivo

Blz acho q ja rendeu essa discucao agora a minha ideia e fazer uma pagina html no arduino com um login se o valor do login for corrento ele libera pra escrever a pagina c os comandos da automacao ja passados pro moises porem dessa forma ele vai ter q sempre retornar a pagina de login pq senao estara aberto constantemente pra acesso externo

Por isso que o login e senha precisam ser passados como parametros via get

E o sketch precisa ser ajustado para que todos os botões enviem, além do on/OFF, também os parámetros inicialmente recebidos e autenticados de login/senha.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço