I have installed emoncms to try it as alternative to my own data visualization software. It is quite nice piece of software and is open source.
I then wanted to gather weather data but lack the hardware to measure humidity, air pressure, dew point temperature, wind speed and so forth. The weather data added over power consumption via a multigraph reveals quite interesting tendencies, worth giving a try.
My solution was to create an “Stratus Developer” free API key for weather underground and then a small PHP script to collect the data and post to emoncms. You get 500 queries a day so you can afford running the script 20 times an hour or every three minutes, just set up a cron job to do it for you.
Here is my code:
<html> <?php //http://www.wunderground.com/weather/api/d/documentation.html //Change the weather underground API and city below $json_string = file_get_contents("http://api.wunderground.com/api/****API***/geolookup/conditions/q/***MY CITY NAME****.json"); $parsed_json = json_decode($json_string); $location = $parsed_json->{'location'}->{'city'}; $temp_c = $parsed_json->{'current_observation'}->{'temp_c'}; $relative_humidity = $parsed_json->{'current_observation'}->{'relative_humidity'}; $pressure_mb = $parsed_json->{'current_observation'}->{'pressure_mb'}; $wind_kph = $parsed_json->{'current_observation'}->{'wind_kph'}; echo "Current temperature in ${location} is: ${temp_c}"; echo "Current relative humidity in ${location} is: ${relative_humidity}"; echo "Current pressure in ${location} is: ${pressure_mb}"; echo "Current wind speed in ${location} is: ${wind_kph}"; //Change the URL and EmonCMS API below $url = 'http://***********/emoncms3/api/post?apikey=***EMONCMS_API*****&json={humidity:' . $relative_humidity . ',pressure:' . $pressure_mb . ',wind:' . $wind_kph . ',temp:' . $temp_c .'}'; echo $url; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contents = curl_exec ($ch); curl_close ($ch); ?> </html>
Pingback: What is this all about? | Martin's corner on the web
Pingback: Using my 1.8 TFT as a Raspberry Pi status display | Martin's corner on the web
Hello,
I try yours php script and the script works very well, but I have some problem to create a Graph (like yours) with emoncms can you help me ?
Please let me know
Regards
Francesco.
Hi,
what kind of problem? I used Multigraph, pretty straight forward to set.
Pingback: 3D printed Stevenson screen | Martin's corner on the web
Pingback: Martin's corner on the web
Pingback: MQTT topic tree structure improvements | Martin's corner on the web