Difference between pages "Add-On Services" and "Home"

From meteoplug
(Difference between pages)
Jump to: navigation, search
(Twitter Upload)
 
 
Line 1: Line 1:
__NOTOC__
+
''Resellers in US ans Europe do offer Meteobridge solutions at very fair prices. Please checkout [[Where to Buy?]]''
Meteobridge provides some additional services, which might be interesting, when you also want to use received data with your own postprocessing IT. Live data can be derived in two ways. Meteobridge client can be asked by a HTTP request to return data (pull mode) or can send data as HTTP-GET requests with user-defined URL parameters to a user-defined Internet address (push mode).
+
  
==Pull Mode==
+
==What is "Meteobridge"?==
Web server of Meteobridge client, which presents web interface for adminstration to you, can also deliver weather data. There are two URLs defined that can be polled to get most recent sensor data in XML or plain text. Although we don't recommend this for security reasons, you can make that URLs accessible from the Internet by configuring your router appropriately. However, when you want to bring sensor data to one of your own servers in the Internet we recommend to make use of Meteobridge's push mode, which will not need you to open up your firewall.
+
Meteobridge is a small device that connects your personal weather station to public weather networks like "Weather Underground". This allows you to feed your micro climate data to a weather network in the Internet and to have it there visible from wherever you are. All you need is Internet access, to reach the weather networks's web pages, where you can inspect your current and historical data. By that you can also share your weather data with friends and you are actively participating in a large network of weather enthusiasts who also share their weather observations with you.
+
===Live Data as XML===
+
By sending the meteobridge a HTTP request like "http://ip-of-meteobridge/cgi-bin/livedataxml.cgi" (where "ip-of-meteobridge" must be replaced by the IP itself) meteobridge returns current weather data in XML notation. Each reply starts witch tag <logger> and ends with </logger> with the sensor data as records with sensor specific tags "THB", "TH", "WIND", "RAIN", "UV", "SOLAR". Example below illustrates the XML format:
+
  
<pre><logger>
+
Picture below shows how your weather station gets connected to Weather Underground with the help of Meteobridge, which bridges the gap between your weather station and your router.
  <THB date="20121227224318" id="thb0" temp="26.0" hum="37" dew="10.2"
+
      press="1008.8" seapress="1010.1" fc="2"/>
+
  <TH date="20130104141909" id="th0" temp="9.1" hum="95" dew="8.3"/>
+
  <RAIN date="20130104141856" id="rain0" rate="0.0" total="3.0" delta="0.0"/>
+
  <WIND date="20130104141916" id="wind0" dir="109" gust="0.9" wind="2.2" chill="9.1"/>
+
</logger></pre>
+
  
Each sensor data record has a mandatory "date" and "id" parameter. The other parameters are sensor specific. Meaning of parameters is:
+
[[File:syscontext.png]]
* '''date''': UTC timestamp of reception of sensor data in format "YYYYMMDDhhmmss"
+
* '''id''': Unique ID of sensor, consists of a sensor type description shortcut followed by a number, which is always "0" in Meteobridge, as additional sensors are not supported
+
* '''temp''': temperature in degrees Celsius (with one decimal)
+
* '''hum''': relative humidity in percent (no decimals)
+
* '''dew''': dew point temperature in degrees Celsius (with one decimal)
+
* '''press''': station pressure (without altitude correction) in hPa (with one decimal)
+
* '''seapress''': normalized pressure with altitude correction (also called sea level pressure) in hPa (with one decimal)
+
* '''fc''': stations forecast code, if provided. As this has low evidence and also largely varies between stations, meteobridge does not recommend to make use of this data.
+
* '''rate''': measured rain rate in mm per hour (with one decimal).
+
* '''total''': current value of rain bucket counter, converted to mm (with one decimal).
+
* '''delta''': additional rain fall in mm since previous readout of this data (with one decimal).
+
* '''wind''': current average wind speed im m/s (with one decimal).
+
* '''gust''': curent not avergaed wind speed in m/s (with one decimal).
+
* '''dir''': wind direction in degrees (0-359, no decimals).
+
* '''chill''': wind chill temperature in degrees Celsius (with one decimal).
+
* more to come...
+
  
===Live Data as Plain Text===
 
