Weather stations

How to connect your weather station to OpenWeatherMap

We are glad to invite you to join our network of private weather stations! Today we have more than 40,000 weather stations around the world. You can connect your weather station to OpenWeatherMap and get a convenient interface for gathering and monitoring data from your weather station. You can also embed your weather station data into your home page.

Three simple steps to connect your weather station

1 Create an account on our registration page

2 Connect your weather station to our API using weather station data transmission protocol

3 Sign into your personal page

to access your data

Weather station data transmission protocol

  • This protocol is used to transmit one measurement from your weather station.
  • The data is transmitted by HTTP POST request using HTTP basic authentication.
  • The server address is http://openweathermap.org/data/post

The following parameters can be transmitted in POST:

ParameterUnitDescription
wind_dirDegreesWind direction
wind_speedm/sWind speed
wind_gustm/sWind gust speed
temp°CTemperature
humidityRH %Relative humidity
pressureAtmospheric pressure
rain_1hmmRain in the last hour
rain_24hmmRain in the last 24 hours
rain_todaymmRain since midnight
snowmmSnow in the last 24 hours
lumW/m²Brightness
latDecimal degreesLatitude
longDecimal degreesLongitude
altmAltitude
radiationRadiation
dewpoint°CDew point
uvUV index
nameStringWeather station name

Software for working with weather stations

pywws

https://code.google.com/p/pywws/

A collection of Python scripts to read, store and process data from popular USB wireless weather stations such as Elecsa AstroTouch 6975, Watson W-8681, WH-1080PC, WH1080, WH1081, WH3080 etc. The software has been developed to run in a low power, low memory environment such as a router. It can be used to create graphs and web pages showing recent weather readings, typically updated every hour. It can also send data to OpenWeatherMap, post messages to Twitter, etc.

Example config file weather.ini for pywws

.... [openweathermap] 
user = USERNAME 
password = YOUPASSWORD 
lat = 10.56 
long = 10.23 
alt = 250 
.... 
[live] 
services = ['openweathermap'] 
... 

[logged] 
services = ['openweathermap'] 
... 

[hourly] 
services = ['openweathermap'] 
...

To start:

python LiveLog.py -vvv ./data/

More about configuration of this software http://pywws.googlecode.com/svn/trunk/doc/html/api/pywws.toservice.html


wview

http://www.wviewweather.com/

wview is a collection of linux/unix daemons that interface with a supported weather station to retrieve current conditions and archive records (if generated by the station). If the station does not generate archive records internally, wview will auto-generate archive records based on the sensor readings collected for that interval. The archive records and High/Low (HILOW) data are stored in SQLite3 databases. At a configurable interval, wview will utilize the archive history and current conditions to generate weather images (buckets, dials and graphs) and HTML web pages based on user-configurable HTML templates. XML, PHP, Perl, Python, etc. template files can also be defined using wview meta-tags which will be replaced with current values when generated by wview.


pure shell

curl -d 'temp=20&lat=49.11&long=24.11&alt=200' --user 'username:****' http://openweathermap.org/data/post

OpenWeatherMap weather station prototype

OpenWeatherMap simple GSM-based autonomous sensor


DIY weather station projects

Arduino based:


Network of 40,000 weather stations in real time

Our service recieves data from more than 40,000 weather stations transmitting raw weather conditions directly. This real-time map with weather station data and OpenWeatherMap calculated data demonstrates use of weather station network data. http://openweathermap.org/stationmap