[color=#222222][/color]
/*[color=#222222][/color]
Web Server[color=#222222][/color]
[color=#222222][/color]
A simple web server that shows the temperature & humidity from[color=#222222][/color]
a DHT11 sensor using an Arduino Wiznet Ethernet shield.[color=#222222][/color]
[color=#222222][/color]
Circuit:[color=#222222][/color]
* Ethernet shield attached to pins 10, 11, 12, 13[color=#222222][/color]
* Data from DHT11 is at A2 (analog input 2)[color=#222222][/color]
[color=#222222][/color]
*/[color=#222222][/color]
[color=#222222][/color]
#include <DHT.h>[color=#222222][/color]
[color=#222222][/color]
#define DHTPIN A2 // what pin we're connected the DHT output[color=#222222][/color]
#define DHTTYPE DHT11 // DHT 11[color=#222222][/color]
DHT dht(DHTPIN, DHTTYPE);[color=#222222][/color]
[color=#222222][/color]
#include <Wire.h>[color=#222222][/color]
#include <SPI.h>[color=#222222][/color]
#include <Ethernet.h>[color=#222222][/color]
[color=#222222][/color]
[color=#222222][/color]
[color=#222222][/color]
byte mac[] = {[color=#222222][/color]
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };[color=#222222][/color]
IPAddress ip(192,168,10, 177);[color=#222222][/color]
[color=#222222][/color]
// Initialize the Ethernet server library[color=#222222][/color]
// with the IP address and port you want to use[color=#222222][/color]
// (port 80 is default for HTTP):[color=#222222][/color]
EthernetServer server(80);[color=#222222][/color]
[color=#222222][/color]
void setup() {[color=#222222][/color]
dht.begin(); [color=#222222][/color]
[color=#222222][/color]
// Open serial communications and wait for port to open:[color=#222222][/color]
Serial.begin(9600);[color=#222222][/color]
while (!Serial) {[color=#222222][/color]
; // wait for serial port to connect. Needed for Leonardo only[color=#222222][/color]
}[color=#222222][/color]
[color=#222222][/color]
// start the Ethernet connection and the server:[color=#222222][/color]
Ethernet.begin(mac, ip);[color=#222222][/color]
server.begin();[color=#222222][/color]
Serial.print("server is at ");[color=#222222][/color]
Serial.println(Ethernet.localIP());[color=#222222][/color]
}[color=#222222][/color]
[color=#222222][/color]
[color=#222222][/color]
void loop() {[color=#222222][/color]
int h = dht.readHumidity();[color=#222222][/color]
int t = dht.readTemperature();[color=#222222][/color]
[color=#222222][/color]
// listen for incoming clients[color=#222222][/color]
EthernetClient client = server.available();[color=#222222][/color]
if (client) {[color=#222222][/color]
Serial.println("new client");[color=#222222][/color]
// an http request ends with a blank line[color=#222222][/color]
boolean currentLineIsBlank = true;[color=#222222][/color]
while (client.connected()) {[color=#222222][/color]
if (client.available()) {[color=#222222][/color]
char c = client.read();[color=#222222][/color]
Serial.write(c);[color=#222222][/color]
// if you've gotten to the end of the line (received a newline[color=#222222][/color]
// character) and the line is blank, the http request has ended,[color=#222222][/color]
// so you can send a reply[color=#222222][/color]
if (c == '\n' && currentLineIsBlank) {[color=#222222][/color]
// send a standard http response header[color=#222222][/color]
client.println("HTTP/1.1 200 OK");[color=#222222][/color]
client.println("Content-Type: text/html");[color=#222222][/color]
client.println("Connnection: close");[color=#222222][/color]
client.println();[color=#222222][/color]
client.println("<!DOCTYPE HTML>");[color=#222222][/color]
client.println("<html>");[color=#222222][/color]
// add a meta refresh tag, so the browser pulls again every 5 seconds:[color=#222222][/color]
client.println("<meta http-equiv=\"refresh\" content=\"5\">");[color=#222222][/color]
client.println("<title>");[color=#222222][/color]
client.print("Temperature and Humidity");[color=#222222][/color]
client.println("</title>");[color=#222222][/color]
[color=#222222][/color]
// output the value of temperature and humuidity from DHT[color=#222222][/color]
client.println("<center>");[color=#222222][/color]
client.println("<h1>");[color=#222222][/color]
client.print("Data Center");[color=#222222][/color]
client.println("</h1>");[color=#222222][/color]
client.println("<h2>");[color=#222222][/color]
client.print("Server Room Temperature and Humidity");[color=#222222][/color]
client.println("</h2>");[color=#222222][/color]
client.println("<h4>");[color=#222222][/color]
client.print("Temperature : ");[color=#222222][/color]
client.print(t);[color=#222222][/color]
client.print("<sup>0</sup>");[color=#222222][/color]
client.print("C");[color=#222222][/color]
client.println("
");[color=#222222][/color]
client.print("Humidity : ");[color=#222222][/color]
client.print(h);[color=#222222][/color]
client.print("%");[color=#222222][/color]
client.println("</h4>");[color=#222222][/color]
client.println("</center>");[color=#222222][/color]
[color=#222222][/color]
client.println("</html>");[color=#222222][/color]
break;[color=#222222][/color]
}[color=#222222][/color]
if (c == '\n') {[color=#222222][/color]
// you're starting a new line[color=#222222][/color]
currentLineIsBlank = true;[color=#222222][/color]
}[color=#222222][/color]
else if (c != '\r') {[color=#222222][/color]
// you've gotten a character on the current line[color=#222222][/color]
currentLineIsBlank = false;[color=#222222][/color]
}[color=#222222][/color]
}[color=#222222][/color]
}[color=#222222][/color]
// give the web browser time to receive the data[color=#222222][/color]
delay(1);[color=#222222][/color]
// close the connection:[color=#222222][/color]
client.stop();[color=#222222][/color]
Serial.println("client disonnected");[color=#222222][/color]
}[color=#222222][/color]
}
Someone can help me to test this code?
is my project but my ethernet shield not working, i'm waiting for new one.
I need a video of the web server