By sending the meteobridge a HTTP request like "http://ip-of-meteobridge/cgi-bin/livedata.cgi" (where "ip-of-meteobridge" must be replaced by the IP itself) meteobridge returns current weather data as plain text. Each reply consists of a series of lines, where each line represnets a sensor. Lines do start with a time stamp and a unique sensor id followed by sensor specific parameters. Example below illustrates the format:
 
  
<pre>20130104142614 thb0 26.9 38 11.4 1020.4 1021.7 2
+
When you like check how the web interface of Meteobridge device looks like, you are welcome to the cloud simulator service: [http://config.meteobridge.com www.meteobridge.com]
20130104142610 rain0 0.0 3.0 0.0
+
This is a Meteobridge ported into a cloud service to play with its web interface. Upload functions and data logging is not working here, also some system interactions (reboot, etc) are not implemented.
20130104142636 th0 9.1 95 8.3
+
Have fun setting up a Meteobridge before you even have one ;-)
20130104142652 wind0 160 2.2 1.8 8.0</pre>
+
  
==Push Mode==
+
==Why don't you take a regular PC for this?==
When you select expert mode at the bottom of "Upload Data" tab, you will see an additional entry that allows you to send sensor data to a user-defined server.  
+
Of course, instead of using a Meteobridge device, you can also connect your weather station to a PC and install SW there that uploads data to a weather network. Many people do that, but it demands you to
 +
* run a PC 24/7 which adds energy costs, heat and noise and beside cost is also an unpleasant waste of energy, which is not so nice, when you care about the environment
 +
* install and configure SW on the PC, setup is not something done in 5 minutes
 +
* take care of your pc really running undisturbed 24/7, which is normally not the case for an office-like PC
 +
To overcome these disadvantages of a PC solution, meteobrigde steps in by providing a very cost effective solution with unmatched low demand of energy (below 2 watts) and without generating noise or significant heat. As Meteobrige does not fulfill demands of true weather enthusiasts, who want all data stored locally and doing their own graphing of that, it is extremely simple to set up and will run completely hassle-free. Just install it in a few minutes and then totally forget about it. You will not find a smaller, easier to use upload device for Weather Underground.
  
===Twitter Upload===
+
==What makes Meteobridge special?==
Meteobridge allows you to send weather data snippets to your twitter account. As twitter requires a bit complicated authentication you will have to run through 6 steps.
+
The idea lined out above is very easy so you might ask, why hasn't something like that been created before. To make this idea work you need a cheap platform, powerfull enough to run such code plus a development environment to put the application code on top and you need application code that supports a lot of weather stations, to make it a solution suitable to a broad range of customer situations. Recently, these building blocks have come together:  
 
