loading
Picture of The Super Simple Arduino Weather Web Server
dht11webserver.PNG

From the minds at http://arduinotronics.blogspot.com/

Updates:
Added Heat Index & Dew Point calculations
Added Barometric Pressure Sensor

See the new BME280 combination Temperature, Humidity, AND Barometric Pressure Sensor all in one!

6/2/2015 See the new WiFi Version! - http://arduinotronics.blogspot.com/2015/06/wifi-we...

I wanted to set up a home web server that could monitor indoor and outdoor temperature, humidity levels, and even monitor for indoor freezing or flooding conditions (and other security, appliance or environmental alerts). The approach I took consists of a Arduino and a Ethernet shield, running a tiny web server sketch, and for this example, I'm using the popular DHT-11 Temperature / Humidity module. You can interface this to smoke / heat sensors, CO and other gas sensors, and a whole lot more.


For this example you will need:

Arduino
Ethernet Shield (this could be done with wifi as well with some code changes)
DHT-11 Temp/Humidity Module
10k Ohm Resistor

Optional: BMP-085 Barometric Pressure Sensor

A internet router and home internet access

Step 1: The DHT-11 Temperature / Humidity Sensor

Picture of The DHT-11 Temperature / Humidity Sensor
bmp180_schematic.PNG

This little 4 pin sensor (only 3 are used) is an inexpensive and common sensor. It's easy to use and connect. Pin 1 connects to +5v, Pin 2 to an Arduino Input (we are using D2 on the Arduino), and pin 4 to Arduino Gnd. Since the Ethernet shield will stack on top of the Arduino, plug the DHT-11 into the same pins on the Ethernet shield.

The ethernet shield uses pins A0, A1, D4, and D10-D13
The DHT-11 is using D2, but can be changed.
The BMP180 uses A4 & A5.

 
win895 months ago
Good project. I'm still confuse how to acess my arduino server with no-IP. I use home network for this situation,but i want acess the arduino from anywhere outside my home network. Anyone know ho to do it?

Placing the IP the router assigns (usually 192.168.1.X) into the DMZ does the trick. The NO-IP acts as a re-direct so your home IP (as assigned by your ISP) is not revealed if you want other to see your webpage.

sspence (author)  win894 months ago
Here is a good article for the linksys models, but it's dependent on your router config.

http://www.wikihow.com/Adjust-Nat-Settings-on-Linksys-Router
Benjamink113 days ago

help me plz! how to put date and time? which rtc is better?

sspence (author)  Benjamink113 days ago
I use a DS1307 - See http://arduinotronics.blogspot.com/2014/03/the-arduino-lcd-clock.html

my output is not LCD and then I already buy DS1302

