
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
The PHP component works equally well on a dedicated Linux server or a shared WordPress hosting plan. Many station operators run it alongside an existing WordPress installation, hosting the generated weather pages in a subdirectory while WordPress manages the rest of the site. See the WordPress station publishing guide for directory layout, caching configuration, and FTP settings specific to shared WordPress hosting environments.
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.