Data String Composition - crestlinesoaring/ArduinoWeatherStation GitHub Wiki
Composition of the MWX data string (WeatherString) values.
The WeatherString consists of time&date and weather data and other telemetric info.
It is held similar to the club's existing Davis WX, to ease interfacing.
The WeatherString is assembled each minute and stored/sent to the host.
Notes:
Values are comma separated.
italic means not implemented (yet)
"X" means capital character
"y" means small character
"123" means three digits
This line is used for the examples below:
15:45,1/6/2019,13.0,18,225,,,,,M,21s,,8.27,100,0221,13.6,-018,13.33,27:26,,1,-1732
.
.
Pos | Function | Pattern | Unit | Example |
---|---|---|---|---|
1 | Time | 12:34 | hour:minute | 15:45 |
2 | Date | 1/6/2019 | month/day/year | 1/6/2019 |
3 | Wind speed | 12.3 | mph | 13.0 |
4 | Wind speed max over 5 minute gust | 12 | mph | 18 |
5 | Wind direction | 360 | degrees | 225 |
6 | Outside temperature | 123 | F | |
7 | Outside humidity | 123 | %RH | |
8 | Spare (Outside barometric pressure) | 12345 | hPa | |
9 | Status (MWX power, enviromental and communication state) | 1 | 0 | 0=no solar |
10 | Location string (M for Marshall, L for Lance, S for Said, D for DJ) | X | M | |
11 | Software version string | 12y | 21s | |
12 | Hardware version string | X | wxHWVersion | |
13 | Inside temperature | 12.34 | C | 8.27 |
14 | Inside humidity | 123 | %RH | 100 |
15 | Solar Panel Current | 1234 | mA | 0221 |
16 | Solar Panel Voltage | 12.3 | V | 13.6 |
17 | Battery Current | 1234 or -1234 | mA | -018 |
18 | Battery Voltage | 12.34 | V | 13.33 |
19 | run time | 12:34:56 | hour:min:sec | 27:26 |
20 | Powered Units | USNB | Initial of units | see #20 below |
The rest of the line is used for flags and error checking and future extensions.
// 20: Powered Peripherals, U=Ubiquiti link, S=SouthCam, N=NorthCam, B=BBoxCam
// 21: print weather direction string to make it easy to read which direction the wind is blowing.
// 22-24: Boot, Sleep, and Watchdog counters
// 22+: Assorted info and error values
// add socket status as 8 hex chars
// if (pauseSolarChargeCurrent)...
// If there have been failures, tack them on:
// if (ethConnFails)....
// if (ethTimeouts)....
// if (ethLastFailureCode)....
// Watchdog (year/month/day@hour:minute)
// Tack on a ",R" if we've rebooted to make it easier to spot them