+
* small and cheap router devices from TP-LINK building the HW platform
<gallery perrow=1 widths=500 heigths=350>
+
* a stable OpenWrt Linux port for this hardware which supports LAN and WLAN
File:twitter0.png|1. Press "Request PIN" button.
+
* application software stack from smartbedded which is also used and tested with Meteoplug devices (www.meteoplug.com)
File:twitter2.png|2. An additional window will pop-up (please make sure your browser's pop-up blocker does not block it!) where twitter asks you to log-in to your twitter account.
+
Simply speaking, Meteobrige is bringing these building blocks together and focussing it to the specialized purpose to feed Internet weather networks with your weather station's data.
File:twitter2b.png|3. Please log-in and copy the pin that twitter does present to you.
+
File:twitter4.png|4. Switch back to Meteobridge page and Insert pin into input field next to "Activate PIN" button and press this button.
+
File:twitter3.png|5. Finally, insert message text that Meteobridge should tweet and set upload interval and retry count and press save to make these settings permanent. If Authentification with twitter does fail, you can start process with pressing "Request new PIN" from the start.
+
File:twitter5.png|6. To fill message text with weather data and/or a timestamp, you can make use of Meteobridge variables as explained in "Templates" section below. In the given example <font face="Courier">[hh]:[mm]h Outdoor temp: [th0temp-act=F.1:--]°F</font face> twitter upload looks like this.
+
</gallery>
+
 
+
===Individual HTTP Upload===
+
Data will be sent as HTTP GET requests with URL parmeters you can define to your liking. Parameters of a URL consist of name-value pairs seperated by '&'. You can define names yourself and can use a certain set of variables provided by Meteobridge to be used as values. Variable names will be automatically replaced by their current values, each time a HTTP request is sent. Please have a look at the example below.
+
 
+
 
+
[[file:http-upload.png]]
+
 
+
 
+
Upload schedule is defined to every 5 seconds. URL specifies server address, where to deliver data ("http://myserver.com/upload.php" in the example above). "Success Condition" allows to specify a matching string which is compared to to the return message from the server to decide if upload was successful or not.
+
 
+
Weather data is transported to the server by means of URL parameters. Meteobridge provides a large set of variables that can be used to feed URL parameters with current sensor data. Section "Templates" will explain how to use these variables to fill URL parameters with recent sensor data.
+
 
+
==Templates==
+
Meteobridge provides a very flexible mechanism to smuggle sensor data of different kinds into strings to be uploaded to a private Internet server or to a twitter account. Simply type in the text you want to upload and represent the pieces of sensor data by so called variables. When data gets uploaded, these variables will be replaced by current sensor data and so a string filled with the data you intended will be uploaded.
+
 
+
Each variable starts with an opening square bracket "[" and is terminated by a closing square bracket "]". The structure of the variable name between these brackets is as follows: <pre>sensor-selector=converter.decimals:replacement</pre>
+
"converter", "decimals" and "replacement" can be omitted, "sensor" and "type" are mandatory.
+
While "sensor" tells what sensor and what piece of information of the sensor to use, "selector" decides data from what time period should be taken into account and "converter" does convert data into measurement units the user likes most. "Decimals" decides about precision the result should be shown in and "replacement" gives the string to be returned when there is no data for defined sensor available.
+
 
+
====Sensors====
+
These sensors are defined in Meteobridge.
+
* '''th0temp''': outdoor temperature in degrees Celsius
+
* '''th0hum''': relative outdoor humidity as percentage
+
* '''th0dew''': outdoor dew point in degrees Celsius
+
* '''thb0temp''': indoor temperature in degrees Celsius
+
* '''thb0hum''': indoor humidity as percentage
+
* '''thb0dew''': indoor dewpoint in degrees Celsius
+
* '''thb0press''': station pressure in hPa
+
* '''thb0seapress''': normalized pressure (computed to sea level) in hPa
+
* '''wind0wind''': wind speed in m/s
+
* '''wind0avrwind''': average windspeed in m/s (time used for average depends on station)
+
* '''wind0dir''': wind direction in degress (0° is North)
+
* '''wind0chill''': wind chill temperature in degrees Celsius
+
* '''rain0rate''': rain rate in mm/h
+
* '''rain0total''': rain fall in mm
+
* '''uv0index''': uv index
+
* '''sol0rad''': solar radiation in W/m^2
+
If a sensor is not there or data of sensor has passed the "tolerated data age" interval, Meteobridge will not provide data for it and will present the value defined as "replacement". If no replacement is given, variable will not be converted into data but will stay as is.
+
 
+
====Selectors====
+
Sensors are followed by a selector (syntactically separated by a dash) that specifies what period in time should be used for evaluation. Valid selectors are:
+
* '''act''': most recent data
+
* '''hmin''': minimum value of this hour
+
* '''hmax''': maximum value of this hour
+
* '''dmin''': minimum value of today
+
* '''dmax''': maximum value of today
+
* '''mmin''': minimum value of this month
+
* '''mmax''': maximum value of this month
+
* '''hmin''': minimum value of this year
+
* '''hmax''': maximum value of this year
+
* '''hmin''': minimum value of all time
+
* '''hmax''': maximum value of all time
+
 
+
Apart from selectors that use absolute, predefined time slots there are also selectors that look for a certain amount of time into the past.
+
* '''max2''', '''max5''', '''max10''', '''max15''', '''max30''', '''max60''': selects the maximum value from the last 2, 5, 10, 15, 30 or 60 minutes
+
* '''min2''', '''min5''', '''min10''', '''min15''', '''min30''', '''min60''': selects the minimum value from the last 2, 5, 10, 15, 30 or 60 minutes
+
* '''avg2''', '''avg5''', '''avg10''', '''avg15''', '''avg30''', '''avg60''': selects average value from the last 2, 5, 10, 15, 30 or 60 minutes
+
* '''sum2''', '''sum5''', '''sum10''', '''sum15''', '''sum30''', '''sum60''', '''sumday''': selects summerized delta values from the last 2, 5, 10, 15, 30, 60 minutes or current day (useful to get amount of total rain in a certain time frame: "rain0total-sum60" is rainfall im mm of last 60 minutes, "rain0total-sumday" is todays rain fall)
+
 
+
====Converters====
+
Sensor data is reported in ISO units (°C, hPa, mm, m/s) by default, but can be converted into non-ISO units (imperial) by adding a conversion token. Defined tokens are:
+
* '''F''' converts temperature from Celsius to Fahrenheit.
+
* '''psi''' converts pressure from hPa (equivalent to mbar) to psi.
+
* '''mmHg''' converts pressure from hPa to millimeters of mercury.
+
* '''inHg''' converts pressure from hPa to inches of mercury.
+
* '''kmh''' converts wind speed from meters per second to kilometers per hour.
+
* '''mph''' converts wind speed from meters per second to miles per hour.
+
* '''kn''' converts wind speed from meters per second to knots.
+
* '''bft''' converts wind speed from meters per second to Beaufort scale.
+
* '''in''' converts millimeters to inches.
+
If an unknown conversion string is used, no conversion will take place, no error message will appear.
+
 
+
====Special Variables====
+
There are a couple of variables that don't come as "sensor-selector=converter" chains but have a distinct meaning by themselves.
+
 
+
Date und time variables are defined as follows:
+
* '''YYYY''': year as four digit number
+
* '''YY''': year as two digit number
+
* '''MM''': month as two digit number, if only one digit neede a zero will be used as first digit
+
* '''M''': month as one or two digit number, no leading zeros
+
* '''DD''': day of month as two digit number, if only one digit neede a zero will be used as first digit
+
* '''D''': day of month as one or two digit number, no leading zeros
+
* '''hh''': hour as two digit number, if only one digit neede a zero will be used as first digit
+
* '''h''': hour as one or two digit number, no leading zeros
+
* '''mm''': minute as two digit number, if only one digit neede a zero will be used as first digit
+
* '''m''': minute as one or two digit number, no leading zeros
+
* '''ss''': seconds as two digit number, if only one digit neede a zero will be used as first digit
+
* '''s''': seconds as one or two digit number, no leading zeros
+
When a capital "U" preceeds a date/time variable name, UTC is used instead of local time ("[Uhh]:[Umm]:[Uss] UTC" is evaluated to a string like "16:03:33 UTC")
+
 
+
====Decimals====
+
Unless otherwise defined numbers are reported with one decimal. By specifying a value for "decimals" you can determine resolution of presented values.
+
 
+
====Replacement====
+
When a variable is not defined or there is no data for a specified sensor, information specified as "replacement" string will be represented instead.
+

Revision as of 23:10, 19 February 2013

Resellers in US ans Europe do offer Meteobridge solutions at very fair prices. Please checkout Where to Buy?

What is "Meteobridge"?

Meteobridge is a small device that connects your personal weather station to public weather networks like "Weather Underground". This allows you to feed your micro climate data to a weather network in the Internet and to have it there visible from wherever you are. All you need is Internet access, to reach the weather networks's web pages, where you can inspect your current and historical data. By that you can also share your weather data with friends and you are actively participating in a large network of weather enthusiasts who also share their weather observations with you.

Picture below shows how your weather station gets connected to Weather Underground with the help of Meteobridge, which bridges the gap between your weather station and your router.

Syscontext.png


When you like check how the web interface of Meteobridge device looks like, you are welcome to the cloud simulator service: www.meteobridge.com This is a Meteobridge ported into a cloud service to play with its web interface. Upload functions and data logging is not working here, also some system interactions (reboot, etc) are not implemented. Have fun setting up a Meteobridge before you even have one ;-)

