You are on page 1of 3

#include <SPI.

h>
#include <Ethernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 3 // entrada digital para o sensor de temperatura


OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer = { 0x28, 0xAC, 0x64, 0xE1, 0x02, 0x00, 0x00, 0xB8 };

byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x2F, 0x30 }; // mac address da Shield
byte ip[] = { 192, 168, 1, 65 }; // IP da LAN de casa
byte gateway[] = { 192, 168, 1, 254 };
byte subnet[] = { 255, 255, 255, 0 };

Server server(80); // server port


int ledPin = 9; // LED pin (Sinalização de ON/OFF)

String readString = String(30); //buffer de leitura

boolean LEDON = false; // Flag do Estado (ON/OFF)

void setup()
{
Ethernet.begin(mac, ip, gateway); //start Ethernet

pinMode(ledPin, OUTPUT); //Saida digital utilizada para ligar e desligar

sensors.begin();
sensors.setResolution(insideThermometer, 10);

void loop(){

Client client = server.available(); // Criar conecção de cliente (Standard)


if (client) {
while (client.connected()) {
if (client.available()) {

char c = client.read();

if (readString.length() < 30) {


readString.concat(c); }

if (c == '\n') {
int Le = readString.indexOf("L=");
int He = readString.indexOf("H="); //Usado para saber status do sistema

//Verifica se ligou aquecimento


if (Le > 1){

if (readString.substring(Le,(Le+3)) == "L=1") {
digitalWrite(ledPin, HIGH); // LIGA AQUECEDOR
LEDON = true;
}

if (readString.substring(Le,(Le+3))== "L=0") {
digitalWrite(ledPin, LOW); // DESLIGA AQUECEDOR
LEDON = false;
}}

sensors.requestTemperatures(); // Lê Valor do sensor de Temperatura


float tempC = sensors.getTempC(insideThermometer);

// CRIAR PAGINA HTML


client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print ("<BODY BGCOLOR='#CAE1FF'>"); //cor de fundo

//Código HTML

client.println("<h1><font color='#1E90FF'><CENTER>Controlo do meu aquecedor!


</CENTER></font></h1>"); //Cabeçalho
client.println("<hr />");
client.println("<h2><font color='#1E90FF'><CENTER>TIAGO ROCHA!</CENTER></font>
</h1>");

client.println("<hr />");
client.println("<font color=’#000000’><size=’5′>Temperatura Ambiente:</font>");

if (tempC == -127.00)
{
client.println("<Erro calculo de Temperatura!! />");
}

else {
client.print(tempC); //imprime temperatura ambiente
client.println("<font color=’#000000’><size=’5′> C&#176;</font>");

}
client.println("<br />");//espaços entre linhas
client.println("<hr />");

client.println("<h2><font color=’#000000’>LIGAR AQUECIMENTO?</h2></font>");


client.println("<form method=get name=LED> <input type='radio' name='L' value='1'><B>
ON</B><br><input type='radio' name='L' value='0'><B>OFF</B><br><input type=submit
value=OK></form>");
client.println("<br />");

client.print("<font size=’4′>Estado: ");


if (LEDON == true)
{
client.println("<font color=’#FF4500’ size=’3′>ON</font>");
}
else
{
client.println("<font color=’#3CB371’ size=’3′>OFF</font>");
}

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

readString=""; //limpar buffer

client.stop(); //pára cliente

}}}}}

You might also like