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

From meteoplug
(Difference between pages)
Jump to: navigation, search
(Created page with "<br><font color=red>''Resellers in US and Europe do offer fully licensed Meteobridge solutions "ready-to-go". Please checkout Where to Buy?''</font>")
 
 
Line 1: Line 1:
<languages /><span class="mw-translate-fuzzy">
+
__NOTOC__
<br><font color=red>''Resellers in US and Europe do offer fully licensed Meteobridge solutions "ready-to-go". Please checkout [[Where to Buy?]]''</font>
+
<languages /><translate>
</span>
+
<br />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 Services]], which will not need you to open up your firewall.
 +
 +
===Live Data as XML=== <!--T:1-->
 +
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:
  
==Was ist "Meteobridge"?==
+
<!--T:2-->
Meteoridge ist ein miniaturisertes Gerät, das eine lokalen Wetterstation mit öffentlichen Wetternetzwerken wie "Weather Underground" verbindet. Dies ermöglicht die Wetterdaten des eigenen Gartens im Internet stets sichtibar zu haben, egal wo man sich grad auf der Welt befindet. Alles was man benötigt ist ein Internetzugang and kann dann im Wetternetzwerk die eigenen aktuell und in der Vergangenheit eingespeisten Daten betrachten und trägt mit den anderen Usern des Wetternetzwerkes zu eine flächendeckenden Bereitstellung von Wetterdaten im Sinne einer Wetterdaten-Community bei.
+
<pre><logger>
 +
  <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>
  
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.
+
<!--T:3-->
 +
Each sensor data record has a mandatory "date" and "id" parameter. The other parameters are sensor specific. Meaning of parameters is:
 +
* '''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...
  
[[File:syscontext.png]]
+
===Live Data as Plain Text=== <!--T:4-->
 +
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:
  
 +
<!--T:5-->
 +
<pre>20130104142614 thb0 26.9 38 11.4 1020.4 1021.7 2
 +
20130104142610 rain0 0.0 3.0 0.0
 +
20130104142636 th0 9.1 95 8.3
 +
20130104142652 wind0 160 2.2 1.8 8.0</pre>
 +
</translate>
  
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]
+
===Data via Socket Connection===
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.
+
Methods introduced above do need HTTP authentification like all elements of Meteobridge web interface. A look at the script "livedataxml.cgi" shows that this just reads data from socket 5557, gives it a suitable HTTP header and returns that to the requesting browser:
Have fun setting up a Meteobridge before you even have one ;-)
+
  
==Why don't you take a regular PC for this?==
+
<pre>#!/bin/sh
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
+
echo -ne "Content-type: text/xml; charset=UTF-8\n\n"
* 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
+
nc 127.0.0.1 5557 2>/dev/null
* install and configure SW on the PC, setup is not something done in 5 minutes
+
</pre>
* 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?==
+
Therefore, reading data from socket 5557 is equivalent to calling "livedataxml.cgi" and socket 5556 reports same data as delivered by "livedata.cgi".
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.
+

Revision as of 08:53, 20 April 2013


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 Services, which will not need you to open up your firewall.

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:

<logger>
  <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>

Each sensor data record has a mandatory "date" and "id" parameter. The other parameters are sensor specific. Meaning of parameters is:

  • 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:

20130104142614 thb0 26.9 38 11.4 1020.4 1021.7 2
20130104142610 rain0 0.0 3.0 0.0
20130104142636 th0 9.1 95 8.3
20130104142652 wind0 160 2.2 1.8 8.0

Data via Socket Connection

Methods introduced above do need HTTP authentification like all elements of Meteobridge web interface. A look at the script "livedataxml.cgi" shows that this just reads data from socket 5557, gives it a suitable HTTP header and returns that to the requesting browser:

#!/bin/sh
echo -ne "Content-type: text/xml; charset=UTF-8\n\n"
nc 127.0.0.1 5557 2>/dev/null

Therefore, reading data from socket 5557 is equivalent to calling "livedataxml.cgi" and socket 5556 reports same data as delivered by "livedata.cgi".