so, eu sei como colocar um botao no site, so nao sei como definir para ele ligar uma porta digital
estou usando o codigo do php
<html>
<head></head>
<body>
<?php
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Se conecta ao IP e Porta:
socket_connect($sock,"187.15.6.131", 8081);
// Executa a ação correspondente ao botão apertado.
if(isset($_POST['bits'])) {
$msg = $_POST['bits'];
if(isset($_POST['Fora' ])){ if($msg[0]=='1') { $msg[0]='0'; } else {$msg[0]='1'; }}
if(isset($_POST['Quarto1'])){ if($msg[1]=='1') { $msg[1]='0'; } else {$msg[1]='1'; }}
if(isset($_POST['Quarto2'])){ if($msg[2]=='1') { $msg[2]='0'; } else {$msg[2]='1'; }}
if(isset($_POST['Sala' ])){ if($msg[3]=='1') { $msg[3]='0'; } else {$msg[3]='1'; }}
if(isset($_POST['Pequeno'])){ $msg = 'P#'; }
if(isset($_POST['Grande' ])){ $msg = 'G#'; }
socket_write($sock,$msg,strlen($msg));
}
socket_write($sock,'R#',2); //Requisita o status do sistema.
// Espera e lê o status e define a cor dos botões de acordo.
$status = socket_read($sock,6);
if (($status[4]=='L')&&($status[5]=='#')) {
if ($status[0]=='0') $cor1 = lightcoral;
else $cor1 = lightgreen;
if ($status[1]=='0') $cor2 = lightcoral;
else $cor2 = lightgreen;
if ($status[2]=='0') $cor3 = lightcoral;
else $cor3 = lightgreen;
if ($status[3]=='0') $cor4 = lightcoral;
else $cor4 = lightgreen;
echo "<form method =\"post\" action=\"teste.php\">";
echo "<input type=\"hidden\" name=\"bits\" value=\"$status\">";
echo "<button style=\"width:70; background-color: $cor1 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Fora\">Fora</button></br></br>";
echo "<button style=\"width:70; background-color: $cor2 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Quarto1\">Quarto1</button></br></br>";
echo "<button style=\"width:70; background-color: $cor3 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Quarto2\">Quarto2</button></br></br>";
echo "<button style=\"width:70; background-color: $cor4 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Sala\">Sala</button></br></br></br>";
echo "<button style=\"width:90;font: bold 14px Arial\" type = \"Submit\"Name = \"Pequeno\">Portao Pequeno</button></br></br>";
echo "<button style=\"width:90;font: bold 14px Arial\" type = \"Submit\"Name = \"Grande\">Portao Grande</button></br></br>";
echo "</form>";
}
// Caso ele não receba o status corretamente, avisa erro.
else { echo "Falha ao receber status da casa."; }
socket_close($sock);
?>
</body>
</html>
e no arduino
#include <SPI.h>
#include <Ethernet.h>
//Configurações do Ethernet Shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,2, 22 }; // ip que o arduino assumirá
byte gateway[] = { 192,168,2, 1 }; // ip do roteador
byte subnet[] = { 255, 255, 0, 0 };
// String que representa o estado dos dispositivos
char Luz[7] = "0000L#";
Server server(8081); // Cria o servidor na porta 8081
// String onde é guardada as msgs recebidas
char msg[7] = "0000L#";
void setup() {
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(A4,OUTPUT);
pinMode(A5,OUTPUT);
}
void loop() {
Client client = server.available();
// SE receber um caracter...
if (client) {
// guarda o caracter na string 'msg'
msg[1]=msg[2]; msg[2]=msg[3]; msg[3]=msg[4]; msg[4]=msg[5];msg[5]=msg[6];
msg[6] = client.read();
if (msg[6]=='#') {
switch(msg[5]) {
case 'R':
// Se receber o comando 'R#' envia de volta o status dos
// dispositivos. (Que é a string 'Luz')
client.write(Luz);
break;
case 'P':
// Caso P#, aciona o pino do portão pequeno por 1s.
digitalWrite(A4,HIGH);
delay(1000);
digitalWrite(A4,LOW);
break;
case 'G':
// Caso G#, aciona o pino do portão pequeno por 1s.
digitalWrite(A5,HIGH);
delay(1000);
digitalWrite(A5,LOW);
break;
case 'L':
// Caso L#, ele copia os 4 bytes anteriores p/ a
// string 'Luz' e cada byte representa um
// dispositivo, onde '1'=ON e '0'=OFF
Luz[0]=msg[1];
Luz[1]=msg[2];
Luz[2]=msg[3];
Luz[3]=msg[4];
if (Luz[0]=='1') digitalWrite(A0,HIGH); else digitalWrite(A0,LOW);
if (Luz[1]=='1') digitalWrite(A1,HIGH); else digitalWrite(A1,LOW);
if (Luz[2]=='1') digitalWrite(A2,HIGH); else digitalWrite(A2,LOW);
if (Luz[3]=='1') digitalWrite(A3,HIGH); else digitalWrite(A3,LOW);
break;
}
}
}
}
…
njo nada disso , o site sugeriu para hospedar num tal XAMPP, que notei abaixo , que foi atualizado em 22/08/2012, o site ainda funciona normalmente.
Minha duvida esta assim, aqui abaixo esta codigo da progamação , que ainda não alterei ip ,nada disso.
//retirado erro de atualizaç~oes em bibliotecas 28/08
#include <SPI.h>#include <Ethernet.h> //Configurações do Ethernet Shieldbyte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };byte ip[] = { 192,168,2, 22 }; // ip que o arduino assumirábyte gateway[] = { 192,168,2, 1 }; // ip do roteadorbyte subnet[] = { 255, 255, 0, 0 }; // String que representa o estado dos dispositivoschar Luz[7] = "0000L#";
EthernetServer server (80); // cria servidor na porta 80 (estava errado biblioteca e porta) // String onde é guardada as msgs recebidaschar msg[7] = "0000L#"; void setup() { Ethernet.begin(mac, ip, gateway, subnet); server.begin(); pinMode(A0,OUTPUT); pinMode(A1,OUTPUT); pinMode(A2,OUTPUT); pinMode(A3,OUTPUT); pinMode(A4,OUTPUT); pinMode(A5,OUTPUT);} void loop() { EthernetClient client=server.available(); ( estava errado biblioteca ) // SE receber um caracter... if (client) { // guarda o caracter na string 'msg' msg[1]=msg[2]; msg[2]=msg[3]; msg[3]=msg[4]; msg[4]=msg[5]; msg[5]=msg[6]; msg[6] = client.read(); if (msg[6]=='#') { switch(msg[5]) { case 'R': // Se receber o comando 'R#' envia de volta o status dos // dispositivos. (Que é a string 'Luz') client.write(Luz); break; case 'P': // Caso P#, aciona o pino do portão pequeno por 1s. digitalWrite(A4,HIGH); delay(1000); digitalWrite(A4,LOW); break; case 'G': // Caso G#, aciona o pino do portão pequeno por 1s. digitalWrite(A5,HIGH); delay(1000); digitalWrite(A5,LOW); break; case 'L': // Caso L#, ele copia os 4 bytes anteriores p/ a // string 'Luz' e cada byte representa um // dispositivo, onde '1'=ON e '0'=OFF Luz[0]=msg[1]; Luz[1]=msg[2]; Luz[2]=msg[3]; Luz[3]=msg[4]; if (Luz[0]=='1') digitalWrite(A0,HIGH); else digitalWrite(A0,LOW); if (Luz[1]=='1') digitalWrite(A1,HIGH); else digitalWrite(A1,LOW); if (Luz[2]=='1') digitalWrite(A2,HIGH); else digitalWrite(A2,LOW); if (Luz[3]=='1') digitalWrite(A3,HIGH); else digitalWrite(A3,LOW); break; } } }}
Acima esse codigo testei , não apresentou erros , a seguir tem o codigo em PHP, minha duvida seguinte , esse progama , coloco em sequência com outro acima , no site diz seguinte:
"Esta seção fala da página pela qual você acessará o Arduino. No projeto utilizei PHP e me conectava ao Arduino por socket.A página poderá estar hospedada tanto em um servidor de hospedagem como no seu computador. Sempre que você acessa a página, ela envia um ‘R#’ para o Arduino e ele responde informando quais dispositivos estão ligados. A página exibe o botão verde para os dispositivos ON e vermelho para OFF.
Quando você clica em algum botão na página, ela envia o código correspondente para o Arduino e se atualiza.Não entrarei em detalhes sobre como criar um servidor WEB no seu computador e hospedar sua página no seu próprio PC, mas você aprende isso em algum tutorial de PHP.
Se for seguir esse caminho, eu só indico que use o WebServer XAMPP pois é muito simples e fácil de instalar e já vem com PHP.Se for hospedar sua página em algum servidor online, será mais simples, já que não vai precisar instalar nada no PC nem configurar PHP nenhum, além de que os bons serviços de hospedagem oferecem suporte.No Brasil, eu indico a Host.
ESSE PROGAMA EM PHP
<html><head></head><body> <?php$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); erro nessa linha - stray '$' in progama// Se conecta ao IP e Porta:socket_connect($sock,"187.15.6.131", 8081); // Executa a ação correspondente ao botão apertado.if(isset($_POST['bits'])) { $msg = $_POST['bits']; if(isset($_POST['Fora' ])){ if($msg[0]=='1') { $msg[0]='0'; } else { $msg[0]='1'; }} if(isset($_POST['Quarto1'])){ if($msg[1]=='1') { $msg[1]='0'; } else { $msg[1]='1'; }} if(isset($_POST['Quarto2'])){ if($msg[2]=='1') { $msg[2]='0'; } else { $msg[2]='1'; }} if(isset($_POST['Sala' ])){ if($msg[3]=='1') { $msg[3]='0'; } else { $msg[3]='1'; }} if(isset($_POST['Pequeno'])){ $msg = 'P#'; } if(isset($_POST['Grande' ])){ $msg = 'G#'; } socket_write($sock,$msg,strlen($msg));} socket_write($sock,'R#',2); //Requisita o status do sistema. // Espera e lê o status e define a cor dos botões de acordo.$status = socket_read($sock,6);if (($status[4]=='L')&&($status[5]=='#')) { if ($status[0]=='0') $cor1 = lightcoral; else $cor1 = lightgreen; if ($status[1]=='0') $cor2 = lightcoral; else $cor2 = lightgreen; if ($status[2]=='0') $cor3 = lightcoral; else $cor3 = lightgreen; if ($status[3]=='0') $cor4 = lightcoral; else $cor4 = lightgreen; echo "<form method =\"post\" action=\"PaginaPHP.php\">"; echo "<input type=\"hidden\" name=\"bits\" value=\"$status\">"; echo "<button style=\"width:70; background-color: $cor1 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Fora\">Fora</button></br></br>"; echo "<button style=\"width:70; background-color: $cor2 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Quarto1\">Quarto1</button></br></br>"; echo "<button style=\"width:70; background-color: $cor3 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Quarto2\">Quarto2</button></br></br>"; echo "<button style=\"width:70; background-color: $cor4 ;font: bold 14px Arial\" type = \"Submit\" Name = \"Sala\">Sala</button></br></br></br>"; echo "<button style=\"width:90;font: bold 14px Arial\" type = \"Submit\" Name = \"Pequeno\">Portao Pequeno</button></br></br>"; echo "<button style=\"width:90;font: bold 14px Arial\" type = \"Submit\" Name = \"Grande\">Portao Grande</button></br></br>"; echo "</form>";}// Caso ele não receba o status corretamente, avisa erro.else { echo "Falha ao receber status da casa."; }socket_close($sock);?> </body>
quando coloquei na sequencia deu erro , na primeira assim ,que não consegui descobrir
esse vai ate o fim , marcando cada linha , outra duvida , tenho que instalar algo no pc para acessar a pagina remotamente , ou seja acesso qualquer outro local ,fora minha rede local , sei que tenho que fazer Arduino conectar com meu ip externo para acesso remoto
Então sou leigo em progamação , sei basico da Internet que estou aprendendo na faculdade , queria ajuda pessoal sobre essa pagina PHP e como posso aumentar as saidas controladas e algo mais futurista , quem sabe poder fazer alguma medida analogica e mostrar no site , como temperatura , até consumo energia
Obrigado
Sergio
…
por aí.....bom, fiz algumas alterações....tudo blz.Problema..... bom, como quero na minha automação controlar um ar condicionado, peguei os códigos RAW e coloquei no sketch como unsigned int e coloquei as referencias dele no void loop, logo após onde estavam as referencias dos reles, usando a mesma linha comando para enviar o RAW para o ar.....e aí que da o problema!antes de colocar a sequencia do ar condicionado, eu conseguia ativar os reles com o comando r1on. r20n......pela serial, depois que eu coloquei os comando do ar não funciona mais nada na serial, nem os reles, nem o ar, nada.....se eu deixar somente um comando do ar, funciona, se entra o resto para de funcionar!alguem tem uma sugenstão?Muito obrigado pela ajuda.segue o sketch
#include <SPI.h>#include <Ethernet.h>#include <EEPROM.h>#include <LiquidCrystal.h>#include "DHT.h"#include <IRremote.h>#include <IRremoteInt.h>
#define DHTPIN A12 // what pin we're connected to
// Uncomment whatever type you're using!#define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302)//#define DHTTYPE DHT21 // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE);#define BAUD_RATE 9600#define TERM_CHAR '\n'#define BUF_LEN 30
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac addressbyte ip[] = { 192, 168, 1, 177 }; // ip in lanbyte gateway[] = { 192, 168, 1, 254 }; // internet access via routerbyte subnet[] = { 255, 255, 255, 0 }; //subnet maskEthernetServer server(80); //server portbyte sampledata=50; //some sample data - outputs 2 (ascii = 50 DEC)
float h; //A aquisição dessa informação demora 1 seg , então colocar isto no loop principal afeta o desempenho do programafloat t;int i;int count=0;boolean DispAlarme = false;boolean FlagAlarme = false;boolean AIMode = false;char c;String readString = String(BUF_LEN); //string for fetching data from address
////////////////////RAW AR CONDICIONADO// Botao ligar, MODO AUTO, Temperatura 23, FAN BAIXOunsigned int on23[343] = {9160,4492,760,1472,740,1492,696,436,652,472,636,480,624,492,616,500,596,1644,588,536,564,1668,552,1684,540,584,520,596,520,596,520,596,524,596,520,1712,524,1708,516,1720,512,604,520,596,516,600,520,596,512,608,520,596,516,1712,524,596,520,596,520,1712,524,592,520,1708,524,600,524,592,516,600,520,596,520,596,524,592,512,604,516,596,520,604,516,600,520,592,520,596,524,592,524,592,516,600,528,588,520,592,532,8312,532,592,524,592,520,596,524,592,520,596,532,584,524,592,524,1712,524,592,516,1716,524,1708,524,596,520,592,520,596,520,596,524,596,520,596,524,592,528,588,528,588,524,592,520,596,520,596,520,600,520,596,524,592,524,592,516,600,512,600,520,596,528,588,524,596,524,592,524,592,524,592,520,596,520,596,524,592,520,596,520,600,528,588,528,588,520,596,516,600,516,596,524,592,520,596,528,596,520,596,524,588,520,596,524,592,524,592,520,596,524,592,516,604,524,1704,532,1704,520,596,528,588,524,1704,520,600,524,1704,532,1700,524,8328,524,596,524,592,516,600,520,596,528,588,516,600,520,596,520,600,520,1708,524,596,524,592,520,596,516,600,520,592,520,596,524,600,516,600,524,588,524,592,520,596,520,596,516,600,516,600,516,604,520,596,520,596,520,596,520,596,516,600,520,592,528,588,524,596,524,592,524,592,524,592,520,596,520,596,520,596,516,600,524,596,524,592,520,596,520,596,528,588,520,596,524,592,516,600,520,600,516,1712,520,600,524,592,516,600,524,592,512,600,520,596,528,588,520,};
// trocar de 23 para 24unsigned int on23_24[343] = {9052,4640,612,1620,600,1632,584,552,552,564,536,580,528,588,516,604,512,1724,512,604,516,1716,512,1720,512,604,512,604,512,604,516,600,516,604,512,1720,512,1720,512,604,512,604,512,604,512,604,512,604,516,604,508,608,512,1716,520,596,520,596,520,596,516,1716,516,1716,524,600,512,604,516,596,516,600,516,600,516,600,512,604,520,596,516,604,516,600,520,596,512,604,512,604,512,600,516,600,516,600,512,604,516,8332,520,600,512,600,524,592,520,596,516,600,516,600,516,600,516,1720,512,604,512,1720,520,596,520,1712,520,1712,520,1712,520,600,516,604,516,600,516,596,524,596,512,604,512,600,516,600,516,600,520,600,524,592,516,600,516,600,512,604,516,600,512,600,516,600,516,608,520,592,520,596,516,600,520,596,520,596,516,600,516,600,516,604,512,604,516,600,520,596,512,600,524,592,516,600,516,600,516,604,516,600,516,600,520,596,516,600,516,600,516,600,512,600,520,604,512,1716,520,1716,516,600,520,1712,516,1716,516,600,516,1716,512,1720,520,8328,520,600,512,604,516,596,516,600,520,596,516,600,516,600,516,604,520,596,520,1712,516,600,512,604,512,604,516,600,516,596,528,596,512,604,516,596,512,604,520,596,524,592,512,604,512,604,516,604,516,600,516,600,516,600,516,604,512,596,516,600,520,596,516,604,524,592,520,596,520,596,520,596,520,596,516,600,520,596,516,604,512,604,512,604,516,600,516,600,512,600,516,600,512,604,512,608,516,600,512,1720,516,600,520,596,516,600,520,596,512,604,516,596,532,};
// trocar de 24 para 25unsigned int on24_25[343] = {9004,4672,580,1656,564,1680,544,576,528,588,520,596,520,600,512,600,520,1720,516,600,512,1720,516,1716,512,604,516,596,524,596,512,600,520,604,516,1716,520,1712,516,600,508,608,512,604,516,596,520,596,516,604,516,600,516,1716,520,596,520,596,516,1716,524,1708,524,1712,516,604,520,596,524,592,512,600,520,596,524,592,516,600,516,600,516,604,516,600,512,604,520,596,528,588,512,604,516,600,512,600,524,592,516,8336,520,1712,516,600,516,600,516,596,520,596,520,596,516,600,520,1720,516,600,512,1720,520,592,520,596,520,1716,516,1716,516,600,520,600,516,600,512,604,520,596,520,592,520,596,516,600,516,600,516,604,516,600,516,600,520,596,520,596,520,596,512,604,520,592,524,600,520,592,524,592,524,592,520,596,524,592,520,596,516,600,520,600,516,600,524,592,516,600,520,592,524,592,520,596,520,596,516,608,516,600,516,596,516,600,520,596,520,596,516,600,516,596,524,600,528,588,520,1712,528,588,524,592,516,600,512,600,516,1716,520,1716,520,8328,524,592,516,600,516,600,520,600,512,600,516,600,516,596,516,608,520,592,520,1716,524,588,520,600,516,596,516,600,520,596,516,604,520,596,520,596,520,596,516,600,516,600,520,596,520,596,512,608,516,600,508,608,520,592,516,600,520,596,520,596,524,592,516,604,516,600,516,600,516,600,516,600,520,592,520,596,520,596,516,608,516,596,520,596,524,592,520,596,516,600,516,600,524,592,512,608,520,596,524,1708,520,596,512,604,520,596,516,596,524,592,520,596,528,};
// trocar de 25 para 26unsigned int on25_26[343] = {9008,4668,584,1656,564,1676,548,572,528,588,528,588,520,596,520,596,512,1728,512,600,520,1716,512,1720,516,600,512,604,516,600,512,600,516,608,512,1720,516,1716,516,600,512,604,520,592,524,592,516,600,516,604,520,596,520,1716,520,592,524,592,516,600,516,600,520,596,520,1716,520,596,528,588,520,596,516,600,520,596,520,596,516,600,512,608,524,588,520,596,524,592,524,592,524,592,516,600,512,604,520,592,524,8328,528,1704,520,596,516,600,516,600,516,600,524,592,516,600,512,1724,520,596,516,600,516,1716,520,596,516,1716,528,1704,516,600,520,600,520,596,524,592,516,600,520,596,524,592,516,600,516,596,524,600,516,600,512,600,520,596,520,596,516,600,528,588,524,592,516,604,512,604,516,600,516,600,516,600,516,596,520,596,520,596,520,600,520,596,520,596,520,596,520,596,516,600,516,600,520,596,516,604,516,600,516,600,516,596,524,592,524,592,520,596,520,596,520,600,520,596,520,596,520,1712,520,596,528,1704,516,1716,520,596,524,592,528,8320,528,588,524,592,520,596,516,600,528,588,508,608,512,604,520,600,524,592,520,1712,520,596,512,604,516,600,520,596,516,596,516,608,516,596,524,592,524,592,520,596,516,600,516,600,512,604,520,600,516,600,520,596,520,596,516,596,516,600,516,600,520,596,516,604,520,596,524,592,512,604,516,600,520,596,520,596,516,596,520,604,520,596,512,604,524,588,520,596,520,596,516,600,516,600,528,592,520,596,520,1712,520,596,520,596,516,600,512,604,516,596,528,588,532,};
// trocar de 26 para 27unsigned int on26_27[343] = {9048,4644,608,1628,588,1648,572,560,540,576,536,580,520,596,516,600,516,1720,512,604,516,1716,516,1716,516,600,516,600,524,592,516,600,516,604,516,1716,516,1716,524,592,516,600,520,596,516,600,520,596,512,608,516,600,516,1716,520,596,512,604,516,1716,516,600,520,596,512,1724,520,596,516,600,520,596,516,600,516,600,516,600,512,600,520,604,516,600,516,596,520,596,516,600,516,600,516,600,516,600,520,592,520,8332,520,1712,516,600,516,600,520,596,516,600,512,604,520,596,516,1720,516,600,516,1716,520,1712,516,600,520,1712,524,1708,520,596,520,600,520,596,520,596,516,600,516,600,516,600,516,600,520,596,516,604,512,604,512,604,524,592,516,596,520,600,512,600,520,596,516,608,516,596,520,596,520,596,512,604,516,600,520,596,516,596,516,608,516,600,520,596,516,596,524,592,516,600,516,600,520,596,516,604,516,600,520,596,520,596,520,596,516,596,520,596,520,596,516,608,516,596,524,1708,520,1712,524,592,520,596,524,1708,524,592,520,596,516,8332,524,596,520,596,516,596,520,596,516,600,516,600,520,596,516,604,520,596,512,1720,520,596,516,600,516,600,520,596,516,600,516,604,516,600,520,596,516,600,520,592,520,596,520,596,520,596,516,604,524,592,524,592,512,604,516,600,516,600,516,600,520,596,516,604,516,600,516,596,520,596,524,592,524,592,520,596,520,596,520,600,516,600,516,600,516,600,516,600,516,596,520,596,524,592,520,604,516,596,524,1708,524,592,516,600,516,600,516,600,516,600,516,596,532,};
// desligarunsigned int off_ar[343] = {9032,4644,616,1616,592,1640,580,544,568,560,540,576,532,584,520,596,516,1724,524,592,516,1716,512,1720,516,600,516,600,512,604,516,600,516,604,516,1716,516,1716,520,1712,520,596,516,600,516,600,520,596,516,604,516,600,516,1716,516,600,520,596,520,1712,516,600,520,596,516,1720,516,600,512,604,512,604,520,592,528,588,520,596,520,596,516,604,520,600,512,600,516,600,516,600,520,596,516,600,516,600,520,592,524,8328,524,592,520,1712,512,604,520,596,516,600,516,596,524,592,524,1716,520,596,520,592,520,1716,516,596,520,596,524,592,520,596,520,600,520,596,516,600,520,596,516,600,516,600,516,600,516,600,516,604,516,600,528,584,524,592,524,592,516,600,520,596,520,596,516,604,516,600,520,596,524,592,520,596,516,596,528,588,520,596,516,608,520,592,528,588,524,592,524,592,512,604,516,600,516,600,516,604,512,604,516,600,520,596,520,592,520,596,516,600,520,596,520,600,524,1708,528,1704,524,592,524,592,520,1712,528,588,520,596,520,592,516,8336,528,588,520,596,512,604,512,604,512,604,520,596,516,600,516,604,520,1712,512,604,512,604,516,600,520,592,520,596,516,600,520,600,524,592,520,596,520,596,512,604,516,600,520,596,520,596,520,600,520,596,516,596,520,596,520,596,520,596,516,600,520,596,516,604,524,592,520,596,524,592,520,596,520,592,524,592,516,600,524,600,512,600,516,600,516,600,516,600,520,596,520,596,520,596,520,600,524,1708,520,596,520,596,524,592,520,596,520,592,520,596,520,596,532,};
// ligar vetiladorunsigned int on_vent[343] = {9044,4648,600,1632,588,1644,572,564,544,576,528,588,520,596,520,596,516,1720,516,600,516,1716,516,1716,516,600,512,604,512,604,512,604,512,608,516,1716,516,600,508,1720,520,600,512,604,516,600,512,600,520,604,516,596,516,600,520,1712,520,596,516,1716,520,1712,520,1712,516,608,520,596,516,600,512,600,516,600,520,596,520,596,520,596,516,604,520,596,520,596,516,600,512,604,520,592,516,600,516,600,516,600,520,8328,524,592,516,1716,520,596,520,596,516,600,516,600,520,596,512,1724,516,600,516,1716,520,596,520,1712,516,600,516,600,516,600,516,604,516,600,516,600,516,596,520,596,516,600,516,600,520,596,516,604,520,596,516,600,512,604,516,600,516,600,512,604,512,600,520,604,516,596,516,600,520,596,520,596,520,596,520,596,520,592,524,600,516,600,516,600,512,600,516,604,512,600,520,596,520,596,516,604,520,596,516,600,520,596,516,600,512,600,516,600,516,600,516,604,520,1712,524,592,520,596,516,1716,520,1712,520,1712,520,1712,520,1712,520,8332,520,596,520,596,512,604,516,600,516,600,516,596,516,600,516,604,524,1708,520,596,516,600,516,600,512,604,520,596,516,600,520,600,516,600,520,596,516,600,512,600,516,600,520,596,516,600,516,604,516,600,520,596,516,600,520,596,516,600,520,592,516,600,520,604,516,600,516,596,516,600,516,600,516,600,516,600,512,604,512,608,508,608,512,604,516,596,516,600,516,600,516,600,512,604,520,600,516,1716,516,600,516,600,520,596,516,600,516,596,520,596,516,600,524,};
IRsend irsend;
// reles e contatos secos
int ContatoSecoState1 = 0; // variable for reading the statusint ContatoSecoState2 = 0; // variable for reading the statusint ContatoSecoState3 = 0; // variable for reading the statusint ContatoSecoState4 = 0; // variable for reading the statusint ContatoSecoState5 = 0; // variable for reading the statusint ContatoSecoState6 = 0; // variable for reading the statusint ContatoSecoState7 = 0; // variable for reading the statusint ContatoSecoState8 = 0; // variable for reading the status
int optoacopladorState1 = 0; // variable for reading the statusint optoacopladorState2 = 0; // variable for reading the status
const int rele1 = 22; // Rele 1 PA0 const int rele2 = 23; // Rele 2 PA1 const int rele3 = 24; // Rele 3 PA2 const int rele4 = 25; // Rele 4 PA3 const int rele5 = 26; // Rele 5 PA4 const int rele6 = 27; // Rele 6 PA5 const int rele7 = 28; // Rele 7 PA6 const int rele8 = 29; // Rele 8 PA7 const int rele9 = 42; // Rele 8 PA7 const int rele10 = 43; // Rele 8 PA7
const int contatoseco8 = 41; // the number of the pushbutton pinconst int contatoseco7 = 40; // the number of the pushbutton pinconst int contatoseco6 = 49; // the number of the drybutton pinconst int contatoseco5 = 48; // the number of the drybutton pinconst int contatoseco4 = 47; // the number of the drybutton pinconst int contatoseco3 = 46; // the number of the drybutton pinconst int contatoseco2 = 45; // the number of the drybutton pinconst int contatoseco1 = 44; // the number of the drybutton pin
const int optoacopladorbutton1 = 18; // optobutton detectar 12v const int optoacopladorbutton2 = 19; // optobutton detectar 12vconst int Sirene = 33; //Saida de 12 volts Até 1,5Aconst int Discadora = 32; //Saida de 12 volts até 1A
LiquidCrystal lcd(39, 38, 34, 35, 36, 37);
void setup(){ lcd.begin(16, 2); // Print a message to the LCD. 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(Discadora, 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);
pinMode(optoacopladorbutton1, INPUT); pinMode(optoacopladorbutton2, INPUT); //start Ethernet //ip[0] = 192;//EEPROM.read(0); //ip[1] = 168;//EEPROM.read(1); //ip[2] = 1;///EEPROM.read(2); //ip[3] = 177;//EEPROM.read(3); Ethernet.begin(mac, ip, gateway, subnet); server.begin(); lcd.print(Ethernet.localIP());//enable serial datada print Serial.begin(9600); Serial2.begin(9600); //Porta bluetooth Serial3.begin(9600); //Porta Xbee // Todas as portas declaradas aqui aconseguem acionar reles com o seguinte comando _r1on e _r1off para o rele 2 _r2on e _r2off e assim por diante} void loop(){ 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("H: "); lcd.setCursor(2,1); lcd.print(h); lcd.setCursor(8,1); lcd.print("T: "); lcd.setCursor(10,1); lcd.print(t); count=0; } if(readString.indexOf("r1on") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele1, HIGH); // set the LED on Serial.println("Ligando Rele 1"); Serial3.println("Ligando Rele 1"); Serial.println(readString); } if(readString.indexOf("r1off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele1, LOW); // set the LED on Serial.println("Desligando Rele 1"); Serial3.println("Desligando Rele 1"); Serial.println(readString); } if(readString.indexOf("r2on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele2, HIGH); // set the LED OFF Serial.println("Ligando Rele 2"); Serial3.println("Ligando Rele 2"); Serial.println(readString); } if(readString.indexOf("r2off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele2, LOW); // set the LED on Serial.println("Desligando Rele 2"); Serial3.println("Desligando Rele 2"); Serial.println(readString); } if(readString.indexOf("r3on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele3, HIGH); // set the LED OFF Serial.println("Ligando Rele 3"); Serial3.println("Ligando Rele 3"); Serial.println(readString); } if(readString.indexOf("r3off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele3, LOW); // set the LED on Serial.println("Desligando Rele 3"); Serial3.println("Desligando Rele 3"); Serial.println(readString); } if(readString.indexOf("r4on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele4, HIGH); // set the LED OFF Serial.println("Ligando Rele 4"); Serial3.println("Ligando Rele 4"); Serial.println(readString); } if(readString.indexOf("r4off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele4, LOW); // set the LED on Serial.println("Desligando Rele 4"); Serial3.println("Desligando Rele 4"); Serial.println(readString); } if(readString.indexOf("r5on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele5, HIGH); // set the LED OFF Serial.println("Ligando Rele 5"); Serial3.println("Ligando Rele 5"); Serial.println(readString); } if(readString.indexOf("r5off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele5, LOW); // set the LED on Serial.println("Desligando Rele 5"); Serial3.println("Desligando Rele 5"); Serial.println(readString); } if(readString.indexOf("r6on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele6, HIGH); // set the LED OFF Serial.println("Ligando Rele 6"); Serial3.println("Ligando Rele 6"); Serial.println(readString); } if(readString.indexOf("r6off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele6, LOW); // set the LED on Serial.println("Desligando Rele 6"); Serial3.println("Desligando Rele 6"); Serial.println(readString); } if(readString.indexOf("r7on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele7, HIGH); // set the LED OFF Serial.println("Ligando Rele 7"); Serial3.println("Ligando Rele 7"); Serial.println(readString); } if(readString.indexOf("r7off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele7, LOW); // set the LED on Serial.println("Desligando Rele 7"); Serial3.println("Desligando Rele 7"); Serial.println(readString); } if(readString.indexOf("r8on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele8, HIGH); // set the LED OFF Serial.println("Ligando Rele 8"); Serial3.println("Ligando Rele 8"); Serial.println(readString); } if(readString.indexOf("r8off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele8, LOW); // set the LED on Serial.println("Desligando Rele 8"); Serial3.println("Desligando Rele 8"); Serial.println(readString); } if(readString.indexOf("r9on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele9, HIGH); // set the LED OFF Serial.println("Ligando Rele 9"); Serial3.println("Ligando Rele 9"); Serial.println(readString); } if(readString.indexOf("r9off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele9, LOW); // set the LED on Serial.println("Desligando Rele 9"); Serial3.println("Desligando Rele 9"); Serial.println(readString); } if(readString.indexOf("r10on") >0)//replaces if(readString.contains("L=1")) { digitalWrite(rele10, HIGH); // set the LED OFF Serial.println("Ligando Rele 10"); Serial3.println("Ligando Rele 10"); Serial.println(readString); } if(readString.indexOf("r10off") >0)//replaces if(readString.contains("L=1")) { //led has to be turned ON digitalWrite(rele10, LOW); // set the LED on Serial.println("Desligando Rele 10"); Serial3.println("Desligando Rele 10"); Serial.println(readString); } if(readString.indexOf("ar23") >0)//replaces if(readString.contains("L=1")) { irsend.sendRaw(on23,343,38); // set the LED OFF Serial.println("AR 23"); Serial3.println("AR 23"); Serial.println(readString); } if(readString.indexOf("ar24") >0)//replaces if(readString.contains("L=1")) { irsend.sendRaw(on23_24,343,38); // set the LED OFF Serial.println("AR 24"); Serial3.println("AR 24"); Serial.println(readString); } if(readString.indexOf("ar25") >0)//replaces if(readString.contains("L=1")) { irsend.sendRaw(on24_25,343,38); // set the LED OFF Serial.println("AR 25"); Serial3.println("AR 25"); Serial.println(readString); } if(readString.indexOf("ar26") >0)//replaces if(readString.contains("L=1")) { irsend.sendRaw(on25_26,343,38); // set the LED OFF Serial.println("AR 26"); Serial3.println("AR 26"); Serial.println(readString); } if(readString.indexOf("ar27") >0)//replaces if(readString.contains("L=1")) { irsend.sendRaw(on26_27,343,38); // set the LED OFF Serial.println("AR 27"); Serial3.println("AR 27"); Serial.println(readString); } if(readString.indexOf("desligar") >0)//replaces if(readString.contains("L=1")) { irsend.sendRaw(off_ar,343,38); // set the LED OFF Serial.println("DESLIGAR"); Serial3.println("DESLIGAR"); Serial.println(readString); } if(readString.indexOf("ventilador") >0)//replaces if(readString.contains("L=1")) { irsend.sendRaw(on_vent,343,38); // set the LED OFF Serial.println("VENTILADOR"); Serial3.println("VENTILADOR"); Serial.println(readString); } ////////////////////////////Aciona sirene ou dicadora ////////////////////////////////////////////
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(Discadora, LOW); digitalWrite(Sirene, LOW); lcd.setCursor(0,1); lcd.print(" Alarme Desativado "); } if(readString.indexOf("all=DiscadoraON") >0)//replaces if(readString.contains("L=1")) { digitalWrite(Discadora, HIGH); } if(readString.indexOf("all=DiscadoraOff") >0)//replaces if(readString.contains("L=1")) { digitalWrite(Discadora, LOW); } if (FlagAlarme == true){ le_sensores(); if (DispAlarme == true){ digitalWrite(Sirene, HIGH); // set the LED on digitalWrite(Discadora, HIGH); lcd.setCursor(0,1); lcd.print("Falha na Seguranca"); } }//Teste de opto acopladores detectam 9~12v podem ser usados tambem como zonas de alarmes principalmente para sensores de portas e janelas optoacopladorState1 = digitalRead(optoacopladorbutton1); optoacopladorState2 = digitalRead(optoacopladorbutton2); if(optoacopladorState1 == 0){ lcd.setCursor(0,1); lcd.print("12v entrada 1"); } if(optoacopladorState2 == 0){ lcd.setCursor(0,1); lcd.print("12v entrada 2"); } ////////////////////////////////////////////////////////////////////////////////////////////////////// readString=""; //limpa a string depois de testa-la } //loop ////////////////////////////////////////////////////////////////////////////////////////////////////// //Função Alarme UPvoid 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; } }
//Função lê serialvoid leserial(){ // read incoming message while(Serial.available()){ c = (char) Serial.read(); if (readString.length() < 100) { //store characters to string readString += c; //replaces readString.append(c); } delay(1); // wait for another byte } while(Serial2.available()){ c = (char) Serial2.read(); if (readString.length() < 100) { //store characters to string readString += c; //replaces readString.append(c); } delay(1); // wait for another byte } while(Serial3.available()){ c = (char) Serial3.read(); if (readString.length() < 100) { //store characters to string readString += c; //replaces readString.append(c); } delay(1); // wait for another byte } } ///////////////////////////////////////////////////////////////////////////////////////////////////////// //Função que recebe string do navegador void rede(){ // Create a client connectionEthernetClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { c = client.read(); //read char by char HTTP request if (readString.length() < 100) { //store characters to string readString += c; //replaces readString.append(c); } //output chars to serial port //if HTTP request has ended if (c == '\n') { //dirty skip of "GET /favicon.ico HTTP/1.1" if (readString.indexOf("?") <0) { //skip everything } //else //--------------------------HTML------------------------ client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("<html><head>");
client.print("<title>Arduino Webserver Poldi</title>");
client.println("</head>");
client.print("<body bgcolor='#444444'>");
//---Überschrift---client.println("<br><hr />");
client.println("<h1><div align='center'><font color='#2076CD'>Arduino Webserver 1.0 by Mijja</font color></div></h1>");
client.println("<hr /><br>");//---Überschrift---
//---Ausgänge schalten---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)==HIGH) client.println("<td align='center'><font color='green' size='5'>LIG");elseclient.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) == HIGH) 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>");elseclient.println("<form method=get><input type=submit name=all value='Desativar Alarme'></form>");
client.println("<br>");client.println("<form method=get><input type=submit name=all value='DiscadoraON'></form>");client.println("<form method=get><input type=submit name=all value='DiscadoraOff'></form>");
//client.println("<form style='height: 257px;' method='get' action='?' name='fomlu_id'></form>");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>"); //stopping client client.stop(); } } } //while } //If client } //Void rede…