Project Description

F7232JJJMYWTKQ3.LARGE

Description

We made a weather station connected to the internet. It measures temperature, humidity, UV index, rainfall and it calculates few more important meteorological values. It then sends this data to weathercloud.net, which has nice graphics and UX. It also has a weather web camera. It cost me around 150€. I made this station as my school project.

 

Components Required

  • DS18B20 Temperature Sensor
  • DHT21 Humidity Sensor
  • Rain Gauge
  • UVM-30 A UV sensor
  • Arduino Uno
  • Arduino Ethernet Shield 5100
  • Arduino Nano
  • DS3231 RTC module
  • 1080p WiFi Web camera

 

These tools could come in handy:

  • wire stripper
  • battery drill
  • soldering iron
  • pliers
  • screwdrivers
  • glue gun
  • multimeter
  • saw
  • tree drill bit
  • file

 

Shield Compatibility Problem

Picture of Shield Compatibility Problem
Picture of Shield Compatibility Problem
Picture of Shield Compatibility Problem
Picture of Shield Compatibility Problem
Picture of Shield Compatibility Problem

There is a simple compatibility problem between the ethernet shield and the protoshield. You can’t put protoshield on top the ethernet shield because the ethernet connector just won’t let you. And you can’t put the ethernet shield on the top of the protoshield because the ethernet shield needs to have a direct connection to the Arduino through the ICSP connector but the protoshield doesn’t have one. Well, a simple problem, a simple solution. I just cut a rectangular hole in the protoshield so that the ethernet connector can fit in.

 

 

Rainfall Measurement Board

Picture of Rainfall Measurement Board
Picture of Rainfall Measurement Board
Picture of Rainfall Measurement Board

The rain gauge that I ordered works just fine but there is one big problem with it. It doesn’t have any communication interface like I2C or serial. There is just a simple switch that switches ON for 60 microseconds every time it rains more than 0.28 mm/m2. The Arduino can easily catch that when it’s not doing anything else but measuring rainfall. But when it has other tasks to do (like measuring temperature and sending it to cloud) there is a high probability that the Arduino’s processor will be busy at the time of the switching on of the rain gauge. This will cause an inaccurate rainfall reading. That’s why I added a second Arduino – an Arduino nano. The nano’s only task is to measure rainfall and send it to the master Arduino through I2C. That way the rainfall readings will be always accurate. I made a PCB which holds both the Arduino nano and the RTC module but you can solder it to the protoshield too.

 

Terminal Box

Picture of Terminal Box
Picture of Terminal Box
Picture of Terminal Box
Picture of Terminal Box
Picture of Terminal Box
Picture of Terminal Box
Picture of Terminal Box

The terminal box is the center of the station. The main 14-core cable connects it to the server box. The cable from DS18B20 goes into it. The cable from the UV box goes into it. It also hosts the humidity sensor. When you’re selecting a terminal box, you can use any IP65 plastic junction box that has over 10x5x5cm (4″x2″x2″).

 

UV Sensor Box

Picture of UV Sensor Box
Picture of UV Sensor Box

The UV sensor box hosts the UVM-30A UV sensor and it’s also a middle point between the main terminal box and the rain gauge. The UV sensor box can be any plastic IP65 box with a fully transparent cover.

 

Weathercam

Picture of Weathercam
Picture of Weathercam
Picture of Weathercam
Picture of Weathercam
Picture of Weathercam
Picture of Weathercam
Picture of Weathercam
Picture of Weathercam

Weather webcams (or weathercams as I like to call them) are used to record or stream image of the actual weather conditions. From the image you can determine the light intensity and cloudiness. I went for cheapest wifi camera available but you can use any wifi camera of your choice. This cheap camera works just fine but there is one problem with it. You need to have a computer running a streaming software constantly. That wasn’t a problem for me because there already is a server running website in the network so it can take care of the streaming as well. But if you don’t have a computer like this in your home network, then I recommend buying a Raspberry pi and a Raspberry pi camera. It’s more expensive (30$ vs 70$) but you don’t really have another option if you want a webcam. In both cases you need to put the camera in a weatherproof box. You can use the same box as for the UV sensor. I made my own box from a regular plastic box and plexiglass but that’s unnecessary. The battery for the camera will need constant recharging. You can do that by striping down a USB cable and connecting the + and – wires to the 5V power output for the sensors. When you have your camera weatherproofed you can just mount it anywhere where is good wiew with zipties.