I try that coding but it is error :(

I want to show output "Date and time Temp Hum Pressure" every 30sec

#include <DS1302.h>

DS1302 rtc(2, 3, 4);

void setup()

{

rtc.halt(false);

rtc.writeProtect(false);

Serial.begin(9600);

tc.setDOW(FRIDAY);

rtc.setTime(12, 0, 0);

rtc.setDate(6, 8, 2010);

}

void loop()

{

Serial.print(rtc.getDOWStr());

Serial.print(" ");

Serial.print(rtc.getDateStr());

Serial.print(" -- ");

Serial.println(rtc.getTimeStr());

delay (1000);

}

jim.trapnell4 months ago

I wonder if I can trouble you with a request?
I'd like to add a 4 wire LCD like I've seen you use on other projects and so far I'm failing at the code for it. I only want to show the temp and humidity on the LCD.
Is this something you think you could add to the code whenever you get a chance?

sspence (author)  jim.trapnell4 months ago
Sure, I can do that.

Does the new WiFi version mean this one has been abandoned? I'd still really like to get a 4 wire LCD hooked up to this. Thank you for any help.

sspence (author)  jim.trapnell1 month ago

email me at greentrust@gmail.com to remind me, will try to get the lcd code done for you this week.

sspence (author) 2 months ago
email me your sketch at greentrust@gmail.com

I'll test it.
RuzainiM2 months ago
hi sir...why when i enter the adress "Connection refused: 192.168.1.31:80" will go out??what its problem sir??
sspence (author)  RuzainiM2 months ago

I assume 192.168.1.31 is the ip address of the ethernet shield? do you have the shield connected to the same hub/switch as the pc you are trying to browse with?

RuzainiM sspence2 months ago
sir...i still cnnot get the web...the website is no available..is my ethernet shield damaged??
RuzainiM sspence2 months ago
no..i just use the ethernet shield...dont have other shield connccted to the same switch...
RuzainiM2 months ago

hi sir...its ok if i dont want use the protoshield???and can u show me the schematic diagram??pleasee sir..

sspence (author)  RuzainiM2 months ago
schematic is in step one. protoshield is totally optional.
RuzainiM sspence2 months ago
how about the BMP180 sir??if dont use the portoboard...how to connect??
sspence (author)  RuzainiM2 months ago

Per http://arduinotronics.blogspot.com/2015/03/ic-stat...

// Connect VCC of the sensor to 5.0V

// Connect GND to Ground
// Connect SCL to Analog 5
// Connect SDA to Analog 4

RuzainiM sspence2 months ago
owhhh...tq sspence for the info..

Hi sir, your project is almost same with me, the different my with your is:
your:
1-DHT-11 Temp/Humidity Module
2-Arduino
3-Ethernet Shield
5-Display output to webserve

My:
1- Fingerprint Sensor
2-Arduino
3-DFRduino Ethenet Shield
5-Display output ID from fingerprint to webserve

The problem is i don know how to send that output id from fingerprint to webserve. Can u help me pls.

Fingerprint sensor.PNGDFRduino Ethernet Shield.PNGArduino Uno.PNG

I think I found the Fingerprint sensor u have. It should be connected to an UART (say 'Serial port') and read from there at 9600 baud

Muhhammed, as you havent received an answer yet, I will give it a go. The two projects are as much the same as in having an arduino that has a sensor connected to it :-)
The DHT11 has a library that reads out the humidity and temperature, I figure your fingerprint sensor is a bit different. What is the output from that? is it just a logical yes or no (doubt it) or some sort of number?
Anyway, if instead of the value for temperature or humidity, you just substitute that number?

StephenB86 months ago

I'm trying to do something similar with an Arduino server and a MATLAB based user interface, but I'm stuck on getting the Arduino server to accept incoming name/value pairs for receiving information from the MATLAB interface. Does anybody here know how/if I can do that?

GuilhermeB17 months ago

Thank you so much. Worked fine for me, I just followed all intructions step by step.

Thank you again

BrentW19 months ago

Doesn't work in IDE 1.06.

sspence (author)  BrentW19 months ago
Have not had a chance to test any of my instructables in version 1.0.6, as it just came out. Am downloading and will post what changes need to be made.
sspence (author)  sspence9 months ago

Ok, just tried it in 1.0.6, and it seems to be workign fine. What failed for you, BrentW1?

eduman9 months ago

It's work now. :) The problem is my "import library". I'm so sorry sspence. I'm so sorry.

Thank you very much :)

sspence (author)  eduman9 months ago

Glad it's now working for you. Could you please delete the negative comments?

eduman9 months ago

Very very bad project... it's not working !

Error.JPG
sspence (author)  eduman9 months ago

Not a bad project, just maybe poor execution. Did you download the correct library? What version of the IDE are you using? Are your connections correct? Everything is tested well before uploading, and as you can see, the screenshots prove the project works.

diy_bloke1 year ago
great project, but are you sure you provided the correct library? I get the "DHT11 was not declared in this scope" error message, together with a hoist of other error messages
sspence (author)  diy_bloke1 year ago
Works ok for me. I'm using 1.0.5
indeed, as i already posted, works in 1.05, had problems in 1.02, so it is the IDE, not your code that has the problem
oddly this error occurred in IDE1.02 worked fine in IDE1.05