The WXN weather server is comprised of six different components. By breaking down the functions into different service areas, maximum flexibility is achieved. This section provides an overview of the architecture. Individual sections follow describing each part in more detail.
Note that there is no client in the suite of applications. This is by design, and allows maximum flexibility in accessing the data. This is made possible by using a SQL based database to store the information. Therefore, the heart of the server's architecture is the PostgreSQL relational database. Using this approach, the data can be retrieved and formatted in any way the client wishes.
A block diagram of the system is shown below:
Descriptions of the components are given below:
PostgreSQL | Collects data from weather station and 1-Wire sensor interfaces and writes to SQL backend. PostgreSQL is a relational database that supports transactions. What this means that if an update is in progress, you won't get half old-data and half-new (as of this writing, MySQL doesn't do that). The RDB has received numerous awards in the Linux community and is well supported. |
AX.25 | The AX.25 interface built into the kernel is used to access the APRS channel. To the application and OS, this appears as a normal network connection. |
wxnhostd | Collects data from weather station and 1-Wire devices and writes to the SQL backend. The server also supports the Peet Brothers 'Weather Picture' on a dedicated serial port. Logging is supported. |
wxnaprd | Responsible for transmitting data collected by wxnhostd over the air using the APRS protocol. Also collects and writes any weather station heard over APRS to the SQL backend. |
wxnqueryd | Allows querying the database over radio using the APRS messaging protocol using a simple two-letter command codes. Full range of data stored is available. Help is built into the system. Supports voice synthesizers in Kenwood radios. |
wxnsamed | Connected to a NWR receiver equipped with a SAME decoder, logs and broadcasts NWS watches and warnings (still under development). |