
GraphWeather
A weather-station publishing application for operators who want reliable, automated web output from their console data.
- What GraphWeather does and what problems it solves
- Desktop (C++) vs web (PHP) application differences
- Plugin architecture for sensor editors and data exports
- Template variable system for custom HTML output
- How to connect your station console to GraphWeather
What GraphWeather Solves
Most weather stations ship with basic software that can display readings on a local screen or log data to a CSV file. The gap between “data on my desk” and “data on a web page that updates every five minutes” is where GraphWeather fits in. It reads station console output, processes the readings into a structured format, applies template variables, generates graphs and tables, and publishes the result to a web server via FTP or local file copy.
If you have ever stared at a weather station console and thought “I wish I could see this on my phone from work,” that is precisely the problem GraphWeather was designed to address. The application handles the plumbing: serial or USB data capture, unit conversions, graph rendering, HTML templating, and scheduled uploads.
Desktop Application (C++)
The C++ desktop application runs on Windows and provides a GUI for configuring data sources, selecting which variables to publish, designing page templates, and setting upload intervals. Key capabilities include:
- Multi-station support — connect multiple consoles and aggregate readings
- Plugin system — extend functionality with sensor editors (eWS2300, eWS3600, WMR series), data export modules, and custom graph renderers
- Template engine — HTML templates with variable substitution for temperature, humidity, pressure, wind speed, rainfall, and computed values like dew point and wind chill
- Scheduled publishing — configurable intervals from 1 minute to 24 hours, with retry logic for failed uploads
- Graph generation — 24-hour, 48-hour, weekly, and monthly graphs as PNG images embedded into published pages
Web Application (PHP)
The PHP component provides server-side tools for stations that prefer to push data to a web server and let the server handle rendering. This approach works well for operators running Linux-based stations or those who want to avoid running a Windows desktop application continuously. The PHP tools include:
- Data ingestion endpoints that accept CSV or XML uploads from station software
- Server-side graph generation using GD or ImageMagick
- Statistics aggregation (daily, monthly, yearly summaries)
- RSS feed generation for current conditions
Choosing Between Desktop and Web
Getting Started
The fastest path to a working station page depends on your setup. If you have a Windows machine connected to your station, the desktop application is typically the quickest route. Install, point it at your COM port or USB device, select a template, configure FTP credentials, and you can have a live page within an hour.
For server-side deployments, start with the PHP ingestion endpoint, configure your station software to push data via FTP or HTTP POST, and set up a cron job to regenerate graphs at your preferred interval.
Either way, the Publishing Fundamentals guide covers the common ground: FTP configuration, template variables, caching strategies, and troubleshooting upload failures.