Why don't you take a regular PC for this?

Of course, instead of using a Meteobridge device, you can also connect your weather station to a PC and install SW there that uploads data to a weather network. Many people do that, but it demands you to

  • run a PC 24/7 which adds energy costs, heat and noise and beside cost is also an unpleasant waste of energy, which is not so nice, when you care about the environment
  • install and configure SW on the PC, setup is not something done in 5 minutes
  • take care of your pc really running undisturbed 24/7, which is normally not the case for an office-like PC

To overcome these disadvantages of a PC solution, meteobrigde steps in by providing a very cost effective solution with unmatched low demand of energy (below 2 watts) and without generating noise or significant heat. As Meteobrige does not fulfill demands of true weather enthusiasts, who want all data stored locally and doing their own graphing of that, it is extremely simple to set up and will run completely hassle-free. Just install it in a few minutes and then totally forget about it. You will not find a smaller, easier to use upload device for Weather Underground.

What makes Meteobridge special?

The idea lined out above is very easy so you might ask, why hasn't something like that been created before. To make this idea work you need a cheap platform, powerfull enough to run such code plus a development environment to put the application code on top and you need application code that supports a lot of weather stations, to make it a solution suitable to a broad range of customer situations. Recently, these building blocks have come together:

  • small and cheap router devices from TP-LINK building the HW platform
  • a stable OpenWrt Linux port for this hardware which supports LAN and WLAN
  • application software stack from smartbedded which is also used and tested with Meteoplug devices (www.meteoplug.com)

Simply speaking, Meteobrige is bringing these building blocks together and focussing it to the specialized purpose to feed Internet weather networks with your weather station's data.