08.11.2017 Views

arduino_básico_Michael_McRoberts

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 17 ■ Comunicação via Ethernet<br />

387<br />

void setup() {<br />

// Inicia a ethernet e o servidor<br />

Ethernet.begin(mac, ip);<br />

server.begin();<br />

// Inicaliza a biblioteca sensors<br />

sensors.begin();<br />

// define a resolução<br />

sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);<br />

sensors.setResolution(outsideThermometer, TEMPERATURE_PRECISION);<br />

}<br />

// função para obter a temperatura de um dispositivo<br />

void getTemperature(DeviceAddress deviceAddress) {<br />

tempC = sensors.getTempC(deviceAddress);<br />

tempF = DallasTemperature::toFahrenheit(tempC);<br />

}<br />

void loop() {<br />

sensors.requestTemperatures();<br />

// escuta a entrada de clientes<br />

Client client = server.available();<br />

if (client) {<br />

// uma solicitação http termina com uma linha em branco<br />

boolean BlankLine = true;<br />

while (client.connected()) {<br />

if (client.available()) {<br />

char c = client.read();<br />

// Se a linha estiver em branco e o fim da linha for um caractere newline '\n' = fim da<br />

// solicitação HTTP<br />

if (c == '\n' && BlankLine) {<br />

getTemperature(insideThermometer);<br />

client.println("HTTP/1.1 200 OK"); // Resposta HTTP padrão<br />

client.println("Content-Type: text/html\n");<br />

client.println("\n");<br />

client.println("Arduino Web Server");<br />

client.println("\n");<br />

client.println("Arduino Web Server");<br />

client.println("Internal Temperature");<br />

client.println("Temp C:");<br />

client.println(tempC);<br />

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

client.println("Temp F:");<br />

client.println(tempF);<br />

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

getTemperature(outsideThermometer);<br />

client.println("External Temperature");<br />

client.println("Temp C:");

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!