Now let’s take a look at the software. The last important thing you’ll need is the stream hosting server. Again, it would be best if you had a running server in your network that can host the stream because there isn’t any website that would host your stream 24/7 for free.

 

Top Sensors Holder

Picture of Top Sensors Holder
Picture of Top Sensors Holder
Picture of Top Sensors Holder

The Top sensors holder is a steel componet that holds the top sensors (UV, rainfall) on the roof. The part that you see on these pictures fits only our building. You can mount these sensors any way you want. This is just an example. We already had a steel pipe mounted on the roof, so it’s been easy to mount the holder.

 

DS18B20 Solar Radiation Shield

Picture of DS18B20 Solar Radiation Shield

A solar radiation shield is a very common thing used in meteorologic stations to block direct solar radiation and therefore reduce errors in the measured temperature. It also acts as a holder for the temperature sensor. Radiation shields are very useful but are usually made from steel and they are expensive so I decided to build a shield of my own. I made an instructable that shows how to make a radiation shield like this. Here is the instructable.

I also found a videothats shows the exact sameprocces so you can use that:

Server Box

Picture of Server Box
Picture of Server Box
Picture of Server Box

It’s always a good idea to hide all the electronics in a small, organised box. And that’s exactly what I did with the server box. The server box hosts the Arduino UNO, the ethernet shield, the protoshield, the 5V regulator, the main data cable terminal and the rainfall measurement board.

 

Connections

Picture of Connections

Just connect everything according to the included schematics.

 

 

Weathercloud

Picture of Weathercloud

Weathercloud is a large network of weather stations reporting data in real time from all over the world. It’s free and there are more than 10 000 weather stations connected to it. Firstly, I had my own HTML website where all the data were sent but making your own website and graphics is hard and it’s much easier to just send all the data to a big cloud platform which has nice graphics and stable servers. I searched how to send data to weathercloud and I found that you can accomplish that easily by a simple GET call. The only problem with Weathercloud is that with a free account it lets you send data only every ten minutes but that shouldn’t be a problem for most uses. You’ll need to make an Weathercloud account in order to make it work. Then you’ll need to create a station profile on their website. When you create your weather station profile on Weathercloud, you are given the a Weathercloud ID and a Weathercloud KEY. Keep these because the Arduino will need them to know where to send data. You’ll use them in the next step.

 

CODE

Picture of CODE

This is the final part, the part we’ve all been waiting for – testing, if it works. You need to change the IP adress, the Weathercloud ID and the Weathercloud KEY according to your home network and your Weathercloud account. You’re then ready to upload it to your arduino. You also need to upload the I2C rain sender code onto the arduino nano.

 

Weathercloud_final

 

I2C rain Sender

 

Installation

Picture of Instalation
Picture of Instalation
Picture of Instalation
Picture of Instalation
Picture of Instalation
Picture of Instalation
Picture of Instalation

Making your weather station work in your workshop is one thing, but making it work in the real-world harsh conditions is another. The installation procedure depends very much on the building you’re mounting your station on. But if you have the solar radiation shield and the top sensors holder it shouldn’t be so difficult. The temperature and humidity sensor can be placed really anywhere on the building, but the UV sensor and the rain gauge have to be on the top of the building. The UV sensor can’t be in shadow and the rain gauge can’t be near a wall otherwise when there’s strong wind the raindrops won’t fall into the gauge and the readings are going to be inaccurate. Here is a picture showing how you can mount the station on a typical house. You should be very careful when mounting a station on the roof and you should have a powerful drill that can drill through concrete.

 

Done

Picture of Done
Picture of Done
Picture of Done
Picture of Done
Picture of Done
Picture of Done

Congratulations. If you did all steps correctly, you have a fully operational cloud weather station. You can see the data from my station here. If you have some questions or suggestions, I would be happy to hear them in the comment section below.

 

Source: https://www.instructables.com/id/Arduino-Meteo-Station-With-Ethernet/

Tags: 201810, Ethernet Shield, W5100, Arduino, Weather