IZ8MBW Fabio

Amateur Radio Station in Napoli - Italy
ITU Zone: 28 - CQ Zone: 15 - Locator: JN70ct

Weather Station realized with Raspberry Pi located in Napoli, ITALY

Weather conditions are updated every 60 seconds

External actual conditions
Temperature: 31.8 °C (89.24 °F)
Humidity: 59.3%
Heat Index: 36.4 °C (97.54 °F)

Internal actual conditions
Temperature: 29.4 °C (84.92 °F)
Humidity: 63.3%
Heat Index: 32.3 °C (90.16 °F)
Bedroom Temperature: 27.9 °C (82.22 °F)

Actual Barometric Pressure (normalized to sea level): 1012.5 hPa

Weather Station Informations

The weather station is realized with high accuracy digital sensors connected directly to the Raspberry Pi microcomputer.
Raspberry Pi has a GPIO (General Purpose Input Output) port where the sensors are connected on.
The internal sensors are in the same room of the Raspberry Pi, the external sensors are out to my terrace connected via a Category 6 Ethernet cable which has a length of 15 meters. Another only temperature sensor is in the bedroom connected via a 10 meters twisted pair.
Based on my experience with the Raspberry Pi I have tested various sensors from various brands: Sensirion SHT71, Texas Instruments TMP275, Maxim DS18B20, Maxim DS7505, Maxim MAX31826, Texas Instruments LM92, Analog Devices ADT7410, Aosong DHT22 and Bosch Sensortec BMP085.
The sensors use various digital protocols, such as I²C (also known as I2C), 1-Wire, Sbus, etc.
The values from sensors are acquired every 60 seconds from made by me shell scripts (with errors control) that writes into text files the information and are published in this website with a PHP page.

External Temperature -> Texas Instruments TMP275 - I²C
Internal Temperature -> Texas Instruments TMP275 - I²C
Bedroom Temperature -> Maxim MAX31826 - 1-Wire in Parasite Power configuration
External Humidity -> Sensirion SHT71 - Sbus
Internal Humidity -> Aosong DHT22 (aka AM2302)
Atmospheric Pressure -> Bosch Sensortec BMP085 - I²C

Which sensors to use?
The reason I chose the TMP275 and MAX31826 as temperature sensors and the Sensirion SHT71 as humidity sensor is due to them really high precision!
See the TMP275 error vs temperature.
See the MAX31826 error vs temperature.
As you can see, the temperature error is always less than ±0.2 °C!!
See the SHT71 error vs humidity.
As you can see, the humidity error is always less than ±3.0%! Only the SHT75 is more precise but it's much expensive.
To understand how to configure Raspberry Pi to connect an I²C chip see the I²C page, for a 1-Wire chip see the 1-Wire page.

All the sensors values are stored into a database made with RRDtool (round-robin database tool), this database preserve the average data in three method:
1. For 24 hours: data every 5 minutes
2. For one week: data every 15 minutes
3. For one month: data every 1 hour
4. For one year: data every 6 hours
A shell script update the database with the updated sensors values every 5 minutes and export the data into XML file.

My idea was to publish the sensors values into interactive charts with data history, so I chose to use Highcharts. Highcharts is a charting library written in HTML5 and JavaScript. Charts represent all the data: temperature, humidity and pressure and they are published with PHP and JavaScript pages, divided in: one day, one week, one month and one year.
You can see the charts by browsing in the navigation bar at top of the page. Charts are tested on Google Chrome, Mozilla Firefox and Microsoft Internet Explorer.
The sensors values are published also on Xively website (ex Cosm) here, the update here is every 10 minutes.
For more informations you can contact me via email at iz8mbw ]at[ gmail.com. Enjoy!
Fabio Ancona, IZ8MBW

I don't ask for money for any guides and info provided, but if you want you can offer to me a beer. Thanks!